我有一个三角形集合,定义了我的3D形状的网格表面,我想要固定每个三角形的法向量指向外部。
我尝试以下伪代码: 1. 定义第一个三角形法线方向为右方向 2. 遍历网格,使用DFS方式: 3. 三角形 = 第一个三角形 4. 对于每个邻居 in 三角形.getNeighbours 5. 如果邻居和三角形之间的角度大于180,则邻居.flip() 6. 三角形 = 邻居 7. 如果邻居已经被选择,则继续下一个邻居 8. 递归到步骤4
但是,算法中的步骤5不起作用,因为无法确定角度是否大于180度,因为需要确定顺时针或逆时针方向。
请帮助我理解如何修复该算法。
我尝试以下伪代码: 1. 定义第一个三角形法线方向为右方向 2. 遍历网格,使用DFS方式: 3. 三角形 = 第一个三角形 4. 对于每个邻居 in 三角形.getNeighbours 5. 如果邻居和三角形之间的角度大于180,则邻居.flip() 6. 三角形 = 邻居 7. 如果邻居已经被选择,则继续下一个邻居 8. 递归到步骤4
但是,算法中的步骤5不起作用,因为无法确定角度是否大于180度,因为需要确定顺时针或逆时针方向。
请帮助我理解如何修复该算法。