我需要移除一些封闭的三角形网格内的隐藏面。我已经找到了使用MeshLab的方法,但有两个问题:1)文章说在某些情况下可能会失败(你可以在哪些情况下成像?)和2)我想以编程方式进行(你知道任何现有的实现吗?)。我甚至不知道这种简化过滤器的名称。
我真的很感激任何提示。
答案 0 :(得分:2)
最明显(但几乎肯定不是最有效的)算法如下:
答案 1 :(得分:0)
你要做的是一劳永逸地删除几何图形中的面孔。
如果你只想从1个方向看物体,罗马人解决方案是可以接受的。 由于不可见表面可能会变得可见,因此如果您旋转相机,则不是可接受的解决方案。
使用floodfill可以使用多维数组,但它是否也适用于3D Koordinates?因为表面不总是(int)并且具有除(1,0,0),(0,1,0)(0,0,1)之外的其他倾斜度,在我看来,这种方法也不起作用。
算法失败的情况: 计算的遮挡值告诉您表面的顶点是否在对象内。但是:尽管所有顶点都在对象内部,但表面的一部分仍可能显示。 考虑一下:你有三个提升的对象,每个对象都包含一个顶点。虽然顶点未显示,但它们之间的表面部分可见。
我的myselve无法帮助你,因为我也在寻找能够做到这一点的算法。
招呼