之前的position based dynamic 总给人一种野路子的感觉,没有物理意义,没有对应的物理模型一切基于几何的方法。
感觉就是犀稀里哗啦将一堆堆约束按梯度方向迭代解算。
最新muller的论文终于给了PBD一个真正的名分 http://matthias-mueller-fischer.ch/publications/XPBD.pdf
论文根据约束产生的能量导出了力学方程组,并且使用implicit Eular方式导出了位置和约束力的非线性方程组。
原来的PBD正是解这个非线性方程组的一种迭代算法,论文比较了PBD和传统newton迭代法的模拟轨迹,可以看出基于PBD
的解法和基于newton的解法效果是基本一致的。当然这里的解法叫XPBD应为原来的PBD缺失了一些东西(这些也正是导致
传统PBD的刚性系数和迭代次数有关) XPBD解决了这个问题。所以XPBD是PBD的广义形式。也是具有完全物理意义。