Animation 为什么在LBS(线性混合蒙皮)公式中使用四元数很困难?

Animation 为什么在LBS(线性混合蒙皮)公式中使用四元数很困难?,animation,opengl,math,quaternions,complex-numbers,Animation,Opengl,Math,Quaternions,Complex Numbers,为什么在LBS(线性混合蒙皮)公式中使用四元数会很困难 见图: P':点变换 P:重点 加权矩阵 wi(P):入口i中P点的重量 Ti:在i处变换 我真的找不到答案,我想可能是因为变换矩阵可以存储4x4个值,而不是四元数,四元数只能用4个值表示旋转,所以我们没有办法用四元数表示任何骨骼的平移和旋转,但我不太确定。你完全正确。四元数只能表示旋转(和缩放)这一事实使它们无法用于此任务。四元数(双四元数)有一些扩展可以绕过此限制。然后,线性混合效果非常好 此外,请记住如何使用四元数变换点-您有两

为什么在LBS(线性混合蒙皮)公式中使用四元数会很困难

见图:

  • P':点变换
  • P:重点
  • 加权矩阵
  • wi(P):入口i中P点的重量
  • Ti:在i处变换

我真的找不到答案,我想可能是因为变换矩阵可以存储4x4个值,而不是四元数,四元数只能用4个值表示旋转,所以我们没有办法用四元数表示任何骨骼的平移和旋转,但我不太确定。

你完全正确。四元数只能表示旋转(和缩放)这一事实使它们无法用于此任务。四元数(双四元数)有一些扩展可以绕过此限制。然后,线性混合效果非常好

此外,请记住如何使用四元数变换点-您有两个乘法而不是一个乘法。因此,通常先混合四元数,然后变换点。虽然也可以混合变换后的点,但这没有什么意义,因为它计算量大,并且与简单LBS有相同的问题


这个问题是否针对更多的东西仍然是个未知数。

我还想知道,因为它与这个问题有关,四元数能像矩阵一样表示刚性变换吗?@CamiloPerez四元数不能,但双四元数可以表示刚性变换。这就是为什么它们被用在…