我有一个带有顶点,顶点法线(标准化)和面(三角形)的三维模型(来自Blender)。我需要计算其他顶点及其法线。换句话说,我需要算法从三个顶点和三个顶点法线计算三角形的中心顶点。
例如,在图片中我们有A,B,C顶点。如何计算D顶点并且它是正常的?
或者,更好的是,E点(其中一个边的中心)。
有人能帮助我吗?
答案 0 :(得分:1)
如果您希望D点基于ABC准确位于平面上,那么我建议您使用barycentric coordinates。 D点是中位数的交点,重心坐标为(1 / 3,1 / 3,1 / 3),或D = 1 / 3A + 1 / 3B + 1 / 3C,E为(0,1 / 2) 1/2)。正常ND应以与D,ND = 1 / 3NA + 1 / 3NB + 1 / 3NC相同的方式计算。
您没有说明为什么需要计算D和E的原因。我想您希望在网格中获得更多三角形,从而提高细节水平。在这种情况下,应使用PN-triangles