eigen 将旋转矩阵转为旋转向量
时间: 2023-09-02 13:06:37 浏览: 240
xuanzhuanjuzhen.rar_旋转矩阵_矩阵旋转
您可以使用Eigen库中的`AngleAxis`类将旋转矩阵转换为旋转向量。以下是一个示例代码:
```cpp
#include <iostream>
#include <Eigen/Core>
#include <Eigen/Geometry>
int main()
{
// 定义一个旋转矩阵
Eigen::Matrix3d rotation_matrix;
rotation_matrix << 0.0, -1.0, 0.0,
1.0, 0.0, 0.0,
0.0, 0.0, 1.0;
// 将旋转矩阵转换为旋转向量
Eigen::AngleAxisd rotation_vector(rotation_matrix);
// 打印旋转向量的轴和角度
std::cout << "Rotation axis: " << rotation_vector.axis().transpose() << std::endl;
std::cout << "Rotation angle: " << rotation_vector.angle() << std::endl;
return 0;
}
```
这段代码将旋转矩阵
```
0 -1 0
1 0 0
0 0 1
```
转换为旋转向量,然后打印旋转向量的轴和角度。请注意,`AngleAxis`类的构造函数会自动将旋转矩阵转换为旋转向量。
阅读全文