從乙個座標系到另乙個座標系的轉換前面談到有多種轉換方法:尤拉角法、方向余弦矩陣法、四元數法等。
其中尤拉角法的核心思想是:乙個座標系可以用另乙個參考座標系的三次空間旋轉來表達。旋轉座標系的方法又有兩種:一種是依次旋轉三個不同的座標軸;另一種是相鄰兩次旋轉不同的座標軸。
第一種旋轉方法稱之為tait–bryanangles(可選順序有x-y-z,y-z-x, z-x-y,x-z-y, z-y-x, y-x-z);
第二種旋轉方法稱之為euler angles(可選順序有z-x-z,x-y-x, y-z-y,z-y-z, x-z-x, y-x-y)。
另外還有兩個概念,外在旋轉(extrinsicrotations)和內在旋轉(intrinsic
rotations)。我們固定不動的參考座標係為xyz,需要被旋轉的座標係為abc。初始狀態兩個座標值完全重合,現在的目標是旋轉座標abc到達指定位置。所謂的外在旋轉指的是三次旋轉中每次旋轉的旋轉軸都是固定參考係中的xyz軸中的乙個軸。例如:tait–bryanangles的xyz順序,那麼在旋轉abc的時候,每次旋轉把abc座標系圍繞固定參考係xyz中的某個軸旋轉;而內在旋轉指的是在旋轉abc的時候,每次旋轉圍繞的的軸是上一次abc旋轉後的某個軸。打個比方,就好比數學中的數列問題,題目一般給出的是n項和n-1項的關係表示式,n項的值是根據前一項推導出來的,建立在前一次的值之上,而通項公式則是可以直接通過n的表示式計算任意第n項的值,比如計算第10項的值直接通過n的表示式就可以計算出來,而不需要通過計算第9項、第8項…直到第一項後再反推。外在旋轉好比通項公式,每次旋轉都是通過固定的參考係xyz旋轉而來,與旋轉過程中的abc狀態無關。而內在旋轉則需要根據上次旋轉後轉軸,在這個轉軸的基礎上再旋轉,所以旋轉軸是變動的,好比數列中的n項和n-1項的遞推關係。關於內在旋轉和外在旋轉的關係,如果將其中一種旋轉的第一次旋轉和第三次旋轉互換位置,那麼他們就是等價的。
內旋轉
外旋轉證明關於內在旋轉和外在旋轉的關係,如果將其中一種旋轉的第一次旋轉和第三次旋轉互換位置,那麼他們就是等價的
為了方便證明我先定義一些記號,
記:繞座標系e下的x軸旋轉α的旋轉矩陣為rx,
繞座標系e下的y軸旋轉β的旋轉矩陣為ry,
繞座標系e下的z軸旋轉r的旋轉矩陣為rz,
繞座標系e下的z軸旋轉r的旋轉矩陣為rr(rr=rz),
繞 座標系e在繞z軸旋轉r後的新系e'下的y軸旋轉β的旋轉矩陣為rb,
繞 座標系e'在繞y軸旋轉β後的新系e''下的x軸旋轉α的旋轉矩陣為ra,
另外,將矩陣r的逆記作r~
求證:rx*ry*rz = rr*rb*ra
證明:rr = rz 定義就是一樣的,顯然相等
rb = rr~*ry*rr 要得到繞 座標系e在繞z軸旋轉r後的新系e'下的y軸旋轉β的旋轉矩陣為rb,可以先應用rr~這時可以視作在e下,然後使用e下的旋轉ry繞舊的y軸旋轉,在應用rr轉回到e'
ra = (rr*rb)~*rx*(rr*rb) 理由同上
所以 右邊=rr*rb * ra
=rr*rb * (rr*rb)~*rx*(rr*rb)
=(rr*rb)* (rr*rb)~*rx*(rr*rb)
=rx*(rr*rb)
=rx*(rr*rr~*ry*rr)
=rx*ry*rz =左邊
#證畢
可見以z-y-x旋轉的內部旋轉的矩陣=以x-y-z旋轉的外部旋轉矩陣
十四講 旋轉向量 旋轉矩陣 尤拉角
include include include include include using namespace std define m pi 3.14159265358979323846 intmain int argc,char ar 結果為 rotation vector axis 00 1 ...
Eigen 四元數 尤拉角 旋轉矩陣 旋轉向量
一 旋轉向量 1.0 初始化旋轉向量 旋轉角為alpha,旋轉軸為 x,y,z eigen angleaxisd rotation vector alpha,vector3d x,y,z 1.1 旋轉向量轉旋轉矩陣 eigen matrix3d rotation matrix rotation ma...
尤拉角的概念理解和尤拉角旋轉矩陣推導
尤拉角用來計算空間中剛體的旋轉位置,目的是改變剛體的朝向.具體來說,空間中有乙個點p和一根軸k,點p繞軸k旋轉 角度到p 求p 的座標.這就是尤拉角要解決的問題.只不過,尤拉角將1個點繞1根軸旋轉1個角 轉化為 1個點繞3個軸連續旋轉3個角 尤拉角的最終目的是為了改變剛體的朝向,剛體可以看做向量的集...