【发布时间】:2019-11-17 02:54:09
【问题描述】:
https://i.imgur.com/ybpvvoD.png
我有一个任意网格,就像上面链接中图片中的那个(这只是一个示例,但我需要它来处理任何网格;数字仅供参考,我不能依赖顶点排序)。
循环遍历所有顶点(假设从标记为红色的顶点开始)我需要找到标记为蓝色的四个相邻顶点。
我有以下数据:
三角形数组(顶点和边)
顶点数组(空间位置)
边数组(顶点对)
我尝试循环遍历 Triangles 数组并选择共享起始顶点的数组,最终得到如下内容:https://i.imgur.com/Z8F0t0k.png
我怎样才能进一步过滤数据以仅以蓝色标记的四个顶点结束?
【问题讨论】:
-
为什么顶点#37和顶点#0不是相邻顶点?
-
它们是,但我不需要它们,我只需要 36、3、1 和 35
-
那你怎么知道要排除哪些顶点呢?
-
这就是问题所在。假设网格总是像这样的一些管状形状。此外,我可以保证所有三角形的方向都是这样的(尽管我不能保证顶点的顺序)。所以基本上我需要由这 5 个点(1、2、36、3、35)定义的“十字架”。
-
你怎么知道会有一个“十字架”?什么定义了“十字架”?