目的
在已知变化点的坐标之后,实现laplace mesh deformation
公式
化简之后
x=inv(L.transpose()*L+lamdba*D)*(L.transpose()*L*X+lamdba*D*C)
过程
- 定义了稀疏矩阵 L,D,C,X,Y,Z,Cx,Cy,Cz
- L 表示的是laplace算子
- D 对角矩阵,保存点是否改变
- X Y Z 表示未改变之前的点的坐标
- Cx Cy Cz 只保存了改变点的坐标,其余为0
L 的求解
- 对于L每一行的元素
L(i,j)
- 当点i与点j连接时,
L(i,j) = -wij
- 当
i==j
时,”’L(i,j) = ∑wij”’ - 其余点为0
- 当点i与点j连接时,
wij的公式
加上向量的点乘和叉乘公式。
- 对于L每一行的元素
- 代入公式,求解x,y,z。(方法:eigen 稀疏矩阵Ax=b求解)