在使用eigen進行四元數到尤拉角的轉換過程中,需要注意四元數x,y,z,w的位置關係,轉換過程中容易出錯。需要注意有時候需要變換x和z的位置,因為有時候座標軸的朝向可能不一致。
如果一定要使用eigen最好使用tf中的getyaw()函式進行驗證,或者用直接轉換的進行驗證。
如果只轉化z軸可以用四元數和尤拉角的轉換公式進行直接的轉換。
注:網上的一些轉化公式沒有錯,但是沒有考慮座標軸是否準確。感覺eigen的四元數和尤拉角的轉化有一定的問題。tf::getyaw()函式比較準確。也可以直接用公式來確定。
Eigen實現尤拉角 四元數和旋轉矩陣之間的變換
include相應的標頭檔案 include旋轉矩陣和旋轉向量的表示和宣告及旋轉 3d 旋轉矩陣直接使用 matrix3d 或 matrix3f eigen matrix3d rotation matrix eigen matrix3d identity 旋轉向量使用 angleaxis,它底層不直...
Eigen 四元數 尤拉角 旋轉矩陣 旋轉向量
一 旋轉向量 1.0 初始化旋轉向量 旋轉角為alpha,旋轉軸為 x,y,z eigen angleaxisd rotation vector alpha,vector3d x,y,z 1.1 旋轉向量轉旋轉矩陣 eigen matrix3d rotation matrix rotation ma...
四元數和方向
三維計算中,經常需要計算方向,假定三維座標係為右手系,z向上,y向前,x 向右。通常的作法是,getlookat,獲取eye和target,來計算dir dir target eye 除此,可以使用四元數來計算 ogre vector3 dir mnode getorientation ogre v...