#include <iostream>
using namespace std;
#include <Eigen/Core>
#include<Eigen/Geometry>
#include <ctime>
#include <cmath>//欧拉角
#include "sophus/so3.h"
#include "sophus/se3.h"
int main(int argc, char **argv)
{
//角轴表达 沿Z轴旋转90度
Eigen::Matrix3d R=Eigen::AngleAxisd(M_PI/2,Eigen::Vector3d(0,0,1)).toRotationMatrix();
cout.precision(6);
Sophus::SO3 SO3_R(R);//由旋转矩阵构造
Sophus::SO3 SO3_v(0,0,M_PI/2);//由旋转向量构造
Eigen::Quaterniond q(R);//从四元数构造
Sophus::SO3 SO3_q(q);
cout<<"SO3_R="<<SO3_R<<endl;
cout<<"SO3_v="<<SO3_v<<endl;
cout<<"SO3_q="<<SO3_q<<endl;
cout<<"SO3_R.matrix()="<<SO3_R.matrix()<<endl;
//使用对数映射获得李代数
Eigen::Vector3d so
Sophus库练习(李群李代数)---参考SLAM十四讲4.4
最新推荐文章于 2024-05-06 16:53:19 发布