羅德里格斯的旋轉公式
這篇文章是關於羅德里格斯的旋轉公式,它與相關的尤拉羅德里格斯引數和尤拉羅德里格斯公式的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的心得記錄下來,以系列的形式貼到部落格中,以期交流與備查之用,筆記內容主要偏向於演算法的理解。處理三維旋轉問題時,通常採用旋轉矩陣的方式來描述。乙個向量乘以旋轉矩陣等價於向量以某種方式進行旋轉。除了採用旋轉矩陣描述外,還可以用旋轉向量來描述旋轉,旋轉向量的長度...