通常来说关键帧都可以表示为一个个时间点t和一个个参数向量p, 如果将各个变量抽离出来, 我们便可以将中间帧的插值视作曲线拟合的问题, 因此上一章曲线的内容在这一章都可以用上....一种替代的方法是使用欧拉角(Euler-angle)进行插值, 欧拉角将一个物体的旋转表示为分别绕xyz三轴的旋转组合, 这样我们通过分解和组合旋转的角度就可以用旋转矩阵来实现旋转的插值....万向节死锁
万向节死锁问题在程序中其实很难完全避免, 且死锁情况很容易发生, 再加上用欧拉角表示旋转还会带来欧拉同名问题, 也就是同样的一个旋转目标可以有多种不同的旋转方式达到, 这对于三维旋转和插值问题非常不利...)u)
这样就可以计算出旋转后的向量坐标: u'=qvq*
这个旋转公式可以用上面四元数乘法公式来计算, 也可以使用著名的Graßmann积, 这个公式将两个四元数之间的乘法简化为普通的向量计算, 不再需要虚数计算表了...物理模拟的核心思想是使用差分方法近似微分方法, 然后将目标表示为很多的离散点, 通过优化离散点之间的关系方程组来得到物理模拟后的点的位置.