嗨,我目前在一个项目中工作,我们必须结合多个3d对象。例如,将它们放在一起,有时它们也会相交。
我正在寻找一种算法/库或任何想法,可以将这个新合并的对象减少到只包含外部面。(我们的3d对象当前是.stl文件,但我们没有绑定到此格式)
我们已经尝试使用numpy-stl来组合这些对象,但是这个库似乎没有任何优化来帮助解决这个问题。我们也尝试使用来自pymesh的布尔合并,但这需要非常多的时间来处理细节对象。
我们希望释放对象内部的所有信息,只保留外部的信息。例如,如果你想把这个组合的3d物体放入水中,我们只想要被水接触的脸。
我们更喜欢python,但是任何可以用python实现的算法都会让我们进步。
我们感谢您的每一个回答:)
发布于 2020-04-14 22:42:49
LibIGL似乎有Python绑定。我建议对每个面的环境遮挡进行阈值处理。例如,可以删除遮挡值大于0.8的所有面
https://libigl.github.io/libigl-python-bindings/igl_docs/#ambient_occlusion
此函数的输入是顶点、索引到顶点的小平面、小平面质心的位置以及每个小平面的法线。输出是每个面的环境光遮挡,它是一个介于0和1之间的值。值0表示面完全可见,值1表示面完全阴影。
https://stackoverflow.com/questions/61049640
复制相似问题