如何在任意网格上找到顶点的邻居?

时间:2019-07-07 08:37:30

标签: c# c++

https://i.imgur.com/ybpvvoD.png

我有一个任意的网格,就像上面链接中图片中的网格一样(这只是一个例子,但是我需要在任何网格上工作;数字仅供参考,我不能依赖于顶点顺序)。 / p>

循环遍历所有顶点(假设从标记为红色的顶点开始),我需要找到四个标记为蓝色的相邻顶点。

我有以下数据:

  • 三角形数组(顶点和边)

  • 顶点数组(空间中的位置)

  • 边缘阵列(一对顶点)

我尝试循环遍历Triangles数组,并选择共享起始顶点的数组,最后得到以下内容:https://i.imgur.com/Z8F0t0k.png

我该如何进一步过滤数据以只剩下四个标记为蓝色的顶点?

1 个答案:

答案 0 :(得分:1)

我分两步解决了这个问题:https://i.imgur.com/FVc6nUc.png

1)选择所有共享起始顶点的三角形

2)过滤掉符合以下条件的边缘:

  • 三角形的最长边(即斜边)
  • 不包含起始顶点