三維空間 旋轉矩陣 四元數 尤拉角 相互轉換 組合旋轉
API和原始碼
旋轉矩陣 四元數 尤拉角 相互轉換的原始碼
這個是開源的原始碼。在ROS 的TF2包中就有。
TF2是TF的第二個版本。
API說明:
http://docs.ros.org/hydro/api/tf2/html/classtf2_1_1Matrix3x3.html
http://docs.ros.org/hydro/api/tf2/html/classtf2_1_1Quaternion.html
原始碼頁:
http://docs.ros.org/hydro/api/tf2/html/Quaternion_8h_source.html
http://docs.ros.org/hydro/api/tf2/html/Matrix3x3_8h_source.html
http://docs.ros.org/hydro/api/tf2/html/Vector3_8h.html
理論說明:
參見
http://blog.csdn.net/wangjiannuaa/article/details/8952196
當用一個四元數乘以一個向量時,實際上就是讓該向量圍繞著這個四元數所描述的旋轉軸,轉動這個四元數所描述的角度而得到的向量
四元組的優點
有多種方式可表示旋轉,如 axis/angle、尤拉角(Euler angles)、矩陣(matrix)、四元組等。 相對於其它方法,四元組有其本身的優點:
四元數不會有尤拉角存在的 gimbal lock 問題
四元數由4個陣列成,旋轉矩陣需要9個數
兩個四元數之間更容易插值
四元數、矩陣在多次運算後會積攢誤差,需要分別對其做規範化(normalize)和正交化(orthogonalize),對四元數規範化更容易
與旋轉矩陣類似,兩個四元組相乘可表示兩次旋轉
兩個四元數相乘也表示一個旋轉
Q1 * Q2 表示先以Q2旋轉,再以Q1旋轉
相關文章
- 三維旋轉:旋轉矩陣,尤拉角,四元數矩陣
- 旋轉矩陣與尤拉角的相互轉換矩陣
- 剛體在三維空間的旋轉(關於旋轉矩陣、DCM、旋轉向量、四元數、尤拉角)矩陣
- 旋轉矩陣、尤拉角、四元數、軸/角之間的轉換矩陣
- 三維座標系旋轉——旋轉矩陣到旋轉角之間的換算矩陣
- 利用三維旋轉矩陣在空間中旋轉平面矩陣
- 三維空間座標系變換-旋轉矩陣矩陣
- 旋轉變換(一)旋轉矩陣矩陣
- 三維旋轉矩陣推導矩陣
- 三維空間中物體兩次旋轉之間的連續旋轉矩陣計算矩陣
- 空間旋轉矩陣怎麼表示矩陣
- 原地旋轉矩陣(不申請新的記憶體空間旋轉矩陣)矩陣記憶體
- 旋轉的數學表達:尤拉角、軸向角、四元數與矩陣矩陣
- 旋轉矩陣矩陣
- 矩陣旋轉矩陣
- 三維空間變換中旋轉矩陣左乘與右乘的區別矩陣
- 三維座標系的旋轉矩陣矩陣
- 二維旋轉矩陣推導矩陣
- 三維重建學習(1):基礎知識:旋轉矩陣與旋轉向量矩陣
- 三維旋轉矩陣 左乘和右乘分析矩陣
- 旋轉矩陣推導矩陣
- lisp 習題 矩陣旋轉Lisp矩陣
- 單像空間後方交會計算旋轉矩陣矩陣
- 三維圖形繞任意軸旋轉矩陣求解步驟矩陣
- 矩陣變換:沿任意軸旋轉及其推導矩陣
- 正方形矩陣旋轉90度矩陣
- THREE 矩陣優先原則和平移旋轉矩陣矩陣
- 【CV】三維空間的旋轉問題(Rotation in 3D space)3D
- 3D旋轉矩陣的推導3D矩陣
- 圖形學 旋轉與投影矩陣—1矩陣
- 圖形學 旋轉與投影矩陣—2矩陣
- 圖形學 旋轉與投影矩陣-3矩陣
- 旋轉矩陣(Rotate Matrix)的性質分析矩陣
- 三維旋轉矩陣的推導過程(以右手座標系為例)矩陣
- 矩陣旋轉-Eigen應用(QTCreator編輯器)矩陣QT
- 第四個OpenGL程式,vector 向量 (矩陣變換之 旋轉,縮放)矩陣
- Silverlight的旋轉之仿射矩陣變換的解釋矩陣
- [JAVA]陣列旋轉輸出Java陣列