Sum*_*Sun 5 algorithm graphics geometry mesh
我正在使用泊松曲面重建算法从点重建三角网格曲面。然而,泊松总是会生成一个无懈可击的表面,它通过插值填充所有孔。
对于一些由于数据丢失而导致的小孔,这种孔填充是可取的。但对于一些大孔,我不想填充孔,只希望表面保持开放。
上图展示了我的想法,左边是法线的点集,右边是重建的曲面。我希望该表面的顶部保持开放,而不是当前的水密结果。
谁能给我一些建议,如何在泊松曲面重建中保留这些大洞?或者有其他算法可以解决这个问题吗?
PS 根据这个问题的公认答案,我理解表面重建算法可以分为显式重建算法和隐式重建算法。泊松是隐式的,显式的自然可以处理大洞问题。但由于我拥有的点数据大多稀疏且嘈杂,因此我更喜欢像泊松这样的隐式数据。
您的屏幕截图看起来您可能正在使用 MeshLab 的实现,该实现基于旧的实现。此实现无法修剪表面。
然而,最新的实现包含 SurfaceTrimmer,它完全可以满足您的需求。查看页面底部的示例以了解如何使用它。
要使用SurfaceTrimmer程序,您必须首先使用SSDRecon程序重建网格表面--density,然后设置修剪值将精确删除特定阈值以下的面。
以下是该程序在演示eagle数据上的示例用法
./SSDRecon --in eagle.points.ply --out eagle.screened.color.ply --depth 10 --density
./SurfaceTrimmer --in eagle.screened.color.ply --out eagle.screened.color.trimmed.ply --trim 7
Run Code Online (Sandbox Code Playgroud)