我正在研究一种实现骨骼-顶点权重平滑的方法(用于联合变形),但是无法找到使用用户设置的参数距离内的地球面距离(表面)在顶点之间的方法。
目前为止,有人提到可能使用Dijkstra算法获取近似的地球面距离 - 但它在某些类型的网格拓扑上存在局限性。
唯一发现的关于此问题的论文(所谓的“骨骼-顶点权重平滑”)使用Laplacian权重平滑技术对皮肤网格进行权重平滑,但仅考虑每个顶点的一环邻居,这无法满足我的需求,即包含距离最短的地球面距离的顶点:
L(Wi) = 1/m * Sum(j from 0 to m-1)(Wj - Wi)
这里给定顶点i
和顶点j
,它们与顶点i
的关系被考虑在内,m
是相邻顶点的数量,W
是顶点的权重。
我的想法是修改拉普拉斯平滑算法,在考虑距离参数的范围内,所有发现的顶点都将被使用,但是距离也需要作为一个因素。也许只需通过参数距离减去当前顶点和求和中使用的顶点之间的距离来乘以权重影响力。可能是这样:
Wmj = Wj * (maxDistance - Dji)
L(Wi) = 1/m * Sum(j from 0 to m-1)(Wmj - Wi)
这样可以减少平滑作用(衰减)的影响,通过其顶点距离(Dji
)降低Wj
的影响。当然,在maxDistance
处的顶点将没有影响,可能需要将其忽略作为m
的一部分。
这样行吗?