🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
姿态功能

详细描述

提供姿态计算相关功能

提供了姿态计算以及相互转换相关功能,包括:

class  ast::AngleAxis
 
class  ast::Euler
 
class  ast::Quaternion
 

函数

A_ALWAYS_INLINE Quaternion ast::aMatrixToQuat (const Matrix3d &mtx)
 
A_ALWAYS_INLINE Matrix3d ast::aEuler323ToMatrix (const Euler &euler)
 
A_ALWAYS_INLINE Matrix3d ast::aEuler313ToMatrix (const Euler &euler)
 
A_ALWAYS_INLINE Matrix3d ast::aRotationZMatrix (double angle)
 
A_ALWAYS_INLINE Matrix3d ast::aRotationXMatrix (double angle)
 
errc_t ast::aRotationMatrix (double angle, int axis, Matrix3d &mtx)
 
void ast::aRotationXMatrix (double angle, Matrix3d &mtx)
 
void ast::aRotationYMatrix (double angle, Matrix3d &mtx)
 
void ast::aRotationZMatrix (double angle, Matrix3d &mtx)
 
void ast::aQuatToMatrix (const Quaternion &quat, Matrix3d &mtx)
 
void ast::aMatrixToQuat (const Matrix3d &mtx, Quaternion &quat)
 
errc_t ast::aMatrixToEuler (const Matrix3d &mtx, int seq, Euler &euler)
 
errc_t ast::aEulerToMatrix (const Euler &euler, int seq, Matrix3d &mtx)
 
errc_t ast::_aEulerToMatrix (const Euler &euler, int seq, Matrix3d &mtx)
 
void ast::aMatrixToEuler123 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler132 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler213 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler231 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler312 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler321 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler121 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler131 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler212 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler232 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler313 (const Matrix3d &mtx, Euler &euler)
 
void ast::aMatrixToEuler323 (const Matrix3d &mtx, Euler &euler)
 
void ast::aEuler123ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler132ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler213ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler231ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler312ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler321ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler121ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler131ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler212ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler232ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler313ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void ast::aEuler323ToMatrix (const Euler &euler, Matrix3d &mtx)
 
errc_t ast::aEulerToQuat (const Euler &euler, int seq, Quaternion &quat)
 
errc_t ast::aQuatToEuler (const Quaternion &quat, int seq, Euler &euler)
 
void ast::aQuatToAngleAxis (const Quaternion &quat, AngleAxis &aa)
 
void ast::aAngleAxisToQuat (const AngleAxis &aa, Quaternion &quat)
 
void ast::aAngleAxisToMatrix (const AngleAxis &aa, Matrix3d &mtx)
 
void ast::aMatrixToAngleAxis (const Matrix3d &mtx, AngleAxis &aa)
 
Quaternion ast::aQuatProduct (const Quaternion &q1, const Quaternion &q2)
 

函数说明

◆ aAngleAxisToMatrix()

AST_MATH_CAPI void ast::aAngleAxisToMatrix ( const AngleAxis & aa,
Matrix3d & mtx )

轴角转矩阵

参数
aa轴角
mtx矩阵

◆ aAngleAxisToQuat()

AST_MATH_CAPI void ast::aAngleAxisToQuat ( const AngleAxis & aa,
Quaternion & quat )

轴角转四元数

参数
aa轴角
quat四元数

◆ aEulerToMatrix()

AST_MATH_CAPI errc_t ast::aEulerToMatrix ( const Euler & euler,
int seq,
Matrix3d & mtx )

欧拉角转矩阵

参数
euler
seq
mtx
返回

◆ aEulerToQuat()

AST_MATH_CAPI errc_t ast::aEulerToQuat ( const Euler & euler,
int seq,
Quaternion & quat )

欧拉角转四元数

参数
euler欧拉角
seq转序
quat四元数
返回

◆ aMatrixToAngleAxis()

AST_MATH_CAPI void ast::aMatrixToAngleAxis ( const Matrix3d & mtx,
AngleAxis & aa )

矩阵转轴角

参数
mtx矩阵
aa轴角

◆ aMatrixToEuler()

AST_MATH_CAPI errc_t ast::aMatrixToEuler ( const Matrix3d & mtx,
int seq,
Euler & euler )

矩阵转欧拉角

参数
mtx矩阵
seq转序
euler欧拉角
如果旋转顺序为ABC,angle2在区间[-PI/2, PI/2],其他两个角在区间[-PI,PI] 如果旋转顺序为ABA,angle2在区间[0, PI],其他两个角在区间[-PI,PI]
返回

◆ aMatrixToQuat() [1/2]

A_ALWAYS_INLINE Quaternion ast::aMatrixToQuat ( const Matrix3d & mtx)

矩阵转四元数

参数
mtx旋转矩阵
返回
四元数

◆ aMatrixToQuat() [2/2]

AST_MATH_CAPI void ast::aMatrixToQuat ( const Matrix3d & mtx,
Quaternion & quat )

矩阵转四元数

参数
mtx
quat

◆ aQuatProduct()

Quaternion ast::aQuatProduct ( const Quaternion & q1,
const Quaternion & q2 )
inline

四元数乘积

参数
q1四元数1
q2四元数2
返回
四元数乘积

◆ aQuatToAngleAxis()

AST_MATH_CAPI void ast::aQuatToAngleAxis ( const Quaternion & quat,
AngleAxis & aa )

四元数转轴角

参数
quat四元数
aa轴角

◆ aQuatToEuler()

AST_MATH_CAPI errc_t ast::aQuatToEuler ( const Quaternion & quat,
int seq,
Euler & euler )

四元数转欧拉角

参数
quat四元数
seq转序
euler欧拉角
返回

◆ aQuatToMatrix()

AST_MATH_CAPI void ast::aQuatToMatrix ( const Quaternion & quat,
Matrix3d & mtx )

四元数转矩阵

参数
quat
mtx

◆ aRotationMatrix()

AST_MATH_CAPI errc_t ast::aRotationMatrix ( double angle,
int axis,
Matrix3d & mtx )

坐标旋转矩阵

参数
angle旋转角度(弧度)
axis旋转轴(1:X轴, 2:Y轴, 3:Z轴)
mtx输出矩阵

◆ aRotationXMatrix()

AST_MATH_CAPI void ast::aRotationXMatrix ( double angle,
Matrix3d & mtx )

绕X轴坐标旋转矩阵

参数
angle旋转角度(弧度)
mtx输出矩阵

◆ aRotationYMatrix()

AST_MATH_CAPI void ast::aRotationYMatrix ( double angle,
Matrix3d & mtx )

绕Y轴坐标旋转矩阵

参数
angle旋转角度(弧度)
mtx输出矩阵

◆ aRotationZMatrix()

AST_MATH_CAPI void ast::aRotationZMatrix ( double angle,
Matrix3d & mtx )

绕Z轴坐标旋转矩阵

参数
angle旋转角度(弧度)
mtx输出矩阵