求三角形网格模型的顶点法线是建模过程中的重要步骤。
顶点法线一般为顶点所在所有三角形面法线的平均法线。
除了自己写代码,还有很多库可以直接应用。
比如VTK库,trimesh库等,但实际应用下来VTK库求的法线实在差强人意,甚至不如自己写的准确。
trimesh库则简单快速准确。
v = []
f = []
mesh = trimesh.Trimesh(vertices=v, faces=f)
normal = mesh.vertex_normals
v是顶点数组,f是三角形片的顶点索引数组。