libxr 1.0
Want to be the best embedded framework
|
四元数表示与运算,继承自 Eigen::Quaternion / Quaternion representation and operations, inheriting from Eigen::Quaternion More...
#include <transform.hpp>
Public Member Functions | |
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 | |
四元数表示与运算,继承自 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.
Scalar | 数值类型(默认使用 DefaultScalar) / Numeric type (default: DefaultScalar) |
Definition at line 809 of file transform.hpp.
|
inline |
默认构造函数,初始化为单位四元数 / Default constructor initializing to an identity quaternion
Definition at line 816 of file transform.hpp.
通过四个分量初始化四元数 / Construct a quaternion using four components
w | 实部 / Real part |
x | i 分量 / i component |
y | j 分量 / j component |
z | k 分量 / k component |
Definition at line 825 of file transform.hpp.
|
inline |
复制构造函数 / Copy constructor
q | 另一个 Eigen::Quaternion 四元数 / Another Eigen::Quaternion |
Definition at line 834 of file transform.hpp.
|
inline |
通过旋转矩阵构造四元数 / Construct a quaternion from a rotation matrix
R | 旋转矩阵 / Rotation matrix |
Definition at line 840 of file transform.hpp.
|
inline |
通过 3x3 旋转矩阵构造四元数 / Construct a quaternion from a 3x3 rotation matrix
R | 旋转矩阵 / Rotation matrix |
Definition at line 851 of file transform.hpp.
|
inline |
通过四维数组初始化四元数 / Construct a quaternion from a 4-element array
data | 4 维数组,表示 (w, x, y, z) / A 4-element array representing (w, x, y, z) |
Definition at line 865 of file transform.hpp.
|
inline |
获取四元数的分量 / Retrieve a specific component of the quaternion
i | 分量索引 (0: x, 1: y, 2: z, 3: w) / Component index (0: x, 1: y, 2: z, 3: w) |
Definition at line 874 of file transform.hpp.
|
inline |
Definition at line 947 of file transform.hpp.
|
inline |
|
inline |
四元数乘法 / Quaternion multiplication
q | 另一个四元数 / Another quaternion |
Definition at line 942 of file transform.hpp.
|
inline |
Definition at line 919 of file transform.hpp.
|
inline |
四元数加法 / Quaternion addition
q | 另一个四元数 / Another quaternion |
Definition at line 913 of file transform.hpp.
|
inline |
Definition at line 969 of file transform.hpp.
|
inline |
取共轭四元数 / Get the conjugate quaternion
Definition at line 906 of file transform.hpp.
|
inline |
|
inline |
|
inline |
Definition at line 979 of file transform.hpp.
|
inline |
Definition at line 960 of file transform.hpp.
|
inline |
四元数除法(即左乘其共轭) / Quaternion division (multiplication by its conjugate)
q | 另一个四元数 / Another quaternion |
Definition at line 958 of file transform.hpp.
|
inline |
赋值运算符 / Assignment operator
q | 另一个四元数 / Another quaternion |
Definition at line 896 of file transform.hpp.
|
inline |
获取四元数的欧拉角表示(默认使用 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).
Definition at line 1006 of file transform.hpp.
|
inline |
Definition at line 1058 of file transform.hpp.
|
inline |
Definition at line 1048 of file transform.hpp.
|
inline |
Definition at line 1028 of file transform.hpp.
|
inline |
Definition at line 1008 of file transform.hpp.
|
inline |
Definition at line 1038 of file transform.hpp.
|
inline |
Definition at line 1018 of file transform.hpp.
|
inline |
将四元数转换为 3x3 旋转矩阵 / Convert the quaternion to a 3x3 rotation matrix
该方法使用四元数生成等效的 3x3 旋转矩阵,矩阵可用于坐标变换、姿态计算等。 This method generates an equivalent 3x3 rotation matrix from the quaternion. The resulting matrix can be used for coordinate transformations, attitude calculations, etc.
Definition at line 1078 of file transform.hpp.