繞任意軸旋轉的變換矩陣的推導


本文參考自http://hi.baidu.com/lsjsuper/blog/item/4ca2c2773584ef08b051b9bd.html,並進行了補充說明與完善,目的在於幫助大家更好的理解推導過程^-^!大家可以看完原文再看本文,也可以直接看本文,謝謝!

 

推導過程中我們使用的是左手坐標系。

現在,我們假設3D空間中有一點P要繞任意軸A進行旋轉,如圖:

                                 圖1

首先我們將P看成從原點出發的自由向量,將其分解為平行於軸A與垂直於軸A的分量A1A2的形式,如圖:

                                 圖2

向量加法的幾何解釋為: u + v = 將向量v平移,使其始端與u的末端重合,u + v就是自向量u的始端指向平移后的向量v的末端的向量。

所以,由圖2可以知道:

 (公式1)

 

現在,我們先來求A1。我們知道,一個向量 = 該向量的模 * 該向量對應的單位向量。所以(式1)

假設A1與點P之間的夾角為θ,根據圖2,可以知道(式2)。所以合並式1,式2后我們可以得到

由於A1向量是點P相對於A軸的平行投影,所以A1的單位向量與A的單位向量是相同的,於是,我們得到

因為一個向量的單位向量 = 該向量 / 該向量的模,所以,此時,我們把A當做單位向量來對待,那么A的模就是1。所以,(公式2)

而根據公式1可求得(公式3)

 

由於平行分量A1在旋轉過程中是不會變的,所以關鍵就在於垂直分量A2。現將P旋轉θ度后效果如圖:

           圖3: P繞A軸旋轉θ度,P'為旋轉后的點

根據上文提到的向量加法幾何解釋,我們知道:

(公式4)

A1我們上面已經求過了,現在只要求出A3,那么就能求出旋轉后的點P'。

因為A2到A3的旋轉是在垂直於A軸平面內進行的,所以可以將A3分解為A2與A2逆時針方向旋轉90度的向量A4上的兩個分量的形式。如圖:

                                 圖4

我們先來求A4。根據圖2,我們知道(公式5)

而A4是A2逆時針旋轉90度而來的向量,所以A4的模 = A2的模。所以(公式6)

根據圖4,我們可以發現(公式7)。這樣,A4與A4的模都求完了。

接下來就要求A3了,我們用一個垂直於A的平面圖來看一下,這樣更直接,如圖:

                     圖5

A2'與A4'分別為A3在A2與A4上的分量。

根據上文提到的向量的幾何解釋,我們知道(公式8)
並且由於一個向量 = 該向量的模 * 該向量對應的單位向量,我們可以求得A2'和A4':

(公式9)

(公式10)

 因為A3,A4都是A2旋轉得到的向量,所以它們3者的模相同,所以我們可以簡化公式9和公式10,得到:

(公式11)

(公式12)

現在,我們可以總結了。首先,將我們求得的各項結果代入公式4,得到:

 

將上面的式子合並整理后,得到:

(公式13)

 

現在,我們假設如下:

 

我們來把上面總結整理的式子寫入矩陣,首先,寫第一項:

(公式14)

第二項:

 (公式15)

第三項:

 (公式16)

最后,把3項代入公式13,即得:

 

 

后,我們求得了繞任意軸旋轉的變換矩陣:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM