opencv基礎:羅德里格斯旋轉公式(Rodrigues' rotation formula)推導 rodrigues()函數原理

參考:1—https://openhome.cc/Gossip/WebGL/Rodrigues.html(比較好的理解流程)
2—https://www.cnblogs.com/wtyuan/p/12324495.html(推導出旋轉矩陣R)
建議看原鏈接!!
具體如下:


        <p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">在〈</font></font><a href="TransformationMatrix.html"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">轉換矩陣</font></font></a><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">〉中談到的旋轉,是頂點繞着X、Y或Z軸轉動,然而有時會需要繞着指定的特定軸來旋轉頂點,軸的部份會使用向量來表示,例如下圖,使用u來表示旋轉軸,旋轉角度爲θ:</font></font></p>

Rodrigues 旋轉公式

如果對於3D方面的數學有些涉獵,看到這個需求應該會想到四元數與旋轉,就結論來說,可以將這個需求化爲一個四元數,然而套用四元數旋轉矩陣,就可以達成任務,然而,若你對四元數或其旋轉矩陣的導證有興趣,認識Rodrigues旋轉公式的導證,會有所幫助。

首先,旋轉時的圓路徑構成一個平面,該平面與u 正交,把這個平面置於原點,若未旋轉的頂點使用向量v 來表示,可以將之分解爲兩個向量v1、v2:

Rodrigues 旋轉公式

v1爲v在u上的投影,而v2爲v在平面上的投影,a爲v1、v2的夾角,根據內積公式u‧v = |u||v| cos(a),若要求得v1可以如下:

Rodrigues 旋轉公式

實際上對於旋轉軸u,只需關心它的方向,不用在意它的大小,因此u 可以用單位向量指定,也就是|u| 會是1,結果就是:

Rodrigues 旋轉公式

接下來要繞着u 旋轉v 得到v',就可以看成是v1 與v2 繞着u 旋轉,若旋轉後分別得到v1' 與v2',最後得到v' = v1' + v2':

Rodrigues 旋轉公式

對於v1 來說,因爲跟u 平行,旋轉後還是相同,也就是v1' = v1,至於v2 的轉動,可以分解爲平面上的兩個向量:

Rodrigues 旋轉公式

爲了能計算v2' 在上圖中垂直軸上的投影,必須要有垂直軸的向量w,因爲指定的旋轉軸u 與v2 正交,那麼w 可以由u 與v2 的外積取得,也就是w = ux v2,單位向量爲w/|w|,因此v21' 與v22' 會是:

Rodrigues 旋轉公式

因爲|v2'| 就是|v2|,因此:

Rodrigues 旋轉公式

外積公式a x b = |a||b|sin(a) n,n爲與a、b正交的單位向量,在這邊a爲u,b爲v2,而u與v2正交,因此ux v2 = |u||v2| n,n就是w/| w|,因此|w|就是|u||v2|w / (ux v2),u是單位向量,|u|爲1,因此|w|爲|v2|w / (ux v2),代入上面的式子化簡後得到:

Rodrigues 旋轉公式

因此v2' = v21' + v22' = sin(θ)(ux v2) + cos(θ)v2,其中ux v2 可以是ux (v - v1) = uxv - ux v1,因爲u 與v1 平行,ux v1爲0,所以ux v2 會是uxv,最後就是v2' = sin(θ)(uxv) + cos(θ)v2。

因爲v旋轉後得到v' = v1' + v2',前面已導出v1' = v1,而v1 = (u‧v) u,v2 = v - (u‧v) u,因此
v'爲(u‧ v) u + sin(θ)(uxv) + cos(θ)(v - (u‧v) u),整理一下可以得到最後的旋轉公式:

Rodrigues 旋轉公式

公式是導出來了,不過看起來複雜,有個軸角(axis–angle)轉換矩陣與要轉動的向量結合後,等價於此公式,不過矩陣相對於四元數旋轉矩陣來說,還是複雜許多,因而比較少見到這個公式的運用或實作。

不過,利用分解向量以及有些向量之間的正交關係,來導證出旋轉公式的過程,與導證四元數旋轉矩陣的過程會有關聯,這之後再來簡單聊聊!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章