四元数的使用

1、复数

        对于平面直角坐标系上的点表示方法, 下面是三种表示方法

四元数的使用_第1张图片

2、复数的乘法运算

四元数的使用_第2张图片         

 复数的运算法则i * i = -1;

 z1 = cos(θ)+sin(θ)*i=(cos(θ)+sin(θ)*i); 

  z2 = cos(β)+r*sin(β)*i=(cos(β)+sin(β)*i);

 z = z1 * z2 = (cos(θ)+sin(θ)*i) * (cos(β)+sin(β)*i) = cos(θ+β)+sin(θ+β)*i;

复数的在极坐标下的乘法的几何意义是绕轴逆时针旋转变换,类似矩阵作用在向量上的变换。

3、四元数

  平面向量向高维空间推广,实数对应一维数轴a, 对实数扩充产生复数a+b*i二维平面,对复数扩充产生四元数a+b*i+c*j+d*k三维空间,并定义相应的运算法则。

基本概念

        形如a+b*i+c*j+d*k的数称为四元数(quaternion),其中a、b、c、d是实部,i、j、k称为虚部,并且有下列计算公式

                  i^{2} = j^{2} =k^{2} = -1;

                 i*j = k ; j*i = -k ;

                 j*k = i; k*j = -i;

                k*i=j; i*k=-j;

                i*j*k=-1;

等式有轮换对称的性质,反交换律,定义了两个四元数做乘法。

基本运算

加、减法 : (1+2i+3j+4k) + (4+5i+6j+7k) = 5+5i+9j+10k

乘法:(1+2i+3j+4k) * (4+5i+6j+7k) = 

共轭:q = a+bi+cj+dk; q\bar{} = a-bi-cj-dk;

 空间旋转

        四元数的使用_第3张图片

         问题:将原始向量v(x,y,z),绕其u(b,c,d)单位向量,按照右手法则旋转θ,旋转目标v',v'的结果是什么?

        计算的方法可以是矩阵、三角函数、四元数等,相对来说四元数比较简单,因为四元数是对三角函数的总结的成果,相当于公式解。

        解答:

        第一步:构造两个四元数

        p = 0 + xi +yj+zk;

        q = cos(θ/2) + bsin(θ/2)i + csin(θ/2)j + dsin(θ/2)k;

        q\bar{} = cos(θ/2) - bsin(θ/2)i - csin(θ/2)j - dsin(θ/2)k;

        第二部:计算qpq\bar{},结果就是旋转之后的向量。

四元数与矩阵之间的转换

        四元数的应用是按照轴旋转角度的插值计算,如果是固定角度之后的计算结果在空间几何中使用的时候需要转换为矩阵。

参考:数学漫谈,数学救火队长马丁

你可能感兴趣的:(数学,矩阵)