四元数的基本运算

一、四元数的定义

四元数是由复数扩展而来:

a+biω+xi+yj+zk

四元数表示为(齐次形式):

q=(ω,x,y,z)

或者(标量/向量形式):

q=(ω,v)

其中:

i2=j2=k2=ijk=1
ij=k,jk=i,ki=j
ji=k,kj=i,ik=j

二、四元数的相关概念

设两个四元数为:

p=x1i+y1j+z1k+w1

q=x2i+y2j+z2k+w2

1、四元数和轴-角

设向量n为旋转轴,θ为绕轴旋转的量。

q=[cos(θ/2),sin(θ/2)n]=[cos(θ/2),(sin(θ/2)nx,sin(θ/2)ny,sin(θ/2)nz)]

2、负四元数

q=[w(xyz)]=[wv]

q-q代表的位移是相同的。

3、单位四元数

几何上存在2个单位四元数:[1,0][-1,0]
它们的意义是:当旋转角为360度的整数倍时,方位并没有改变,并且旋转轴也是无关紧要的。

数学上只有一个单位四元数:[1,0]。任意四元数q乘以单位四元数[1,0]仍为q

4、四元数的模

||q||=||[w,(xyz)]||=w2+x2+y2+z2=||[w,v]||=w2+||v||2

几何意义:

||q||=(cos(θ/2)2+sin(θ/2)2||n||2)

若n为单位向量,则: ||q||=1

5、四元数的共轭

q=[wv]=[w(xyz)]

(q)=q   (pq)=qp   (p+q)=q+p   pp=pp

6、四元数的逆:

q1=q||q||

使用单位四元数,故 q1=q

几何解释:使向量v反向,则旋转方向也反向了。因此q绕轴旋转θ角,而q*沿相反的方向旋转相同的角度。

7、四元数纯量部:Scalar(p)

Scalar(p)=w

8、四元数向量部:Vector(p)

Vector(p)=xi+yj+zk

9、四元数符号数:sgn(p)

sgn(p)=pp

a、四元数辐角:arg(p)

arg(p)=acos(Scalar(p)||p||)

三、四元数的基本运算

1、加减

p±q=(w1±w2)+(x1±x2)i+(y1±y2)j+(z1±z2)k

2、数乘

kp=[k 0][w v]=k[w v]=[kw kv]=k[w (x y z)]=[kw kx ky kz]

3、点乘

pq=[w1 n1][w2 n2]=w1w2+v1v2

几何解释:类似于向量点乘的几何解释,两四元数点乘绝对值越大,其代表的角位移越相似。

4、叉乘

[w1 v1]×[w2 v2]=[w1w2v1v2 w1v2+w2v1+v2×v1]

满足结合律,不满足交换律

p×q=||q||×||q||

(p×q)1=q1×p1

5、对数

单位四元数 : q=[cos(θ),sin(θ)v] 对数为:

logq=[0, θv]

log[1,(0,0,0)=[0,(0,0,0)]

6、指数

四元数 q=[0,θv],θR,|v|=1 , 其指数为:

expq=[cosθ,sinθv]

7、幂

单位四元数: qtR , 其幂为:

qt=exp(tlogq)

四、参考

http://www.cnblogs.com/jietian331/p/5671101.html

你可能感兴趣的:(机器人学,机器人学)