Eigen::rotation
时间: 2023-09-10 09:04:49 浏览: 104
rotation.h
Eigen::Rotation 是 Eigen 库中的一个类,用于表示旋转矩阵或四元数。它可以用于实现旋转变换。Eigen::Rotation 支持多种旋转表示方式,包括欧拉角、轴角、旋转矩阵和四元数等。可以通过 Eigen::Quaterniond 类来创建一个四元数表示旋转,也可以通过 Eigen::AngleAxisd 类来创建一个轴角表示旋转。其中 AngleAxisd 是一个带有角度和轴向的类,可以通过对该类进行运算来实现旋转变换。例如,可以使用 Eigen::AngleAxisd 创建一个绕 x 轴旋转 90 度的旋转矩阵:
```cpp
Eigen::AngleAxisd rotation(M_PI / 2, Eigen::Vector3d::UnitX());
Eigen::Matrix3d rotation_matrix = rotation.toRotationMatrix();
```
这里使用了 M_PI 宏定义来表示 π,Eigen::Vector3d::UnitX() 表示 x 轴的单位向量。toRotationMatrix() 方法可以将 AngleAxisd 类型的旋转转换为旋转矩阵。
阅读全文