关于使用四元数绕轴旋转θ角度时,使用是θ/2的理解

  3D点A=(Xa,Ya,Za)绕轴N=(Nx,Ny,Nz)旋转θ角度。将点A扩展到四元数空间,则A=(0,Xa,Ya,Za),此时A点纯四元数(即第一位W分量等于0),处于四维空间中的一个超三维平面上。就像我们所处的三维空间中存在的二维平面一样,三维空间中的点坐标是(X,Y,Z),而二维平面中的点坐标则可以表示为(0,X,Y);所以,当一个四维空间中的点(W,X,Y,Z)中的W=0时,则认为此点处于四维空间的超三维平面上。

 用于旋转的四元数一般都是单位四元数(即归一化,模=1),第一是四元数用于旋转并不关心模长,模等于1可能需要的计算;第二是非单位四元数在浮点计算上可能会因为精度造成误差。因此在使用四元数时应尽量先进行归一化,使其成为单位四元数。

接下来,当A点绕轴N旋转θ角度,用于旋转的单位四元数P(cosθ/2,sinθ/2N)以及P的共轭$P^*$(cosθ,-sinθN)(因为是P是单位四元数,所以共轭$P^*$和逆$P^{-1}$是相等的)$A^/$为旋转后的点,旋转公式为$A^/$=PA$P^{-1}$。这个公式书中都有提到,具体由来请先看属。下面我将解释一下我理解中的这个公式

第一:四元数性质:四元数P乘以$P^{-1}$等于1,可以保证被旋转的点A不会被改变。

第二:当一个纯四元数乘以一个单位四元数后,结果不再是纯四元数,点A乘以P,此时点A已经被变换到了四维空间中,而不在处于三维平面内。当再次乘以$P^{-1}$时,因为四元数P乘以$P^{-1}$等于1,所以保证了点A依旧处于三维平面,此时解释了为什么要乘以P和$P^{-1}$。

因为是单位四元数,共轭和逆相等,点A乘以P是绕轴N正方向旋转θ/2角度,此时点A被旋转到了四维空间,而不处于三维平面。乘以$P^{-1}$(逆和共轭相等)则等于乘以共轭,而共轭表示绕和P反方向旋转θ/2角度,此时点A再次被旋转回三维平面。点A相当于经历了2次旋转,每次都是θ/2,于是总共旋转了θ角度,此时解释了为什么是θ/2。

至此便是我对旋转四元数中的理解。

猜你喜欢

转载自www.cnblogs.com/MyGameBlogs/p/8934753.html
今日推荐