三維重建——座標系變換

轉載自:https://blog.csdn.net/Peng___Peng/article/details/51510668

僅做參考資料用。

 

 

爲了方便自己記憶,記錄一下三維座標旋轉矩陣的推導過程。

 

    座標的旋轉變換在很多地方都會用到,比如機器視覺中的攝像機標定、圖像處理中的圖像旋轉、遊戲編程等。

    任何維的旋轉可以表述爲向量與合適尺寸的方陣的乘積。最終一個旋轉等價於在另一個不同座標系下對點位置的重新表述。座標系旋轉角度θ則等同於將目標點圍繞座標原點反方向旋轉同樣的角度θ。

 

    若以座標系的三個座標軸X、Y、Z分別作爲旋轉軸,則點實際上只在垂直座標軸的平面上作二維旋轉。但是需要改一下,讓每一個旋轉的座標軸都朝向同一個方向,根據右手定則,在這裏所有的旋轉軸都是朝向裏面。。而且都是逆時針方向旋轉的。

 

   假設三維座標系中的某一向量,其在直角座標系中的圖如圖1所示。其中點P在XY平面、XZ平面、YZ平面的投影分別爲點M、點P、點N。

 

                                              

                                                                 圖1 直角座標系XYZ

 

   一、繞Z軸旋轉θ角

    繞Z軸旋轉,相當於在XY平面的投影OM繞原點旋轉,如下圖所示,OM旋轉θ角到OM'。

                                                 

                                                            

                                                                   圖2 向量繞Z軸旋轉示意圖 (這張圖有點小錯誤,根據右手定則,讓Z軸朝向裏面了,所以Y軸朝上。但是這三個旋轉軸應該統一設置朝外面,所Y軸是朝下的

   設旋轉前的座標爲,旋轉後的座標爲,則點M的座標爲,點M'的座標爲。由此可得:

                                                       

    對於進行三角展開可得:

                                                      

    且有;可得繞Z軸旋轉角的旋轉矩陣爲:

                         

                                                                   

 

   二、繞X軸旋旋轉θ角

   繞X軸旋轉,相當於在YZ平面的投影ON繞原點旋轉,如下圖所示,ON旋轉θ角到ON'。

                                                            

                                                                   圖3 向量繞X軸旋轉示意圖

 

   設旋轉前的座標爲,旋轉後的座標爲,則點N的座標爲,點N'的座標爲。由此可得:

 

                                                   

    對於進行三角展開可得:

                                                

    且有;可得繞X軸旋轉角的旋轉矩陣爲:

                         

                                                         

 

    三、繞Y軸旋旋轉θ角

    繞Y軸旋轉,相當於在XZ平面的投影OQ繞原點旋轉,如下圖所示,OQ旋轉θ角到OQ'。

                                                 

                                                            

                                                                   圖4 向量繞Y軸旋轉示意圖

 

   設旋轉前的座標爲,旋轉後的座標爲,則點Q的座標爲,點Q'的座標爲。由此可得:

 

                                               

    對於進行三角展開可得:

                                             

    且有;可得繞Y軸旋轉角的旋轉矩陣爲:

                         

                                           

 

 

 

    四、繞X、Y、Z軸旋轉的旋轉矩陣分別爲:

 

                

 

    五、總結

    

    囉囉嗦嗦終於打完所有的公式了,其實三個軸會推導其中一個軸的旋轉矩陣的話,另外兩個軸也類似地可以很容易推導出來。這裏給出所有的推導過程只是爲了我自己記憶的方便。當然也可以不旋轉向量,而使用旋轉座標系的方法推導,兩種方法是等價的。

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