4.5.2 四元数的概念
四元数包含⼀个标量分量和⼀个三维向量分量,四元数Q可以记作Q=[w,(x,y,z)]
在3D数学中使⽤单位四元数表⽰旋转,下⾯给出四元数的公式定义。对于三维空间中旋转轴为n,旋转⾓度为a的旋转,如果⽤四元数表⽰,则4个分量分别为
w=cos(α/2)
x=sin(α/2 )cos (βx)
y=sin(α/2 )cos (βy)
z=sin( α/2 )cos (βz)
⽤四元数表⽰旋转⼀点也不直观,4个分量w、x、y和z与绕各轴的旋转⾓度并没有直接的对应关系。在实际游戏开发中不要试图获取和修改某⼀个分量,应当只做整体处理。
前⾯提到,矩阵也可以表⽰旋转,⽽且矩阵也不存在万向节锁定问题。其实,旋转还可以⽤欧拉⾓和四元数表⽰,但是每⼀种表⽰⽅法都有其各⾃的优缺点,表4-5对这3种⽅式进⾏了对⽐。
表4-5 3种表⽰旋转的⽅法对⽐。
⼀⽅⾯,由于3种表⽰旋转的⽅法都有各⾃的优势和缺点