You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Eigen::AngleAxisd转换为Eigen::Vector3d旋转向量

Eigen旋转矩阵逆转为旋转向量实现方案

旋转向量的核心定义为单位旋转轴 × 旋转角度(弧度制),你可以直接用AngleAxisd提供的两个成员组合得到目标Eigen::Vector3d对象,实现代码如下:

// 直接将角度与单位轴向量相乘即可
Eigen::Vector3d restored_rot_vec = rotvec2.angle() * rotvec2.axis();

注意事项

  • Eigen中AngleAxisd::angle()返回值为弧度制,和你构造AngleAxisd时传入的角度单位完全匹配,无需额外单位转换。
  • 从旋转矩阵构造AngleAxisd时,Eigen默认返回的角度范围为[0, π],如果原始旋转向量的模长(即旋转角度)超出该范围,转换得到的旋转向量会和原始向量存在2π * 单位轴的偏移,或轴方向取反+角度补至[0, π]区间,二者属于等效旋转表示,实际旋转效果完全一致。

内容的提问来源于stack exchange,提问作者Alejandro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:36:03