Eigen - 欧拉角、四元数、旋转矩阵 - 相互转换

欧拉角 -> 四元数:

Eigen::AngleAxisd rollAngle(roll, Eigen::Vector3d::UnitX());
Eigen::AngleAxisd pitchAngle(pitch, Eigen::Vector3d::UnitY());
Eigen::AngleAxisd yawAngle(yaw, Eigen::Vector3d::UnitZ());
Eigen::Quaterniond q = yawAngle * pitchAngle * rollAngle;
四元数 -> 旋转矩阵:

Eigen::Matrix3d rotationMatrix = q.toRotationMatrix();
欧拉角 -> 旋转矩阵:

即欧拉角 -> 四元数 -> 旋转矩阵。

旋转矩阵 -> 欧拉角:

Eigen::Vector3f rpy = matrix.eulerAngles(0, 1, 2); 
--------------------- 
作者:DaqianC 
来源:CSDN 
原文:https://blog.csdn.net/DaqianC/article/details/81474338 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/woshidenghaitao/article/details/89738822