有很多文章和帖子討論四元數在3d
命題:設四元數
u
= a*i + b*j + c*k
,且u
^2= -1
;對於任意四元數
p
,以u
為軸正向旋轉(右手座標系中逆時針方向,左手座標系中順時針方向)θ角度,得到向量
p'
,則:p'
=r*p*r^(-1)
,其中r =
cos(
θ/2)+sin(
θ/2)* u。
證明:
r*r^(-1)= 1 =r^(-1)* r......(1)
在方程(1)兩邊同時乘以r的共軛r*,可以得到:
r*= r^(-1)* r * r*= r^(-1)* |r|^2 ......
(2)又由:|r|^2 = (cos(
θ/2))^2 + (sin(
θ/2))^2*
(a^2 + b^2 + c^2)= 1
得r^(-1)= r*/ |r|^2= r*=cos(
θ/2)-sin(
θ/2)* u
如圖所示, 設四元數v與u垂直,與u,p共面,且v^2 = -1;四元數w=u*v,則u,v,w組成乙個直角座標系。
則r*p*r^(-1) = (cos(
θ/2)+sin(
θ/2)* u) * ( s *u+ t *v) * (cos(
θ/2)-sin(
θ/2)* u)
= ( s * cos(
θ/2)* u +t*cos(
θ/2)*v -s*sin(
θ/2)+t*sin(
θ/2)*w) * (cos(
θ/2)-sin(
θ/2)* u)
= s* (cos(
θ/2))^2* u + t*(cos(
θ/2))^2*v -s*sin(
θ/2)*cos(
θ/2)+t*sin(
θ/2)*cos(
θ/2)*w
+s*sin(
θ/2)*cos(
θ/2)+t*sin(
θ/2)*cos(
θ/2)*w -s*(sin(
θ/2))^2*u - t*(sin(
θ/2))^2*v
=s*u +t* cos(
θ)*v +t*sin(
θ)*w
由此可知,p』
是由p繞u正向旋轉
θ角度而得。
四元數旋轉的計算
最近剛好又用到四元數,又深感生疏。複習一下記錄記錄。情形 對於三維向量p,繞著某軸v旋轉 角度 1.先考慮p垂直於v的情況 p所在的旋轉平面的另乙個軸為 v q,在這個旋轉平面內,使用二維情況下的旋轉公式就可以得到結果了 p cos p sin v q 2.v為任意方向的情況 把p分解為平行於v和垂...
四元數乘法 剛體旋轉中的四元數
四元數博大精深,用途之一圖形學中的三維旋轉。單純從應用角度考慮,四元數可以以如下方式應用於旋轉。旋轉示意圖 假定我們有乙個經過原點的旋轉軸 其中 則,3d旋轉可以通過四元數乘法來表示 1 其中,為單位四元數,等價於 和 分別為 的共軛和逆。對於單位四元數而言 根據式 1 結合四元數的乘法,可以完成一...
四元數乘法 旋轉之四 四元數
用 表示四元數是為了紀念其發明者 hamilton.其中 可以根據 來推導以下式子 跟複數類似,我們可以把四元數寫成 它的基是 或者 類似複數,四元數的模長 範數norm 定義為 也可寫成 同複數的乘法不同,四元數乘法不遵守交換律,所以有左乘和右乘的說法,結合律和分配律還是滿足的。類似的,我們也可以...