我有一个3D网格,正在计算顶点法线,从网格的面法线计算。每个顶点法线被计算为共享该顶点的所有面的法线的平均值。除了在网格表面的面不均匀细分导致顶点法线可能会倾斜的情况下,一切正常。以下是一个具有倾斜顶点法线的对象示例,位于其一个角落中: 在这张图片中,您可以看到各种面法线(蓝色),理想的顶点法线(黄色)以及有问题的顶点法线(红色),它被网格重度细分侧面的许多共享该顶点的面法线所扭曲。 所以我的问题是:是否可能计算向量中位数,而不是平均值?以下是额外的一张图片,以进一步说明:
这个想法是通过连接到当前顶点的边的角度来加权面法线,然后再将它们添加到该顶点的法线中。 因此,在我的第一张图中,右侧大量的法线与左上方单个法线具有相同的累积权重...从而为该角落顶点得出一个整体理想的法线。