Skip to content
字数
586 字
阅读时间
3 分钟

赛尔号!

和阿璇激情讨论赛尔号 有一说一她的背包里面,精灵都好厉害。我半夜还爬起来打开我的背包看了看,真是一坨 她买了一包糖,但是这个糖的目的是用来治疗过敏,说实话闻所未闻,简直是天才,感觉包装纸上的笑脸是在笑她天真。

ARAP数学推导

为了搞定正定性的问题,首先我要复习一下ARAP这个模型的数学推导过程

对形变梯度矩阵进行极分解

F=RS

ARAP的定义如下

ΨARAP=FRF2=FF2+RF22tr(FTR)=FF2+92tr(S).

它是形变梯度的二阶项,而stvk是四阶项,所以它的非线性弱于stvk。这个公式里的9哪里来的?

求力,也就是能量一阶导

Ψx=ΨFFx

其中,形变梯度对位置的导数可以表达为12个矩阵组成的向量,12x3x3,然后能量对形变梯度的导数是3x3。 The matrix ΨF is also known as the first Piola-Kirchhoff stress tensor

PK1公式如下

PARAP(F)=μ(FR)

下面几个公式抄下来方便复习,推导中用到

I1F=tr(S)F=R,I2F=ICF=FF2F=2F,IICF=FTFF2F=4FFTF,RF2F=tr(RTR)F=tr(I)F=0.

hessian矩阵计算公式:

2Ψx2=FTx2ΨF2Fx

看完推导感觉我的ARAP的一阶导数和二阶导数算的没问题呀

实验验证

找了个简单的case,单个四面体,仍然会出现pcg无法收敛的情况,来一探究竟。 我将12x12的矩阵导出到python中用numpy求解了一下,发现有解,但是用我的pcg却无法收敛,也就是说我的pcg出现了问题! 详细处理pcg的bug。

贡献者

文件历史

撰写