代码之家  ›  专栏  ›  技术社区  ›  Megidd

连通三角形群的检测

  •  1
  • Megidd  · 技术社区  · 6 年前

    我有一个像下面这样的网格,由一组连接的三角形组成。我必须检测三角形组。这项工作有什么方便的工具或算法吗?我正在研究,恐怕有一件事我不知道!

    Teapot overhang mesh

    2 回复  |  直到 6 年前
        1
  •  2
  •   ciamej    6 年前

    一个简单的解决方案是保留一个多重贴图,其关键点是所有三角形顶点的3D点。如果一个三角形与另一个三角形共享一个顶点,我们可以假定它们是连接的。

    现在,要保留关于哪些三角形属于哪个组的信息,可以使用union find数据结构( https://en.wikipedia.org/wiki/Disjoint-set_data_structure

        2
  •  1
  •   Mauricio Cele Lopez Belon    6 年前

    图形算法可用于查找“连接三角形组”。

    在图形术语中,三角形网格是图形。你不关心几何体,你只关心连通性。例如,您可以将每个3D顶点视为图形的节点,将每个三角形边视为连接两个节点的图形边。

    您的“连接三角形组”将是图形术语中的连接组件。

    在下面的答案中可以看到查找图中所有连接组件的有效算法:

    https://stackoverflow.com/a/21078752/9147444