首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过计算确定一个点是在3D模型的内部还是外部

如何通过计算确定一个点是在3D模型的内部还是外部
EN

Stack Overflow用户
提问于 2020-08-24 16:07:25
回答 2查看 325关注 0票数 0

我有一个3D模型的.obj和.ply文件。

我想要做的是读取这个3D模型文件,看看3D坐标列表是在3D模型空间的内部还是外部。例如,如果三维模型是半径为1的球体,则(0,0,0)将位于(True)内部,(2,0,0)将位于外部(False)。当然,我使用的3D模型并不像球体那么简单。

我想添加一些我考虑使用的方法。由于我使用的是Python,所以我考虑使用PyMesh,因为它们的交集特性看起来很有前途。然而,我所拥有的坐标列表不是网格文件,而仅仅是向量,因此它似乎不是适合使用的函数。

我还发现了使用光线投射的this方法。但是,如何使用PyMesh或任何其他Python工具来实现这一点是我需要建议的。

EN

回答 2

Stack Overflow用户

发布于 2020-08-25 13:57:56

从3D点沿X轴投射光线,并检查您找到的与外部对象的交点有多少。

根据每个轴上的交点编号(偶数或奇数),您可以了解您的点是在内部还是外部。

您可能希望在Y轴和Z轴上重复以改善结果(有时光线与平面重合,相交编号不可靠)。

票数 0
EN

Stack Overflow用户

发布于 2020-08-26 16:08:48

将我的评论转换为对未来读者的回答。

可以使用凸面外壳库检查某个点是否位于外壳线内。大多数库使用signed distance function来确定点是否在内部。trimesh是实现此功能的库之一。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63557043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档