从点云生成三角形网格的算法

时间:2011-10-24 17:03:11

标签: algorithm geometry point mesh

在某些模拟程序中,我们根据点生成物体表面,每个点都有3D坐标,矢量代表该点表面的法线。出于可视化目的,我们希望生成由三角形组成的网格;每三个关闭点形成一个正常的三角形。然后我们可以将这些信息发送到一些标准的可视化程序,这些程序可以像VMD(Visual Molecular Dynamics)一样呈现表面。

我们想知道哪个是最快/可用的算法。

3 个答案:

答案 0 :(得分:14)

看一下Jonathan Shewchuk的工作,尤其是他(与他的同事一起)的着名论文和实施:

点云库(PCL)中也实现了未分类点云的快速实施。在Fast triangulation of unordered point clouds上查看他们的演示文稿。

答案 1 :(得分:11)

请注意,Delaunay三角测量可能不适合您的应用,因为Delaunay三角测量不适合真正的3D问题(即R3中的点分布均匀)。它们更适合2D流形问题(即地形等)。

要在R3中生成曲面,请查看Hugues Hoppe的工作及其“曲面重建”工作。

表面重建用于找到适合点云的网格表面;但是,此方法会产生高三角形计数。如果这是一个问题,则可以应用网格缩小技术来减少多边形数量,从而最大限度地减少错误。例如,您可以查看OpenMesh的抽取方法。

Hugues Hoppe

OpenMesh

答案 2 :(得分:5)

Misha Kazhdan的泊松算法可能适用于您的数据。其软件页面为here。请注意,还存在CGAL版本。手动为here,可以使用Windows演示版here(前提是您安装了这些dlls)。