Eigen Library支持使用轴角参数创建矩阵。如何执行相反的操作并从矩阵中确定轴角(我对欧拉集合不感兴趣,只是单轴角度结果)。
答案 0 :(得分:3)
Eigen提供一个AngleAxis
构造函数,它以矩阵作为参数。所以,它只是:
#include <iostream>
#include <Eigen/Core>
#include <Eigen/Geometry>
int main()
{
Eigen::Vector3d axis;
axis.setRandom();
std::cout << axis << "\n\n";
axis.normalize();
std::cout << axis << "\n\n";
Eigen::Matrix3d mat;
mat = Eigen::AngleAxisd(0.256, axis);
Eigen::AngleAxisd newAngleAxis(mat);
std::cout << newAngleAxis.angle() << "\n" << newAngleAxis.axis() << "\n\n";
return 0;
}
哪个输出:
-0.997497
0.127171
-0.613392-0.846852
0.107965
-0.5207550.256
-0.846852
0.107965
-0.520755
或类似的东西。