您的位置:首页 > 编程语言 > C语言/C++

laplace mesh deformation

2017-10-27 17:42 337 查看

目的

在已知变化点的坐标之后,实现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

wij的公式





加上向量的点乘和叉乘公式。

代入公式,求解x,y,z。(方法:eigen 稀疏矩阵Ax=b求解)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言