四元數旋轉的計算

2021-08-16 01:40:29 字數 1296 閱讀 4243

最近剛好又用到四元數,又深感生疏。複習一下記錄記錄。

情形:對於三維向量p,繞著某軸v旋轉

θ 角度

1. 先考慮p垂直於v的情況

p所在的旋轉平面的另乙個軸為: v × q,在這個旋轉平面內,使用二維情況下的旋轉公式就可以得到結果了: p′

=cos

θ∗p+

sinθ

∗(v×

q)2. v為任意方向的情況

把p分解為平行於v和垂直於v的兩個方向即可,平行於v的方向在旋轉時方向不變,垂直於v的方向可以繼續套用1中的情況 p∥

=(p⋅

v)∗v

p⊥=p−(p

⋅v)∗

v 使用1中的結果,垂直方向旋轉後變為: p′

⊥=co

sθ∗p

⊥+si

nθ∗(

v×p⊥

) =c

osθ∗

(p−(

p⋅v)

∗v)+

sinθ

∗(v×

(p−(

p⋅v)

∗v))

=cosθ∗p

−cos

θ∗(p

⋅v)∗

v+si

nθ∗(

v×p)

加上不變的平行部分,最終結果為: p′

=p∥+

p′⊥=

p∥+c

osθ∗

p⊥+s

inθ∗

(v×p

⊥) =

(p⋅v

)∗v+

cosθ

∗p−c

osθ∗

(p⋅v

)∗v+

sinθ

∗(v×

p) =

(1−c

osθ)

(p⋅v

)∗v+

cosθ

∗p+s

inθ∗

(v×p

)(1)

情形:將p以四元數q=

(cos

θ,si

nθ∗v

) 旋轉

四元數乘法: qp

q−1=

/∗省略

掉了的計

算過程∗

/=(1

−cos

2θ)(

p⋅v)

∗v+c

os2θ

∗p+s

in2θ

∗(v×

p)這個式子和(1)式的形式幾乎一樣,除了

θ 變成了2θ

四元數乘法 剛體旋轉中的四元數

四元數博大精深,用途之一圖形學中的三維旋轉。單純從應用角度考慮,四元數可以以如下方式應用於旋轉。旋轉示意圖 假定我們有乙個經過原點的旋轉軸 其中 則,3d旋轉可以通過四元數乘法來表示 1 其中,為單位四元數,等價於 和 分別為 的共軛和逆。對於單位四元數而言 根據式 1 結合四元數的乘法,可以完成一...

四元數乘法 旋轉之四 四元數

用 表示四元數是為了紀念其發明者 hamilton.其中 可以根據 來推導以下式子 跟複數類似,我們可以把四元數寫成 它的基是 或者 類似複數,四元數的模長 範數norm 定義為 也可寫成 同複數的乘法不同,四元數乘法不遵守交換律,所以有左乘和右乘的說法,結合律和分配律還是滿足的。類似的,我們也可以...

四元數左乘右乘 四元數 旋轉

四元數系列 首先很感謝各位的支援,本來我也就是說寫個自己看的筆記啥的,沒想到那麼多人點贊。本篇主要介紹旋轉相關的知識,其中會盡量把我認為精彩的部分說細一點,更像教程的方式去敘述,但是基礎性的公式證明應該還是不會提,畢竟篇幅有限。0.胡爾韋茲定理 上篇四元數定義中,為了完整性,我提到了三元數或五元數理...