Eigen :: Affine3f中的变换

时间:2013-04-04 16:36:47

标签: translation transformation linear-algebra eigen

我对Eigen库不太熟悉,而且我被困在这段代码

motor1_to_motor2 =
          Translation3f(BigApeLeg::distanceJoint1ToJoint3(),0,0)
        * AngleAxisf(M_PI_2, Vector3f::UnitX())
        * AngleAxisf(M_PI_2, Vector3f::UnitY());

motor1_to_motor2是Eigen :: Affine3f Big :: ApeLeg :: distance ...必须返回一个浮点数

但我的问题是什么是Translation3f,什么是AngleAxisf。他们在做什么?他们又回来了什么?

我熟悉一些基本的转换。如果有人可以给我任何指示,我真的很感激?感谢

1 个答案:

答案 0 :(得分:2)

正如其名称所示,Translation3f代表使用浮点数的3D翻译。 AngleAxisf表示给定轴周围给定角度的3D旋转。两者都是类构造函数,而不是函数。

因此,

motor1_to_motor2是一个仿射变换,在Y周围旋转,然后绕X旋转,最后沿X轴平移。

这个doc应该会让你对Eigen的空间变换有一个很好的介绍。