我有一个3D网格我正在计算网格面法线的顶点法线。每个顶点法线计算为共享该顶点的面的所有法线的平均值。
一切正常,除非在 - 由于网格表面上的面不均匀细分 - 顶点法线可能会偏斜。下面是一个在其一个角上具有倾斜顶点法线的对象的示例:
在此图像中,您可以看到各种面法线(蓝色),理想顶点法线(黄色)和有问题的顶点法线(红色),它们被网格严重细分侧面上的多个面法线倾斜它们共享顶点。
所以我的问题是:是否可以计算向量中位数而不是平均值?这是一个额外的图像,以进一步说明:
答案 0 :(得分:3)
在这里找到解决方案:
这个想法是在将面部法线添加到该顶点的法线之前,通过连接到所讨论的顶点的边缘的角度来加权面法线。
因此,在我的第一张图像中,右侧法线的大分组将具有与顶部/左侧的单个法线相同的累积权重....导致该角点顶点的整体理想法线。