Eigen庫筆記整理(二)
阿新 • • 發佈:2018-04-07
向量 pre geo 直接 gpo 歐拉角 () blog 初始化
Eigen/Geometry 模塊提供了各種旋轉和平移的表示
旋轉矩陣直接使用 Matrix3d 或 Matrix3f
Eigen::Matrix3d rotation_matrix = Eigen::Matrix3d::Identity(); //初始化為一個單位陣。
旋轉向量使用 AngleAxis
Eigen::AngleAxisd rotation_vector ( M_PI/4, Eigen::Vector3d ( 0,0,1 ) ); //角+軸:沿 Z 軸旋轉 45 度
旋轉矩陣和旋轉向量的轉換:
rotation_vector.matrix() //旋轉向量------>旋轉矩陣
rotation_matrix = rotation_vector.toRotationMatrix(); //旋轉矩陣------>旋轉向量
歐拉角: 可以將旋轉矩陣直接轉換成歐拉角
Eigen::Vector3d euler_angles = rotation_matrix.eulerAngles ( 2,1,0 ); // ZYX順序,即roll pitch yaw順序
旋轉向量--------->四元數
Eigen::Quaterniond q = Eigen::Quaterniond ( rotation_vector );
旋轉矩陣--------->四元數
q = Eigen::Quaterniond ( rotation_matrix );
Eigen庫筆記整理(二)