四元數(shù)(Quaternions)簡(jiǎn)單理解就是一個(gè)四維向量
形式如下:
q = w+i*x+j*y+k*z = <w,i*x,j*y,k*z>
四元數(shù)乘法法則在四元數(shù)運(yùn)算中,是如同實(shí)數(shù)乘法一樣基礎(chǔ)和重要的運(yùn)算
形式如下:
i^2+j^2+k^2=-1
ij=-ji=k
jk=-kj=i
ki=-ik=j
可見(jiàn)四元數(shù)乘法不滿足交換律
q1 = w1+i*x1+j*y1+k*z1
q2 = w2+i*x2+j*y2+k*z2
q1*q2 =
(w1w2 - x1x2 - y1y2 - z1z2)
+(w1x2 + x1w2 + y1z2 - z1y2)i
+(w1y2 - x1z2 + y1w2 + z1x2)j
+(w1z2 + x1y2 - y1x2 + z1w2)k
q1*q2等號(hào)右側(cè)的多項(xiàng)式就是根據(jù)(w1+i*x1+j*y1+k*z1)*(w2+i*x2+j*y2+k*z2)所得出結(jié)果的再加工.
(w1z2 + x1y2 - y1x2 + z1w2)k
例如上面的多項(xiàng)式中的第三項(xiàng)-y1x2就是通過(guò)j*y1*i*x2轉(zhuǎn)換而來(lái).
j*y1*i*x2 = j*i*y1*x2 = -k*y1*x2.
這里要再次重申: 四元數(shù)乘法不滿足交換律,ij != ji.
基于上面q1*q2的結(jié)果,我們最終得以將四元數(shù)乘法轉(zhuǎn)換成向量形式:
"*":就是普通乘法
"·":這是內(nèi)積運(yùn)算
"X":這是Cross product 運(yùn)算(百度百科里面Outer product 和Cross product都有外積的叫法,英文避免歧義)
q = s +v,s為w,v為i*x,j*y,k*z
q1*q2 = s1*s2 - v1·v2 + s1*v2 + s2*v1 + v1 X v2
向量形式直觀的告訴了我們,四元數(shù)相乘時(shí)發(fā)生了什么,其結(jié)果也為一個(gè)四元數(shù),具體解釋詳見(jiàn)文章底部.
四元數(shù)逆運(yùn)算
q^*為四元數(shù)的共軛
q^-1 = q^*q^2
q*q^-1 = (q*q^*)/q^2 = q^2/q^2 = 1
q^-1*q = (q^*q*)/q^2 = q^2/q^2 = 1
關(guān)于q1*q2的解釋
為了簡(jiǎn)化條件,設(shè)s1=s2=s=1,v1和v2為平面的基向量
那么
s1*v2 + s2*v1=v2+v1,其結(jié)果就是位于v1與v2之間的一條向量v3
v3 + v1 X v2的結(jié)果則為:
這時(shí)v3 + v1 X v2的結(jié)果向量就位于由v1,v2,v4所構(gòu)成的三維空間盒子的相對(duì)于原點(diǎn)的最遠(yuǎn)點(diǎn)