【问题标题】:Getting rotation angle from Eigen::Isometry2d从 Eigen::Isometry2d 获取旋转角度
【发布时间】:2020-05-15 01:25:41
【问题描述】:

我正在使用 Eigen 库,特别是 2d 等距来表示对象在 2D 世界中的姿势。

您可能知道,它包含三个部分:x 和 y 用于位置和角度 theta 用于旋转。

提取位置组件很简单:

Eigen::Isometry2d t;
double x = t.translation().x();
double y = t.translation().y();

对于旋转,可以使用如下公式:

double theta = atan2(t(1, 0), t(0, 0));

这是经过测试并且工作正常,但是一直写它有点不方便。因此我的问题是,是否有人知道通过调用 Eigen 方法获得theta 的更好方法。

【问题讨论】:

    标签: rotation eigen angle


    【解决方案1】:

    您可以从变换的线性部分构造一个Rotation2Dd 对象(如果您更喜欢使用标量,请使用.angle() 提取角度):

    double theta = Eigen::Rotation2Dd(t.linear()).angle();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      相关资源
      最近更新 更多