我有这个三角形:
在此stl文件中:
solid
facet normal -3.42 2.42 2.72
outer loop
vertex 0.75 0.06 0.15
vertex 3.86 0.06 4.06
vertex 1.75 0.93 0.63
endloop
endfacet
endsolid
而且我需要找出一种基于质心顶点(橙色矢量)获取三角形面方向/角度的方法。我确实有质心的值,但我想不出一种方法来获取三角形方向的值。每当三角形旋转时,其面/方向应返回代表该运动的x,y,z值。任何帮助或提示将不胜感激。解决方案可以用任何语言甚至伪代码编写。
似乎您的stl文件中的方向已经为facet normal
。
[如果只有三角形顶点,则可以找到两个边缘向量的vector product为法线。
Q = Vertex[1] - Vertex[0] //per-element differences, like Q.x = V[1].x - V[0].x
R = Vertex[2] - Vertex[1]
N = Q x R (N.x = (Q.y * R.z - Q.z * R.y) and so on)
要查找沿法线方向移动时顶点的位移,您需要对其进行归一化(单位长度)-将所有分量除以法线长度。
uN = N / Length(N)
Disp = uN * Distance (for example, dx = uN.x * Distance)