🛰️航天仿真算法库 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)
 

函数说明

◆ aAxesRotationRateByDifference()

AST_CORE_API errc_t ast::aAxesRotationRateByDifference ( Axes & axes,
Axes & referenceAxes,
const TimePoint & tp,
Vector3d & angvel,
double h = 0.05 )

用有限差分计算轴系相对于参考轴系的角速度

注解
增量旋转的轴角给的是主值(短弧),因此要求 |ω|·2h < π;
一侧求值失败时退化为单侧差分,两侧都失败时原样返回错误码
参数
[in]axes轴系
[in]referenceAxes参考轴系
[in]tp时间点
[out]angvelaxes 相对 referenceAxes 的角速度(在 referenceAxes 下分解)
[in]h差分步长(秒)
返回
错误码

◆ aAxesTransform() [1/4]

AST_CORE_API errc_t ast::aAxesTransform ( Axes & source,
Axes & target,
const TimePoint & tp,
AccelerationRotation & rotation )

计算轴系之间的加速度旋转变换

参数
source源轴系
target目标轴系
tp时间点
rotation输出的加速度旋转变换
返回
错误码

◆ aAxesTransform() [2/4]

AST_CORE_API errc_t ast::aAxesTransform ( Axes & source,
Axes & target,
const TimePoint & tp,
KinematicRotation & rotation )

计算轴系之间的运动学旋转变换

参数
source源轴系
target目标轴系
tp时间点
rotation输出的运动学旋转变换
返回
错误码

◆ aAxesTransform() [3/4]

AST_CORE_API errc_t ast::aAxesTransform ( Axes & source,
Axes & target,
const TimePoint & tp,
Matrix3d & matrix )

计算轴系之间的转换矩阵。

参数
source源轴系
target目标轴系
tp时间点
matrix输出的转换矩阵
返回
错误码

◆ aAxesTransform() [4/4]

AST_CORE_API errc_t ast::aAxesTransform ( Axes & source,
Axes & target,
const TimePoint & tp,
Rotation & rotation )

计算轴系之间的旋转变换。

参数
source源轴系
target目标轴系
tp时间点
rotation输出的旋转变换
返回
错误码

◆ aFrameTransform() [1/3]

AST_CORE_API errc_t ast::aFrameTransform ( Frame & source,
Frame & target,
const TimePoint & tp,
AccelerationTransform & transform )

计算源坐标系到目标坐标系的加速度变换,用于需要加速度变换的场景

参数
source源坐标系
target目标坐标系
tp时间点
transform输出参数,加速度变换(包含加速度项)
返回
错误码

◆ aFrameTransform() [2/3]

AST_CORE_API errc_t ast::aFrameTransform ( Frame & source,
Frame & target,
const TimePoint & tp,
KinematicTransform & transform )

计算源坐标系到目标坐标系的运动学变换,用于需要速度变换的场景(如将速度向量从一个坐标系转换到另一个坐标系)

参数
source源坐标系
target目标坐标系
tp时间点
transform输出参数,运动学变换(包含速度项)
返回
错误码

◆ aFrameTransform() [3/3]

AST_CORE_API errc_t ast::aFrameTransform ( Frame & source,
Frame & target,
const TimePoint & tp,
Transform & transform )

计算源坐标系到目标坐标系的变换,不考虑速度项

参数
source源坐标系
target目标坐标系
tp时间点
transform输出参数,变换
返回
错误码

◆ aVectorCross()

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
注解
两个速度可传零向量,此时退化为只求叉积