Spec-Zone.ru › Eigen3
Eigen::AngleAxis
template<typename _Scalar> class Eigen::AngleAxis< _Scalar > Представляет 3D вращение как угол вращения вокруг произвольной 3D оси.
Это определено в модуле Geometry.
#include <Eigen/Geometry>
Параметры
_Scalar
тип скаляра, т.е. тип коэффициентов.
Предупреждение
При настройке объекта AngleAxis вектор оси обязательно должен быть нормализован .
Для удобства предоставляются следующие два определения типов:
AngleAxisf для float
AngleAxisd для double В сочетании с MatrixBase::Unit {X,Y,Z}, AngleAxis можно легко имитировать углы Эйлера. Вот пример:
Matrix3f m;
m = AngleAxisf (0.25*M_PI, Vector3f::UnitX ())
* AngleAxisf (0.5*M_PI, Vector3f::UnitY ())
* AngleAxisf (0.33*M_PI, Vector3f::UnitZ ());
cout << m << endl << "is unitary: " << m.isUnitary() << endl;
Вывод:
1.19e-07 0 1
0.969 -0.249 0
0.249 0.969 1.19e-07
is unitary: 1
Примечание
Этот класс не предназначен для хранения преобразования вращения, а скорее для облегчения создания других объектов вращения (Quaternion , вращательная Matrix ) и преобразования.
См. также
класс Quaternion , класс Transform , MatrixBase::UnitX()
Скаляр &
угол ()
Скаляр
угол () const
AngleAxis ()
template<typename OtherScalarType >
AngleAxis (const AngleAxis < OtherScalarType > &other)
template<typename Derived >
AngleAxis (const MatrixBase < Derived > &m)
template<typename QuatDerived >
AngleAxis (const QuaternionBase < QuatDerived > &q)
template<typename Derived >
AngleAxis (const Скаляр &угол , const MatrixBase < Derived > &ось )
Vector3 &
ось ()
const Vector3 &
ось () const
template<typename NewScalarType >
internal::cast_return_type< AngleAxis , AngleAxis < NewScalarType > >::type
cast () const
template<typename Derived >
AngleAxis < Скаляр > &
fromRotationMatrix (const MatrixBase < Derived > &mat)
Устанавливает *this по 3x3 матрице вращения.
AngleAxis
обратная () const
bool
isApprox (const AngleAxis &other, const typename NumTraits < Скаляр >::Real &prec=NumTraits < Скаляр >::dummy_precision()) const
QuaternionType
operator* (const AngleAxis &other) const
QuaternionType
operator* (const QuaternionType &other) const
template<typename Derived >
AngleAxis < Скаляр > &
operator= (const MatrixBase < Derived > &mat)
template<typename QuatDerived >
AngleAxis < Скаляр > &
operator= (const QuaternionBase < QuatDerived > &q)
Matrix3
toRotationMatrix (void) const
Публичные члены-функции, унаследованные от Eigen::RotationBase< AngleAxis< _Scalar >, 3 >
AngleAxis < _Scalar >
обратная () const
RotationMatrixType
matrix () const
internal::rotation_base_generic_product_selector< AngleAxis < _Scalar >, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType
operator* (const EigenBase < OtherDerived > &e) const
Transform < Скаляр , Dim, Mode >
operator* (const Transform < Скаляр , Dim, Mode, Options > &t) const
Transform < Скаляр , Dim, Isometry >
operator* (const Translation < Скаляр , Dim > &t) const
RotationMatrixType
operator* (const UniformScaling < Скаляр > &s) const
RotationMatrixType
toRotationMatrix () const
Скаляр template<typename _Scalar >
тип скаляра коэффициентов
AngleAxis() [1/5]
template<typename _Scalar >
Конструктор по умолчанию без инициализации.
AngleAxis() [2/5]
template<typename _Scalar >
template<typename Derived >
Создает и инициализирует вращение угол-ось по углу в радианах и оси , которая должна быть нормализована .
Предупреждение
Если вектор оси не нормализован, то объект угол-ось представляет некорректное вращение.
AngleAxis() [3/5]
template<typename _Scalar >
template<typename QuatDerived >
Создаёт и инициализирует вращение по углу-оси из кватерниона q . Эта функция неявно нормализует кватернион q .
AngleAxis() [4/5]
template<typename _Scalar >
template<typename Derived >
Создаёт и инициализирует вращение по углу-оси из 3x3 матрицы вращения.
AngleAxis() [5/5]
template<typename _Scalar >
template<typename OtherScalarType >
Конструктор копирования с преобразованием типа скаляра
angle() [1/2]
template<typename _Scalar >
Возвращает
ссылку на изменяемую часть сохранённого угла в радианах
angle() [2/2]
template<typename _Scalar >
Возвращает
значение угла поворота в радианах
axis() [1/2]
template<typename _Scalar >
Возвращает
ссылку на изменяемую часть сохранённой оси вращения.
Предупреждение
Ось вращения должна оставаться единичным вектором.
axis() [2/2]
template<typename _Scalar >
cast() template<typename _Scalar >
template<typename NewScalarType >
Возвращает
*this с типом скаляра, преобразованным в NewScalarType
Обратите внимание, что если NewScalarType равен текущему типу скаляра *this, то эта функция разумно возвращает ссылку на *this.
inverse() template<typename _Scalar >
Возвращает
обратное вращение, т.е. угол-ось с противоположным углом вращения
isApprox() template<typename _Scalar >
Возвращает
true если *this приблизительно равно other , в пределах точности, определяемой prec .
См. также
MatrixBase::isApprox()
operator*() [1/2]
template<typename _Scalar >
operator*() [2/2]
template<typename _Scalar >
operator=() [1/2]
template<typename _Scalar >
template<typename Derived >
Устанавливает *this из 3x3 матрицы вращения mat .
operator=() [2/2]
template<typename _Scalar >
template<typename QuatDerived >
Устанавливает *this из единичного кватерниона.
Полученная ось нормализуется, и вычисленный угол находится в диапазоне [0,pi].
Эта функция неявно нормализует кватернион q .
toRotationMatrix() template<typename Scalar >
Создаёт и
Возвращает
эквивалентную 3x3 матрицу вращения.
The documentation for this class was generated from the following file: