шаблон<typename _Scalar, int _Options> класс Eigen::Quaternion< _Scalar, _Options >
Класс кватернионов, используемый для представления 3D ориентаций и вращений.
Определён в модуле Geometry.
#include <Eigen/Geometry>
Шаблочные параметры
_Scalar
тип скаляра, т.е. тип коэффициентов
_Options
управляет выравниванием памяти коэффициентов. Может быть # AutoAlign или # DontAlign. По умолчанию AutoAlign.
Этот класс представляет кватернион \( w+xi+yj+zk \), который является удобным представлением ориентаций и вращений объектов в трёх измерениях. По сравнению с другими представлениями, такими как углы Эйлера или 3x3 матрицы, кватернионы обладают следующими преимуществами:
компактное хранение (4 скаляра)
эффективное композирование (28 операций с плавающей запятой),
стабильная сферическая интерполяция
Для удобства предоставляются следующие два определения типов:
Quaternionf для float
Quaterniond для double
Предупреждение
Операции, интерпретирующие кватернион как вращение, имеют неопределённое поведение, если кватернион не нормирован.
Создаёт и инициализирует кватернион \( w+xi+yj+zk \) по его четырём коэффициентам w, x, y и z.
Предупреждение
Обратите внимание на порядок аргументов: вещественный коэффициент w указывается первым, в то время как внутренне коэффициенты хранятся в следующем порядке: [x, y, z, w]
Возвращает кватернион, представляющий поворот между двумя произвольными векторами a и b. Другими словами, построенный поворот отображает направление вектора a в направление вектора b, при этом оба вектора проходят через начало координат.
Возвращает
результирующий кватернион
Обратите внимание, что входящие векторы не обязательно должны быть нормированы, и не обязательно должны иметь одинаковую длину.