|
🛰️航天仿真算法库 SpaceAST 0.3.1
|
专题 | |
| 空间分析 | |
类 | |
| class | ast::FrameProxy |
| class | ast::PointProxy |
| class | ast::VectorProxy |
| class | ast::Angle |
| class | ast::AngleProxy |
| class | ast::Axes |
| class | ast::Frame |
| class | ast::Point |
| class | ast::Vector |
类型定义 | |
| using | ast::PAngle = Angle* |
| using | ast::HAngle = SharedPtr<Angle> |
| using | ast::PAxes = Axes* |
| using | ast::HAxes = SharedPtr<Axes> |
| using | ast::PFrame = Frame* |
| using | ast::HFrame = SharedPtr<Frame> |
| using | ast::PPoint = Point* |
| using | ast::HPoint = SharedPtr<Point> |
| using | ast::PVector = Vector* |
| using | ast::HVector = SharedPtr<Vector> |
函数 | |
| errc_t | ast::aAxesTransform (Axes &source, Axes &target, const TimePoint &tp, Rotation &rotation) |
| errc_t | ast::aAxesTransform (Axes *source, Axes *target, const TimePoint &tp, Rotation &rotation) |
| errc_t | ast::aAxesTransform (Axes &source, Axes &target, const TimePoint &tp, Matrix3d &matrix) |
| errc_t | ast::aAxesTransform (Axes *source, Axes *target, const TimePoint &tp, Matrix3d &matrix) |
| errc_t | ast::aAxesTransform (Axes &source, Axes &target, const TimePoint &tp, KinematicRotation &rotation) |
| errc_t | ast::aAxesTransform (Axes *source, Axes *target, const TimePoint &tp, KinematicRotation &rotation) |
| errc_t | ast::aAxesTransform (Axes &source, Axes &target, const TimePoint &tp, AccelerationRotation &rotation) |
| errc_t | ast::aAxesTransform (Axes *source, Axes *target, const TimePoint &tp, AccelerationRotation &rotation) |
| errc_t | ast::aAxesRotationRateByDifference (Axes &axes, Axes &referenceAxes, const TimePoint &tp, Vector3d &angvel, double h=0.05) |
| errc_t | ast::aFrameTransform (Frame &source, Frame &target, const TimePoint &tp, Transform &transform) |
| errc_t | ast::aFrameTransform (Frame *source, Frame *target, const TimePoint &tp, Transform &transform) |
| errc_t | ast::aFrameTransform (Frame &source, Frame &target, const TimePoint &tp, KinematicTransform &transform) |
| errc_t | ast::aFrameTransform (Frame *source, Frame *target, const TimePoint &tp, KinematicTransform &transform) |
| errc_t | ast::aFrameTransform (Frame &source, Frame &target, const TimePoint &tp, AccelerationTransform &transform) |
| errc_t | ast::aFrameTransform (Frame *source, Frame *target, const TimePoint &tp, AccelerationTransform &transform) |
| void | ast::aVectorCross (const Vector3d &vector1, const Vector3d &velocity1, const Vector3d &vector2, const Vector3d &velocity2, Vector3d &result, Vector3d &resultVelocity) |
| AST_CORE_API errc_t ast::aAxesRotationRateByDifference | ( | Axes & | axes, |
| Axes & | referenceAxes, | ||
| const TimePoint & | tp, | ||
| Vector3d & | angvel, | ||
| double | h = 0.05 ) |
用有限差分计算轴系相对于参考轴系的角速度
| [in] | axes | 轴系 |
| [in] | referenceAxes | 参考轴系 |
| [in] | tp | 时间点 |
| [out] | angvel | axes 相对 referenceAxes 的角速度(在 referenceAxes 下分解) |
| [in] | h | 差分步长(秒) |
| AST_CORE_API errc_t ast::aAxesTransform | ( | Axes & | source, |
| Axes & | target, | ||
| const TimePoint & | tp, | ||
| AccelerationRotation & | rotation ) |
计算轴系之间的加速度旋转变换
| source | 源轴系 |
| target | 目标轴系 |
| tp | 时间点 |
| rotation | 输出的加速度旋转变换 |
| AST_CORE_API errc_t ast::aAxesTransform | ( | Axes & | source, |
| Axes & | target, | ||
| const TimePoint & | tp, | ||
| KinematicRotation & | rotation ) |
计算轴系之间的运动学旋转变换
| source | 源轴系 |
| target | 目标轴系 |
| tp | 时间点 |
| rotation | 输出的运动学旋转变换 |
| AST_CORE_API errc_t ast::aAxesTransform | ( | Axes & | source, |
| Axes & | target, | ||
| const TimePoint & | tp, | ||
| Matrix3d & | matrix ) |
计算轴系之间的转换矩阵。
| source | 源轴系 |
| target | 目标轴系 |
| tp | 时间点 |
| matrix | 输出的转换矩阵 |
| AST_CORE_API errc_t ast::aAxesTransform | ( | Axes & | source, |
| Axes & | target, | ||
| const TimePoint & | tp, | ||
| Rotation & | rotation ) |
计算轴系之间的旋转变换。
| source | 源轴系 |
| target | 目标轴系 |
| tp | 时间点 |
| rotation | 输出的旋转变换 |
| AST_CORE_API errc_t ast::aFrameTransform | ( | Frame & | source, |
| Frame & | target, | ||
| const TimePoint & | tp, | ||
| AccelerationTransform & | transform ) |
计算源坐标系到目标坐标系的加速度变换,用于需要加速度变换的场景
| source | 源坐标系 |
| target | 目标坐标系 |
| tp | 时间点 |
| transform | 输出参数,加速度变换(包含加速度项) |
| AST_CORE_API errc_t ast::aFrameTransform | ( | Frame & | source, |
| Frame & | target, | ||
| const TimePoint & | tp, | ||
| KinematicTransform & | transform ) |
计算源坐标系到目标坐标系的运动学变换,用于需要速度变换的场景(如将速度向量从一个坐标系转换到另一个坐标系)
| source | 源坐标系 |
| target | 目标坐标系 |
| tp | 时间点 |
| transform | 输出参数,运动学变换(包含速度项) |
| AST_CORE_API errc_t ast::aFrameTransform | ( | Frame & | source, |
| Frame & | target, | ||
| const TimePoint & | tp, | ||
| Transform & | transform ) |
计算源坐标系到目标坐标系的变换,不考虑速度项
| source | 源坐标系 |
| target | 目标坐标系 |
| tp | 时间点 |
| transform | 输出参数,变换 |
| AST_MATH_API void ast::aVectorCross | ( | const Vector3d & | vector1, |
| const Vector3d & | velocity1, | ||
| const Vector3d & | vector2, | ||
| const Vector3d & | velocity2, | ||
| Vector3d & | result, | ||
| Vector3d & | resultVelocity ) |
计算两个向量的叉积及其时间导数
对两个随时间变化的向量求叉积,并按乘积法则同时给出叉积的时间导数: result = vector1 × vector2 resultVelocity = velocity1 × vector2 + vector1 × velocity2 其中 velocity1、velocity2 分别为 vector1、vector2 的时间导数。
| vector1 | 第一个向量 |
| velocity1 | 第一个向量的时间导数 |
| vector2 | 第二个向量 |
| velocity2 | 第二个向量的时间导数 |
| result | 输出:两个向量的叉积 vector1 × vector2 |
| resultVelocity | 输出:叉积的时间导数 velocity1 × vector2 + vector1 × velocity2 |