Вы можете убедиться, что ваш Eigen::Quaterniond
нормализован, вызвав его normalize()
метод.
Рассматриваемая строка явно преобразует все, что e.linear()
возвращает в Eigen::Quaterniond
.
Что касается перехода от матрицы вращения к кватерниону, Википедия описывает отношение . Это просто решение известного набора одновременных уравнений. Я ожидаю, что тело метода будет выглядеть (более или менее) как группа алгебры.