Я работаю с библиотекой Eigen и, в частности, с 2-мерными изометриями для представления позы объекта в 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));
Это проверено и работает нормально, но писать это все время неудобно. Поэтому мой вопрос заключается в том, знает ли кто-нибудь более хороший способ получить theta
, просто вызывая собственные методы.