Eigen::Vector3d euler_angles = rotation_matrix.eulerAngles ( 2,1,0 );
时间: 2024-04-06 13:28:59 浏览: 81
这同样是一行代码,它的作用是将旋转矩阵转换为欧拉角表示,并存储在一个Vector3d类型的变量euler_angles中。其中,eulerAngles()函数的三个参数分别代表旋转顺序,这里是Z-Y-X(或者说Roll-Pitch-Yaw)顺序。具体来说,第一个参数2表示绕z轴旋转(Roll),第二个参数1表示绕y轴旋转(Pitch),第三个参数0表示绕x轴旋转(Yaw)。返回的结果是一个Vector3d类型的向量,分别表示绕x轴、y轴、z轴旋转的角度。
相关问题
Eigen::Vector3f temp_in; temp_in << 1, 1, 1;Eigen::Matrix3f lidar2origin_trans = Eigen::Matrix3f::Identity();Eigen::Vector3f local_pos = lidar2origin_trans * temp_in; local_pos 转temp_in
要将 local_pos 转换回 temp_in,可以使用以下代码:
```
Eigen::Vector3f temp_out = lidar2origin_trans.inverse() * local_pos;
```
这将使用 lidar2origin_trans 的逆矩阵将 local_pos 转换回 temp_in。
Eigen::Vector3d v_rotated = rotation_vector * v;
这段代码将旋转向量rotation_vector作用于向量v上,得到旋转后的向量v_rotated。在Eigen库中,向量与矩阵的乘法采用的是矩阵乘法规则,即左乘旋转矩阵或者右乘变换矩阵。在这里,我们采用的是左乘旋转矩阵的方式,即先将旋转向量通过指数映射(exp)转换成旋转矩阵(rotation matrix),然后将旋转矩阵与原始向量v相乘,得到旋转后的向量v_rotated。因此,v_rotated的值为旋转后的结果,其类型为Eigen::Vector3d。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)