Ser*_*her 2 algorithm graphics mesh depth-first-search normals
我有三角形集合定义我的3D形状的网格表面,我想修复每个三角形的法线以指出outshape.
我正在尝试以下(伪):
1.定义第一个三角形法线方向是正确的方向
2.使用DFS这样的方式遍历网格:
3.三角形=第一个三角形
4. foreach neigbour in triangle.getNeighbours
5.如果邻居和三角形之间的角度大于180 neighbor.flip()
6.triangle = neighbor
7.如果邻居已被选中,则继续下一个邻居
8.继续递归到4.
但算法中的步骤5不起作用,因为无法知道角度是否大于180,因为我需要知道巫婆方向(顺时针或逆时针).
你能帮我理解如何修复算法吗?
不需要计算邻居之间的角度.如果三角形ABC是方向(A->B->C),并且边缘AB上的邻居是三角形ABD,那么它必须在边缘上具有相反的方向AB.这意味着,必须定位neigbouring triangle B->A->D.