一、歐拉角與旋轉矩陣
1、歐拉角的定義
定義一個歐拉角,需要明確下面5條:
1.三個旋轉角的組合方式
2.旋轉角度的參考坐標系統(旋轉是相對於固定的坐標系還是相對於自身的坐標系)
3.使用旋轉角度是左手系還是右手系
4.三個旋轉角的記法
5.主動旋轉還是被動旋轉
1.1 表示旋轉的歐拉角旋轉順序有12種
Proper/classic Euler angle
z-x-z,x-y-x,y-z-y,z-y-z, x-z-x,y-x-y
Tait-Bryan angle(也稱作:Cardan angles; nautical angles; heading、elevation、bank; yaw、pitch、rooll)
x-y-z,y-z-x,z-x-y,x-z-y,z-y-x,y-x-z
Proper/classic Euler angle說明這些角度並不是獨立的,例如當下面的旋轉組合:先繞x軸旋轉90度,再繞y軸旋轉90度,最后繞x軸旋轉-90度,
這一些列組合得到的效果與只繞z軸旋轉-90度是一樣的。
也就是說我們僅僅在2個平面上進行旋轉(其中一個平面上必須進行兩次旋轉)就可以得到任意的三維旋轉!
1.2 內在旋轉(intrinsic rotations)和外在旋轉(extrinsic rotations)
內在旋轉每次旋轉圍繞的軸是上次旋轉之后坐標系的某個軸,外在旋轉每次旋轉的軸是固定坐標系中的軸。內在旋轉與外在旋轉的轉換關系:
互換第一次和第三次旋轉的位置則兩者結果相同。例如Z-Y-X旋轉的內部旋轉和X-Y-Z旋轉的外部旋轉的旋轉矩陣相同:
Fig.2外在旋轉
1.3 使用旋轉角度是左手系還是右手系
使用右手的大拇指指向旋轉軸,其他4個手指在握拳過程中的指向便是正的角度
- 右手系是逆時針
- 左手系是順時針
1.4 主動旋轉和被動旋轉
主動旋轉是指將向量逆時針圍繞旋轉軸旋轉,被動旋轉是對坐標軸進行的逆時針旋轉,相當於主動旋轉的逆操作
2、不同軸的歐拉角轉換成旋轉矩陣
給出逆時針旋轉的角度為正時(與右手系旋轉方向相同的為旋轉正方向),繞不同軸的旋轉結果:

3、旋轉的本質

4、內部旋轉(Z-Y-X
)對應的旋轉矩陣
5、為什么內部旋轉(Z-Y-X
)和外部旋轉(X-Y-Z
)對應的旋轉矩陣是相同的
6.相機坐標系中歐拉角與旋轉矩陣的關系
對於兩個三維點 ,
,由點
經過旋轉矩陣
旋轉到
,則有:
任何一個旋轉可以表示為依次繞着三個旋轉軸旋三個角度的組合。這三個角度稱為歐拉角。 對於在三維空間里的一個參考系,任何坐標系的取向,都可以用三個歐拉角來表現,
如下圖(藍色是起始坐標系,而紅色的是旋轉之后的坐標系) :




因此歐拉角轉旋轉矩陣如下:
則可以如下表示歐拉角: