羅德里格斯公式的證明

2022-06-11 14:42:11 字數 2030 閱讀 8037

羅德里格斯的旋轉公式

這篇文章是關於羅德里格斯的旋轉公式,它與相關的尤拉羅德里格斯引數和尤拉羅德里格斯公式的3d旋轉不同。

在三維旋轉理論中,對於給定旋轉軸和旋轉角度,以olinde rodrigues命名的羅德里格斯公式是用於在空間旋轉向量的高效演算法。通過擴充套件,它可以用於把所有軸角表達的三維向量轉化為so(3)中的旋轉矩陣,s0(3)是包含所有旋轉矩陣的群。換句話說,羅德里格斯公式提供了一種演算法來計算從so(3)的李代數so(3)到李群so(3)的指數對映,而沒有實際計算全矩陣指數。

定義假設v是r3中的乙個向量,並且k是乙個描述旋轉軸的單位向量,v根據右手規則旋轉角度θ,則rodrigues公式為

另一種說法是將軸向量作為定義旋轉平面的任意兩個非零向量a和b的交叉乘積a×b,並且角度θ的方向是從a向b測量的。令α表示這些向量之間的角度,兩個角度θ和α不需要等同,但是它們的測量方式相同。 然後可以單位軸向量可以寫為

當涉及定義平面的兩個向量時,這種形式可能更有用。

物理學中的乙個例子是托馬斯歲差,它包括由羅德里格斯公式給出的旋轉,用兩個非共線助推速度表示,旋轉軸垂直於它們的平面。

求導令k是定義旋轉軸的單位向量,令v是以角度θ圍繞k旋轉的任意向量(右手定則,圖中逆時針)。

使用點乘和叉乘,向量v可以分解成與軸k平行和垂直的分量,

與k平行的分量是

稱為v在k上的向量投影,垂直於k的分量為

稱為k從v的向量拒絕。

向量k×v可以看作是v⊥逆時針旋轉90°左右的副本,所以它們的大小相等,但是方向是垂直的。同樣,向量k×(k×v),v⊥的乙個副本逆時針旋轉180°到k左右,使得k×(k×v)和v⊥的大小相等,但方向相反(即它們是互為負數,因此減號)。擴充套件向量三重乘積建立了平行分量和垂直分量之間的連線,參考公式為a×(b×c)=(a·c)b - (a·b)c  給定任意三個向量a,b,c。

平行於軸的分量在旋轉下不會改變幅度和方向,

根據以上分析,只有垂直分量才會改變方向,但保持其大小

並且由於k和v||是平行的,所以它們的叉積是零  k×v|| = 0,因此

並且這種旋轉是正確的,因為向量v⊥和k×v具有相同的長度,並且k×v是v⊥圍繞k逆時針旋轉90°。

使用三角函式正弦和余弦對v⊥和k×v進行適當的縮放給出旋轉的垂直分量。

旋轉分量的形式類似於笛卡爾基的2d平面極座標(r,θ)中的徑向向量

其中ex,ey是它們指示方向上的單位向量。

現在完整的旋轉向量是

用等式結果中的v ||rot和v⊥rot的定義代替

矩陣表示

將v和k×v表示為列矩陣,叉積可以表示為矩陣乘積

令k表示單位向量k的「叉積矩陣

矩陣方程可以表示為

對於任何向量v(實際上,k是具有這個性質的獨特矩陣,它具有特徵值0和±i)。

迭代右邊的交叉乘積相當於乘以左邊的交叉乘積矩陣,特別是

而且,由於k是單位向量,所以k具有單位2-範數。 因此矩陣語言中的上乙個旋轉公式是

請注意,在這個表示法中,主要術語的係數現在是1。

將v分解可以實現緊湊表示式

這裡是圍繞軸k逆時針旋轉角度θ的旋轉矩陣,i是3×3單位矩陣。

矩陣r是旋轉群so(3)的乙個元素,k是李代數的乙個元素,所以so(3)生成李群(注意k是負對稱的,這表徵了so(3)的特性)。 就矩陣指數而言,

為了理解最後的恒等式,要注意到

單引數子群的特徵,即指數,並且公式與無窮小θ相匹配。

對於基於這種指數關係的替代推導,請參閱從so(3)到so(3)的指數對映。 對於逆對映,請參見從so(3)到so(3)的日誌對映。

羅德里格斯公式推導

k為單位向量,向量v繞旋轉軸k旋轉 得到向量vrot,那麼就有下面的旋轉方程使等式成立 vrot rv 而這個旋轉方程就是羅德里格斯方程 r cos i 1 cos kk sin k 下面開始推導 向量分解 v v k k 向量點乘得標量,k為單位向量 vrot vrot v vrot a b 由圖...

羅德里格斯(Rodrigues)旋轉方程推導

羅德里格斯旋轉方程是從角度和向量計算出相應的旋轉矩陣,這個旋轉方程在很多方面有重要的應用,這裡簡要概述一下方程的推導過程。維基百科 羅德里格斯方程 推導過程 整個推導過程都是圍繞上面的開展的,進行向量推導。首先,定義向量k是旋轉軸的單位向量,向量v是繞向量k旋轉角度 的任意向量 旋轉方向遵循右手定則...

雙目測距(四) 羅德里格斯變換

原文 從今天開始,把自己學習opencv的心得記錄下來,以系列的形式貼到部落格中,以期交流與備查之用,筆記內容主要偏向於演算法的理解。處理三維旋轉問題時,通常採用旋轉矩陣的方式來描述。乙個向量乘以旋轉矩陣等價於向量以某種方式進行旋轉。除了採用旋轉矩陣描述外,還可以用旋轉向量來描述旋轉,旋轉向量的長度...