视觉SLAM学习:Eigen几何模块使用方法
Eigen库的使用
头文件包含:
#include <Eigen/Core>
#include <Eigen/Geometry>
using namespace Eigen;
基本讲解
数据结构
旋转向量 角1+轴3 『AngleAxisd』
旋转矩阵 3 * 3 『Matrix3d』
欧拉角 3 * 1 『Vector3d』
四元数 4 * 1 『Quaterniond』
欧式变换矩阵、仿射矩阵、射影矩阵 4 * 4 『 Isometry3d、Affine3d、Projective3d』
结构之间的变换
//旋转向量->矩阵形式
.matrix()
//旋转向量->旋转矩阵
.toRotationMatrix()
//旋转矩阵->欧拉角
.eulerAngles(2, 1, 0); // ZYX顺序,即yaw-pitch-roll顺序
//欧式变换矩阵建立
T.rotate(rotation_vector); // 按照rotation_vector旋转向量进行旋转
T.pretranslate(Vector3d(1, 3, 4)); // 把平移向量设成(1,3,4)
//四元数建立
Quaterniond q = Quaterniond(rotation_vector); //按照旋转向量进行建立
q.coeffs().transpose()