#include
#include
#include "Eigen/Dense"
#include
using namespace std;
int main() {
Eigen::Matrix3d rotation_Matrid;//旋转矩阵
Eigen::AngleAxisd rotation_vector(M_PI / 4, Eigen::Vector3d(0, 0, 1));//旋转向量
Eigen::Vector3d eluerangle(2,1,0);//欧拉角
Eigen::Quaterniond quaterniond(rotation_vector);//四元数
Eigen::Isometry3d isometry3D_T= Eigen::Isometry3d::Identity();//欧式变换矩阵 初始化要为单位矩阵!!!!!
Eigen::Affine3d affine3D;//仿射变换
Eigen::Projective3d projective3D;//射影变换
rotation_Matrid = rotation_vector.toRotationMatrix();//旋转向量->旋转矩阵3x3
Eigen::Vector3d eluerangle_1 = rotation_Matrid.eulerAngles(2, 1, 0);//旋转矩阵->欧拉角 ZYX旋转 2:Z轴 1:Y轴 0:X轴 (2,1,2)-> ZYZ
Eigen::Vector3d v1(1,1,1);
Eigen::Vector3d v_rota = rotation_Matrid * v1;//用旋转矩阵变换
Eigen::Vector3d v_angle = rotation_vector * v1;//用旋转向量变换
isometry3D_T.rotate(rotation_vector);
isometry3D_T.pretranslate(Eigen::Vector3d(1, 3, 4));
Eigen::Vector3d v_transform = isometry3D_T*v1;//v_1(世界坐标系)变换到T的坐标系下
//cout<