Матрица кросс-произведений в Eigen

Есть ли готовая функция или метод в Eigen для Шляпный оператор? Это оператор, возвращающий матрицу, которая имитирует перекрестное произведение с этим вектором. Я знаю, что это легко написать, но хотел бы избежать этого:

Eigen::Vector3d t = // some vector ;
Eigen::Matrix3d t_hat;
t_hat << 0, -t(2), t(1),
t(2), 0, -t(0),
-t(1), t(0), 0;

13

Решение

Как вы заметили оба пересекать и cross3 методы фактически выполняют умножение. Но вы хотите сделать кососимметричная матрица представление t,

То, что у тебя есть, похоже, лучшее, что ты можешь сделать для Vector3d а также Matrix3d, Обобщая для различных типов t потребует больше времени, чем у меня сейчас, но это интересный вопрос, поэтому я могу исследовать позже.

4

Другие решения


По вопросам рекламы [email protected]