我有三角形集合,它定义了我的 3D 形状的网格表面,我想修复每个三角形的法线以指向异形。
我正在尝试以下(伪):
1. 定义第一个三角形法线方向是正确的方向
2. 使用这样的 DFS 遍历网格:
3. 三角形 = 第一个三角形
4. foreach neigbour in triangle.getNeighbours
5. 如果邻居和三角形之间的角度大于 180 做邻居.flip()
6. 三角形 = 邻居
7. 如果邻居已经选择然后继续下一个邻居
8. 继续递归到 4.
但是算法中的第 5 步不起作用,因为无法知道角度是否大于 180,因为我需要知道女巫方向(顺时针或逆时针)。
你能帮我理解如何修复算法吗?