我有一个3D笛卡尔立方体。对于此立方体中的每个点,都有相应的密度值。当密度突然变化时,意味着存在空腔。现在找到空腔,我计算立方体中每个点的梯度。这给了我一个腔表面上的点云。我现在想在给定点云的情况下对腔体表面进行网格划分。
不幸的是,我没有表面重建的经验,并且想知道是否有人可以推荐合适的算法来产生空腔的封闭表面?
立方体非常大,因此腔体表面的点云可以很容易地达到500,000点或更多。我看过这篇文章:robust algorithm for surface reconstruction from 3D point cloud?我发现它很有用。然而,鉴于以下情况,我面临的问题似乎更简单:
答案 0 :(得分:3)
您可能需要marching cubes算法。
答案 1 :(得分:2)
Marching Cubes算法将完全符合您的要求。对于一个有效的实现(使用Three.js渲染图形),请查看:
http://stemkoski.github.com/Three.js/Marching-Cubes.html
关于理论的更多细节,我认为最好的文章是网站: