合并两个三维对象时删除内部信息

2024-05-21 09:02:40 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我目前正在做一个项目,我们必须组合多个3d对象。例如,把它们放在一起,有时它们也相交

我正在寻找一个算法/库或任何想法,可以将这个新的合并对象简化为只包含外部面。(我们的3d对象目前是.stl文件,但我们不受此格式的约束)

我们已经尝试将这些对象与numpy stl相结合,但是这个库似乎没有任何优化来解决这个问题。我们还尝试使用pymesh中的布尔合并,但这需要花很多时间处理详细的对象

我们希望释放对象内部的所有信息,只保留对象外部的信息。例如,如果你把这个组合的3d物体放在水中,我们只想要被水接触的面

我们更喜欢python,但任何可以用python实现的算法都会让我们前进

我们感谢每一个答案:)


Tags: 文件项目对象答案numpy算法信息格式
1条回答
网友
1楼 · 发布于 2024-05-21 09:02:40

LibIGL似乎有Python绑定。我建议对每个面的环境遮挡设置阈值。例如,可以删除遮挡值大于0.8的所有面

https://libigl.github.io/libigl-python-bindings/igl_docs/#ambient_occlusion

此函数的输入包括顶点、顶点的刻面索引、刻面质心的位置以及每个刻面的法线。输出是每个面的环境光遮挡,该值介于0和1之间。值为0表示镶嵌面完全可见,值为1表示镶嵌面完全被遮挡

相关问题 更多 >