|
| | Quaternion () |
| | 默认构造函数,初始化为单位四元数 / Default constructor initializing to an identity quaternion
|
| |
| | Quaternion (Scalar w, Scalar x, Scalar y, Scalar z) |
| | 通过四个分量初始化四元数 / Construct a quaternion using four components
|
| |
| | Quaternion (const Eigen::Quaternion< Scalar > &q) |
| | 复制构造函数 / Copy constructor
|
| |
| | Quaternion (const RotationMatrix< Scalar > &R) |
| | 通过旋转矩阵构造四元数 / Construct a quaternion from a rotation matrix
|
| |
| | Quaternion (const Eigen::Matrix< Scalar, 3, 3 > R) |
| | 通过 3x3 旋转矩阵构造四元数 / Construct a quaternion from a 3x3 rotation matrix
|
| |
| 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> |
| | Quaternion (const T(&data)[4]) |
| | 通过四维数组初始化四元数 / Construct a quaternion from a 4-element array
|
| |
| Scalar | operator() (int i) const |
| | 获取四元数的分量 / Retrieve a specific component of the quaternion
|
| |
| Quaternion & | operator= (const Eigen::Quaternion< Scalar > &q) |
| | 赋值运算符 / Assignment operator
|
| |
| Quaternion | operator- () const |
| | 取共轭四元数 / Get the conjugate quaternion
|
| |
| Quaternion | operator+ (const Quaternion &q) const |
| | 四元数加法 / Quaternion addition
|
| |
| Quaternion | operator+ (const Eigen::Quaternion< Scalar > &q) const |
| |
| Quaternion | operator- (const Quaternion &q) const |
| |
| Quaternion | operator- (const Eigen::Quaternion< Scalar > &q) const |
| |
| Quaternion | operator* (const Quaternion &q) const |
| | 四元数乘法 / Quaternion multiplication
|
| |
| Quaternion | operator* (const Eigen::Quaternion< Scalar > &q) const |
| |
| Quaternion | operator/ (const Quaternion &q) const |
| | 四元数除法(即左乘其共轭) / Quaternion division (multiplication by its conjugate)
|
| |
| Quaternion | operator/ (const Eigen::Quaternion< Scalar > &q) const |
| |
| template<typename Q , std::enable_if_t< std::is_same< Q, Quaternion >::value||std::is_same< Q, Eigen::Quaternion< Scalar > >::value, int > = 0> |
| const Quaternion & | operator+= (const Q &q) |
| |
| template<typename Q , std::enable_if_t< std::is_same< Q, Quaternion >::value||std::is_same< Q, Eigen::Quaternion< Scalar > >::value, int > = 0> |
| const Quaternion & | operator-= (const Q &q) |
| |
| Position< Scalar > | operator* (const Position< Scalar > &p) const |
| | 旋转三维向量 / Rotate a 3D vector
|
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngle () const |
| | 获取四元数的欧拉角表示(默认使用 ZYX 旋转顺序) Get the Euler angles representation of the quaternion (default ZYX order)
|
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleYZX () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleZYX () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleYXZ () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleZXY () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleXZY () const |
| |
| Eigen::Matrix< Scalar, 3, 1 > | ToEulerAngleXYZ () const |
| |
| Eigen::Matrix< Scalar, 3, 3 > | ToRotationMatrix () const |
| | 将四元数转换为 3x3 旋转矩阵 / Convert the quaternion to a 3x3 rotation matrix
|
| |
template<typename Scalar>
class LibXR::Quaternion< Scalar >
四元数表示与运算,继承自 Eigen::Quaternion / Quaternion representation and operations, inheriting from Eigen::Quaternion
该类提供了对四元数的基本运算,如加法、减法、乘法、除法,以及与旋转矩阵和欧拉角的转换等。 This class provides fundamental quaternion operations, such as addition, subtraction, multiplication, and division, along with conversions to rotation matrices and Euler angles.
- Template Parameters
-
| Scalar | 数值类型(默认使用 DefaultScalar) / Numeric type (default: DefaultScalar) |
Definition at line 856 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>
通过四维数组初始化四元数 / Construct a quaternion from a 4-element array
- Parameters
-
| data | 4 维数组,表示 (w, x, y, z) / A 4-element array representing (w, x, y, z) |
Definition at line 912 of file transform.hpp.
912 : Eigen::Quaternion<Scalar>(data)
913 {
914 }
template<typename Scalar >
获取四元数的欧拉角表示(默认使用 ZYX 旋转顺序) Get the Euler angles representation of the quaternion (default ZYX order)
该方法将四元数转换为欧拉角,表示旋转顺序为 ZYX(即先绕 Z 轴旋转,再绕 Y 轴,最后绕 X 轴)。 This method converts the quaternion into Euler angles using the ZYX rotation order (first rotate around the Z-axis, then Y-axis, and finally the X-axis).
- Returns
- 计算得到的欧拉角向量 (roll, pitch, yaw) / Computed Euler angles vector (roll, pitch, yaw)
Definition at line 1053 of file transform.hpp.
1053{ return ToEulerAngleZYX(); }