四元数

来源:互联网 发布:大数据 洞察 编辑:程序博客网 时间:2024/05/17 06:24

四元数又叫做超复数,一般复数形式:z = a + b*i;

四元数的形式为:z = a + b*i + c*j + d*k;       多了两个虚部。

四元数的加、减、乘、除,运算法则与复数一致。

z* = a - b*i;  z*是z的共轭复数。

z   *   z*   =   a*a +b*b;

复数的范数或模:|z| = sqrt(a*a +b*b);

|z|*|z| = a*a + b*b =z * z*;

 

z = a + b*i + c*j + d*k;  z的共轭复数z* = a - ( b*i + c*j + d*k);

z * z* = a*a + b*b +c*c + d*d;

根据复数的性质:i*i = j*j = k*k = -1;

两个向量的X积,与第三个向量反向所以:i*j*k = -1;

四元数的范数:|z| = sqrt(a*a + b*b +c*c + d*d);

|z| * |z| = a*a + b*b +c*c + d*d = z * z*;

四元数的倒数:

z * (1/z) = 1;  两边同时乘以共轭四元数z*

z* * z * (1/z) = z*;    因为(z* * z ) * (1/z) = z*;

|z|*|z| * (1/z) = z*;   如果z为单位四元数则:|z|*|z| = 1, (1/z) = z*;

 

四元数乘法:p = p0 + pv, q = q0 +qv;

p*q = (p0*q0 - (pv*qv)) + (p0*qv + q0*pv + pv x qv);


Vq变换前的向量,V'q变换后的向量,q为单位四元数

右手坐标系:

V'q = q* * Vq * q;

V'q = q * Vq * q*;

左手坐标系:

V'q = q * Vq * q*;

V'q = q* * Vq * q;


q定义了旋转轴和要绕该旋转轴旋转的角度。

q = cos(x/2) + sin(x/2)*Vq;

实部:cos(x/2)      虚部:sin(x/2)*Vq

Vq为旋转轴,x为旋转的角度

四元数在图形学中的主要作用是:旋转向量 和 对弧形曲线平滑插值

四元数的4D性使得它比标准的角度旋转和矩阵旋转更平滑,但速度慢些

四元数的几何意义为:后面的虚部是3D空间的一个向量,

 

 

 

原创粉丝点击