3D数学基础——四元数旋转公式的证明

文章出处: http://blog.csdn.net/ynnmnm/article/details/5568333

 

命题:设四元数 = a*i + b*j + c*k ,且 ^2 = -1 ;对于任意四元数 ,以 为轴正向旋转(右手坐标系 中逆时针方向,左手坐标系中顺时针方向)θ角度,得到向量 ’ ,则: ’ = r ^(-1) ,其中 r = cos( θ /2) + sin( θ/2) * u 。


证明: *r ^(-1) = 1 = r ^(-1) * r   ...... ( 1 )

在方程( 1 )两边同时乘以 的共轭 *,可以得到:

*=  r ^(-1) * r * r * = r ^(-1) * |r| ^2  ...... ( 2 )

又由: |r| ^2 = (cos( θ /2))^2 + (sin( θ /2))^2* ( a^2 + b^2 + c^2 ) = 1

得 ^(-1)= r */ |r| ^2 = r * = cos( θ /2) - sin( θ /2) * u

 

如图所示, 设四元数 与 垂直,与 ,p 共面,且 ^2 = -1 ;四元数u * v ,则v , w 组成一个直角坐标系。

  

p = s * u + t * v

r^(-1) = (cos(θ/2)sin(θ/2) * u ) * ( s * u + t * ) * (cos(θ/2) - sin(θ/2) * u )

 = ( s * cos(θ/2)* u + t* cos(θ/2)*v - s* sin(θ/2) + t* sin(θ/2)*w ) * (cos(θ/2) - sin(θ/2) * u )

 = s* (cos(θ/2))^2* u + t* (cos(θ/2))^2*v - s* sin(θ/2)* cos(θ/2) + t* sin(θ/2)* cos(θ/2)*w

   + s* sin(θ/2)* cos(θ/2) + t* sin(θ/2)* cos(θ/2)*w - s*(sin(θ/2))^2*u - t*(sin(θ/2))^2*v

 = s*u + t* cos(θ)*v + t* sin(θ)*w

 

由此可知,p’是由pu正向旋转θ角度而得。

 

你可能感兴趣的:(3D数学基础)