gpt4 book ai didi

java - 如何知道一个点是否在复杂的 3D 形状内(.ply 文件)

转载 作者:搜寻专家 更新时间:2023-11-01 03:53:44 25 4
gpt4 key购买 nike

我正在做一个 Java 项目,这让我很受不了。经过几天在不同论坛的研究,寻找我真正需要的东西,我来请求你的帮助。

我的数据:

  • 一个 .ply 文件(包含由许多三角形组成的 3D 形状)
  • 一个点(3D坐标)

我想知道这个点是否包含在复杂的 3D 形状中。

我把这个问题分成了两个小问题:

  • 我如何在内存中表示复杂的 3D 形状? (我找到了几个库,但对于我想完成的任务来说它似乎真的很复杂:Java3D、JBullet、 JME3...) 我现在不想让我的 Java 应用程序显示该对象。

  • 我怎么知道这个点是否在 3D 形状内? (我想从这个点开始制作一个 3D vector 并计算交叉点的数量有了形状,但我不知道该怎么做,我可以使用女巫库吗?)

也许有更简单的方法,这也是我来找你的原因。我现在真的被困住了,我想如果不编写海关库就可以做到这一点......

(对不起我的写作,我不是英语^^)

谢谢你帮助我。

最佳答案

这是一种方法。不是最好的或最快的,但一旦你有一些工作,就会更容易改进。

How can I represent the complex 3D shape in memory?

实现一个快速而肮脏的 PLY 文件格式解析器。这是 PLY format spec .加载数据并将其存储在内部:每个 X、Y 和 Z 的数组。这只是普通的 Java。

How can I know if this point is inside the 3D shape or not?

根据您的点和其他任意点定义一条线。对于每个多边形,确定它与平面相交的位置 (some help) 以及交点是在多边形内部还是外部 (some help)。正如您所建议的,然后计算交叉点的数量以确定该点是在您的 3d 形状内部还是外部。

关于java - 如何知道一个点是否在复杂的 3D 形状内(.ply 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15786382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com