有组织点云的水密表面重建算法

时间:2012-04-12 12:21:37

标签: algorithm 3d polygon point-clouds

我有一个3D笛卡尔立方体。对于此立方体中的每个点,都有相应的密度值。当密度突然变化时,意味着存在空腔。现在找到空腔,我计算立方体中每个点的梯度。这给了我一个腔表面上的点云。我现在想在给定点云的情况下对腔体表面进行网格划分。

不幸的是,我没有表面重建的经验,并且想知道是否有人可以推荐合适的算法来产生空腔的封闭表面?

立方体非常大,因此腔体表面的点云可以很容易地达到500,000点或更多。我看过这篇文章:robust algorithm for surface reconstruction from 3D point cloud?我发现它很有用。然而,鉴于以下情况,我面临的问题似乎更简单:

  1. 点的坐标始终为整数
  2. 点数分布均匀
  3. 从一个点到最近邻居的距离为1,sqrt(2)或sqrt(3)

2 个答案:

答案 0 :(得分:3)

您可能需要marching cubes算法。

答案 1 :(得分:2)

Marching Cubes算法将完全符合您的要求。对于一个有效的实现(使用Three.js渲染图形),请查看:

http://stemkoski.github.com/Three.js/Marching-Cubes.html

关于理论的更多细节,我认为最好的文章是网站:

http://paulbourke.net/geometry/polygonise/