四元数用于表示旋转
A.四元数一般定义如下:q=w+xi+yj+zk 其中 w,x,y,z 是实数。同时,
有: i*i=-1 j*j=-1 k*k=-1
B.四元数也可以表示为: q=[w,v]
有多种方式可表示旋转,如 axis/angle、欧拉角(Euler angles)、矩阵
(matrix)、四元组等。 相对于其它方法,四元组有其本身的优点:
a.四元数不会有欧拉角存在的 gimbal lock 问题[万向节死锁]
b.四元数由 4 个数组成,旋转矩阵需要 9 个数
c.两个四元数之间更容易插值
d.四元数、矩阵在多次运算后会积攒误差,需要分别对其做规范化
(normalize)和正交化 (orthogonalize),对四元数规范化更容易
e.与旋转矩阵类似,两个四元组相乘可表示两次旋转