旋转矩阵和四元数互转
复制代码
1
2
3
4
5
6//转四元数 Eigen::Matrix3d rotationMat; const Eigen::Quaterniond quat(rotationMat); //转旋转矩阵 Eigen::Matrix3d Matrix_= quat.toRotationMatrix();
矩阵拼接
复制代码
1
2
3
4
5
6
7Eigen::Matrix4d outputMatrix; Eigen::Matrix4d m4d=Eigen::Matrix4d::Identity(); Eigen::Matrix3d Matrix_= quat.toRotationMatrix(); outputMatrix.topLeftCorner(3, 3) = Matrix_; outputMatrix.topRightCorner(3, 1) = m4d.topRightCorner(3, 1); outputMatrix.bottomRightCorner(1, 4) << 0, 0, 0, 1;
Isometry3d类型转换构建
复制代码
1
2
3
4
5Eigen::Matrix4d CalcoarseMatrix; Eigen::Isometry3d isometry3dCoarse=Eigen::Isometry3d::Identity(); isometry3dCoarse.rotate(CalcoarseMatrix.block<3,3>(0,0)); isometry3dCoarse.pretranslate(Eigen::Vector3d(CalcoarseMatrix(0,3),CalcoarseMatrix(1,3),CalcoarseMatrix(2,3)));
数据类型强制转换
复制代码
1
2
3Eigen::Matrix4f Transformation; Eigen::Matrix4d Transformationd=Transformation.cast<double>();
最后
以上就是忧心白开水最近收集整理的关于Eigen使用过程中的积累旋转矩阵和四元数互转的全部内容,更多相关Eigen使用过程中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复