【问题标题】:Algorithm for generating a triangular mesh from a cloud of points从点云生成三角形网格的算法
【发布时间】:2021-08-25 19:15:55
【问题描述】:

在一些模拟程序中,我们根据点生成对象表面,每个点都有 3D 坐标和表示该点表面法线的向量。出于可视化目的,我们想生成一个由三角形组成的网格;每三个闭合点与其法线形成一个三角形。然后我们可以将此信息发送到一些标准的可视化程序,这些程序可以像 VMD(视觉分子动力学)一样渲染表面。

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

【问题讨论】:

    标签: algorithm geometry point mesh


    【解决方案1】:

    看看Jonathan Shewchuk 的工作,尤其是他(和他的同事)著名的论文和实现:

    在点云库 (PCL) 中还可以快速实现未排序的点云。在Fast triangulation of unordered point clouds 上查看他们的演示文稿。

    【讨论】:

    • PCL 案例的魔力在于gp3.reconstruct (triangles) —— 可惜演示中没有揭示这种魔力。
    【解决方案2】:

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

    要在 R3 中生成表面,请查看 Hugues Hoppe 的工作和他的“表面重建”工作。

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

    Hugues Hoppe

    OpenMesh

    【讨论】:

      【解决方案3】:

      Misha Kazhdan 的泊松算法可能适用于您的数据。它的软件页面是here。请注意,还有一个 CGAL 版本。手册是here 并准备使用Windows 演示here(前提是您安装了这些dlls)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-12-15
        • 2021-09-04
        • 1970-01-01
        • 1970-01-01
        • 2013-09-27
        • 2011-10-03
        • 2013-03-19
        相关资源
        最近更新 更多