四元数与矩阵

来源:互联网 发布:海尔阿里云电视刷机包 编辑:程序博客网 时间:2024/05/20 17:25



四元数是最简单的超复数。形如:a + bi + cj + dk 。

令 四元数 p =w1 + x1 * i  +  y1 * j + z1 * k   =    w1 + v1  ( 实部 + 虚部  ) 。

令 四元数 q =w2 + x2 * i  +  y2 * j + z2 * k   =    w2 + v2  ( 实部 + 虚部  ) 

加法:p + q  = (w1 + w2 ) + (x1 + x2 ) *  i + (y1 + y2)  * j +(z1 + z2) * k

乘法:p * q = (w1  + ( x1 * i  + y1 * j + z1 * k) ) * (w2  + ( x2 * i  + y2 * j + z2 * k) )  

  = w1 * w2  - v1 .v2 (点乘) + v1 X v2 (叉乘)+ w1* v2 + w2 * v1


用途:可用来 代替 旋转矩阵

如三维几何中,要求某一质点绕向量 (a ,  b,  c) 旋转 θ度  则四元数(x , y , z , w)可表示为 :

令 s = sin (θ / 2),c = cos ( θ / 2 )

则 x = s* a , 

    y = s * b,

    z = s * c,

   w = c


而旋转矩阵与四元数的转换:

[ w2+x2-y2-z2 , 2xy-2wz , 2xz+2wy ]
[ 2xy+2wz , w2-x2-y2-z2 , 2yz-2wx ]
[ 2xz-2wy , 2yz+2wx , w2-x2-y2-z2 ]