旋转矩阵类,继承自 Eigen::Matrix<Scalar, 3, 3>。 Rotation matrix class, inheriting from Eigen::Matrix<Scalar, 3, 3>.
More...
|
| | RotationMatrix () |
| | 默认构造函数,初始化单位旋转矩阵。 Default constructor initializing an identity rotation matrix.
|
| |
| | RotationMatrix (Scalar r00, Scalar r01, Scalar r02, Scalar r10, Scalar r11, Scalar r12, Scalar r20, Scalar r21, Scalar r22) |
| | 通过 9 个矩阵元素的值构造旋转矩阵。 Constructs a rotation matrix using 9 matrix elements.
|
| |
| | RotationMatrix (const Eigen::Matrix< Scalar, 3, 3 > &R) |
| | 通过 Eigen 3x3 矩阵构造旋转矩阵。 Constructs a rotation matrix from an Eigen 3x3 matrix.
|
| |
| | RotationMatrix (const Eigen::Quaternion< Scalar > &q) |
| | 通过 Eigen 四元数构造旋转矩阵。 Constructs a rotation matrix from an Eigen quaternion.
|
| |
| | RotationMatrix (const Quaternion< Scalar > &q) |
| | 通过 Quaternion 四元数构造旋转矩阵。 Constructs a rotation matrix from a Quaternion object.
|
| |
| template<typename T , std::enable_if_t< std::is_same< T, Scalar >::value||std::is_same< T, float >::value||std::is_same< T, double >::value, int > = 0> |
| | RotationMatrix (const T(&data)[9]) |
| |
| template<typename T , std::enable_if_t< std::is_same< T, Scalar >::value||std::is_same< T, float >::value||std::is_same< T, double >::value, int > = 0> |
| | RotationMatrix (const T(&data)[3][3]) |
| |
| Eigen::Matrix< Scalar, 3, 3 > | operator- () const |
| | 计算旋转矩阵的转置(逆矩阵)。 Computes the transpose (inverse) of the rotation matrix.
|
| |
| RotationMatrix & | operator= (const RotationMatrix &R) |
| | 赋值运算符,将 RotationMatrix 赋值给当前对象。 Overloaded assignment operator to assign a RotationMatrix to the current object.
|
| |
| RotationMatrix & | operator= (const Eigen::Matrix< Scalar, 3, 3 > &R) |
| |
| RotationMatrix & | operator= (const Eigen::Quaternion< Scalar > &q) |
| |
| RotationMatrix & | operator= (const Quaternion< Scalar > &q) |
| |
| Position< Scalar > | operator* (const Position< Scalar > &p) const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | operator* (const Eigen::Matrix< Scalar, 3, 1 > &p) const |
| | 计算旋转矩阵与三维向量的乘积。 Computes the product of the rotation matrix and a 3D vector.
|
| |
| RotationMatrix | operator* (const RotationMatrix &rhs) const |
| | 计算两个旋转矩阵的乘积。 Computes the product of two rotation matrices.
|
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngle () const |
| | 将旋转矩阵转换为欧拉角(默认使用 ZYX 顺序)。 Converts the rotation matrix to Euler angles (default ZYX order).
|
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleZYX () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleXZY () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleYZX () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleYXZ () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleZXY () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleXYZ () const |
| |
template<typename Scalar>
class LibXR::RotationMatrix< Scalar >
旋转矩阵类,继承自 Eigen::Matrix<Scalar, 3, 3>。 Rotation matrix class, inheriting from Eigen::Matrix<Scalar, 3, 3>.
该类提供 3x3 旋转矩阵的构造、赋值、矩阵运算以及欧拉角转换等功能, 并支持从四元数构造旋转矩阵。 This class provides functionalities for constructing, assigning, operating on rotation matrices, and converting to Euler angles. It also supports constructing rotation matrices from quaternions.
- Template Parameters
-
| Scalar | 旋转矩阵元素的数据类型,如 float 或 double。 The data type of the rotation matrix elements, such as float or double. |
Definition at line 598 of file transform.hpp.
template<typename Scalar >
template<typename T , std::enable_if_t< std::is_same< T, Scalar >::value||std::is_same< T, float >::value||std::is_same< T, double >::value, int > = 0>
Definition at line 654 of file transform.hpp.
654 : Eigen::Matrix<Scalar, 3, 3>()
655 {
656 (*this) << data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7],
657 data[8];
658 }
template<typename Scalar >
template<typename T , std::enable_if_t< std::is_same< T, Scalar >::value||std::is_same< T, float >::value||std::is_same< T, double >::value, int > = 0>
Definition at line 664 of file transform.hpp.
664 : Eigen::Matrix<Scalar, 3, 3>()
665 {
666 (*this) << data[0][0], data[0][1], data[0][2], data[1][0], data[1][1], data[1][2],
667 data[2][0], data[2][1], data[2][2];
668 }