如何检测选定的顶点是否位于三角形网格的边界上?

时间:2017-08-01 08:28:27

标签: opengl graphics 3d polygon mesh

我有一个用顶点坐标列表示的三角形网格,三角形存储在顶点索引列表和角落索引列表中。我还有一个角桌,用于存储顶点,下一个角,前一个角,对角和左右角(入射三角形)的坐标。在我的程序中,用户可以选择一个顶点,但是我无法检测所选点是否位于网格的边界上(因为它需要独特的处理)。我设法检测到它所在的三角形是否是边界三角形。但是,如何检查所选顶点是否也是边界顶点?

1 个答案:

答案 0 :(得分:1)

有多种方法可以识别边界顶点。

顶点v是边界顶点

  • 如果它属于至少一个边界边(只有一个相邻面的边)或
  • 如果顶点边图中v的邻域不形成循环。

如果要在三角形网格中识别顶点v,可以计算每个邻域顶点w存在多少(v,w)边。如果存在仅具有一个(v,w)边的顶点w,则顶点v(以及顶点w)将是边界顶点。