🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
坐标系统

详细描述

提供实现不同坐标系之间的相互转换的函数


例如ECI、ECF、MOD、TOD、GTOD、TDR、GCR、PEF、EFG等坐标系之间的转换 坐标系定义:

局部轨道坐标系的定义:

class  ast::AxesBodyFixed
 
class  ast::AxesBodyInertial
 
class  ast::AxesBodyMOD
 
class  ast::AxesBodyRelated
 
class  ast::AxesBodyTOD
 
class  ast::AxesICRF
 
class  ast::AxesRoot
 
class  ast::FrameAssembly
 
class  ast::FrameICRF
 
class  ast::FrameRoot
 
class  ast::PointBodyCenter
 
class  ast::PointRoot
 
class  ast::PointSSBarycenter
 

宏定义

#define _AST_DECL_AXES(NAME)
 
#define _AST_IMPL_AXES_BASE(NAME, PARENT)
 
#define _AST_IMPL_AXES_DYNAMIC(NAME, PARENT)
 
#define _AST_IMPL_AXES_INERTIAL(NAME, PARENT)
 
#define _AST_IMPL_AXES_PSEUDO_INERTIAL(NAME, PARENT)
 
#define _AST_DECL_POINT(NAME)
 
#define _AST_IMPL_POINT(NAME, FRAME)
 

类型定义

using ast::HAxesBodyFixed = SharedPtr<AxesBodyFixed>
 
using ast::PAxesBodyFixed = AxesBodyFixed*
 
using ast::PAxesBodyInertial = AxesBodyInertial*
 
using ast::HAxesBodyInertial = SharedPtr<AxesBodyInertial>
 
using ast::PAxesBodyMOD = AxesBodyMOD*
 
using ast::HAxesBodyMOD = SharedPtr<AxesBodyMOD>
 
using ast::PAxesBodyTOD = AxesBodyTOD*
 
using ast::HAxesBodyTOD = SharedPtr<AxesBodyTOD>
 
using ast::HFrameAssembly = SharedPtr<FrameAssembly>
 
using ast::PFrameAssembly = FrameAssembly*
 

函数

A_ALWAYS_INLINE Axesast::aAxesICRF ()
 
A_ALWAYS_INLINE Axesast::aAxesRoot ()
 
A_ALWAYS_INLINE Axesast::aAxesECI ()
 
Axesast::aGetAxes (StringView name)
 
void ast::aECIToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aECIToECFTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void ast::aECIToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aECIToECF (const TimePoint &tp, const Vector3d &vecECI, Vector3d &vecECF)
 
void ast::aECIToECF (const TimePoint &tp, const Vector3d &vecECI, const Vector3d &velECI, Vector3d &vecECF, Vector3d &velECF)
 
void ast::aJ2000ToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aJ2000ToECFTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void ast::aJ2000ToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aJ2000ToECF (const TimePoint &tp, const Vector3d &vecJ2000, Vector3d &vecECF)
 
void ast::aJ2000ToECF (const TimePoint &tp, const Vector3d &vecJ2000, const Vector3d &velJ2000, Vector3d &vecECF, Vector3d &velECF)
 
void ast::aECFToJ2000Transform (const TimePoint &tp, Rotation &rotation)
 
void ast::aECFToJ2000Transform (const TimePoint &tp, KinematicRotation &rotation)
 
void ast::aECFToJ2000Matrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aECFToJ2000 (const TimePoint &tp, const Vector3d &vecECF, Vector3d &vecJ2000)
 
void ast::aECFToJ2000 (const TimePoint &tp, const Vector3d &vecECF, const Vector3d &velECF, Vector3d &vecJ2000, Vector3d &velJ2000)
 
void ast::aJ2000ToMODTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aJ2000ToMODMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aJ2000ToMOD (const TimePoint &tp, const Vector3d &vecJ2000, Vector3d &vecMOD)
 
void ast::aMODToTODTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aMODToTODMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aMODToTOD (const TimePoint &tp, const Vector3d &vecMOD, Vector3d &vecTOD)
 
void ast::aTODToGTODTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aTODToGTODTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void ast::aTODToGTODMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aTODToGTOD (const TimePoint &tp, const Vector3d &vecTOD, Vector3d &vecGTOD)
 
void ast::aTODToGTOD (const TimePoint &tp, const Vector3d &vecTOD, const Vector3d &velTOD, Vector3d &vecGTOC, Vector3d &velGTOC)
 
void ast::aGTODToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aGTODToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aGTODToECF (const TimePoint &tp, const Vector3d &vecGTOD, Vector3d &vecECF)
 
void ast::aICRFToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aICRFToECFTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void ast::aICRFToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aICRFToECF (const TimePoint &tp, const Vector3d &vecICRF, Vector3d &vecECF)
 
void ast::aECFToICRF (const TimePoint &tp, const Vector3d &vecECF, Vector3d &vecICRF)
 
void ast::aICRFToECF (const TimePoint &tp, const Vector3d &vecICRF, const Vector3d &velICRF, Vector3d &vecECF, Vector3d &velECF)
 
void ast::aICRFToCIRFTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aICRFToCIRFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aICRFToCIRF (const TimePoint &tp, const Vector3d &vecICRF, Vector3d &vecCIRF)
 
void ast::aCIRFToTIRFTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aCIRFToTIRFTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void ast::aCIRFToTIRFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aCIRFToTIRF (const TimePoint &tp, const Vector3d &vecCIRF, Vector3d &vecTIRF)
 
void ast::aCIRFToTIRF (const TimePoint &tp, const Vector3d &vecCIRF, const Vector3d &velCIRF, Vector3d &vecTIRF, Vector3d &velTIRF)
 
void ast::aTIRFToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void ast::aTIRFToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void ast::aTIRFToECF (const TimePoint &tp, const Vector3d &vecTIRF, Vector3d &vecECF)
 
A_ALWAYS_INLINE void ast::aICRFToECFMatrix (const TimePoint &tp, double matrix[3][3])
 
Frameast::aFrameECI ()
 
Frameast::aFrameEarthICRF ()
 
Frameast::aFrameEarthJ2000 ()
 
Frameast::aFrameECF ()
 
A_ALWAYS_INLINE Frameast::aFrameICRF ()
 
A_ALWAYS_INLINE Frameast::aFrameRoot ()
 
void ast::aJ2000ToB1950Transform_Vallado (Rotation &rotation)
 
void ast::aJ2000ToB1950Transform_SPICE (Rotation &rotation)
 
void ast::aB1950ToFK4Transform (Rotation &rotation)
 
void ast::aB1950ToDE118Transform (Rotation &rotation)
 
void ast::aB1950ToDE96Transform (Rotation &rotation)
 
void ast::aB1950ToDE102Transform (Rotation &rotation)
 
void ast::aB1950ToDE108Transform (Rotation &rotation)
 
void ast::aB1950ToDE111Transform (Rotation &rotation)
 
void ast::aB1950ToDE114Transform (Rotation &rotation)
 
void ast::aB1950ToDE122Transform (Rotation &rotation)
 
void ast::aB1950ToDE125Transform (Rotation &rotation)
 
void ast::aB1950ToDE130Transform (Rotation &rotation)
 
void ast::aFK4ToGalacticTransform (Rotation &rotation)
 
void ast::aJ2000ToDE200Transform (Rotation &rotation)
 
void ast::aJ2000ToDE202Transform (Rotation &rotation)
 
void ast::aJ2000ToMarsIAUTransform (Rotation &rotation)
 
void ast::aJ2000ToEclipJ2000Transform (Rotation &rotation)
 
void ast::aB1950ToEclipB1950Transform (Rotation &rotation)
 
void ast::aJ2000ToDE140Transform (Rotation &rotation)
 
void ast::aJ2000ToDE142Transform (Rotation &rotation)
 
void ast::aJ2000ToDE143Transform (Rotation &rotation)
 
errc_t ast::aFrameToVVLHMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t ast::aVVLHToFrameMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t ast::aFrameToLVLHMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t ast::aLVLHToFrameMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
AST_CORE_CAPI errc_t ast::aFrameToENUMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
AST_CORE_CAPI errc_t ast::aENUToFrameMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t ast::aFrameToVNCMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t ast::aVNCToFrameMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t ast::aEarthICRFToMoonICRF (const TimePoint &tp, const Vector3d &posInEarthICRF, Vector3d &posInMoonICRF)
 
errc_t ast::aEarthICRFToMoonICRF (const TimePoint &tp, const Vector3d &posInEarthICRF, const Vector3d &velInEarthICRF, Vector3d &posInMoonICRF, Vector3d &velInMoonICRF)
 
errc_t ast::aICRFToMoonPrincipalAxesTransform (const TimePoint &tp, Rotation &rotation)
 
AST_CORE_API errc_t ast::aICRFToMoonPrincipalAxesTransform (const TimePoint &tp, KinematicRotation &rotation)
 
errc_t ast::aMoonPAToMeanEarthTransform (Rotation &rotation)
 
void ast::aMoonPA430ToMeanEarthTransform (Rotation &rotation)
 
void ast::aMoonPA421ToMeanEarthTransform (Rotation &rotation)
 
void ast::aMoonPA418ToMeanEarthTransform (Rotation &rotation)
 
void ast::aMoonPA403ToMeanEarthTransform (Rotation &rotation)
 
errc_t ast::aICRFToMoonMeanEarthTransform_DE (const TimePoint &tp, Rotation &rotation)
 
AST_CORE_CAPI errc_t ast::aICRFToMoonMeanEarthTransform_IAU (const TimePoint &tp, Rotation &rotation)
 
errc_t ast::aICRFToMoonMeanEarthTransform (const TimePoint &tp, Rotation &rotation)
 
AST_CORE_CAPI errc_t ast::aMercuryPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aVenusPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aEarthPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aMarsPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aJupiterPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aSaturnPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aUranusPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aNeptunePosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aPlutoPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aMoonPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aSunPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aEMBarycenterPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t ast::aMercuryPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aVenusPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aEarthPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aMarsPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aJupiterPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aSaturnPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aUranusPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aNeptunePosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aPlutoPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aMoonPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aSunPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t ast::aEMBarycenterPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
A_ALWAYS_INLINE Pointast::aPointRoot ()
 
A_ALWAYS_INLINE Pointast::aPointSSBarycenter ()
 

宏定义说明

◆ _AST_DECL_AXES

#define _AST_DECL_AXES ( NAME)
值:
class AST_CORE_API Axes##NAME : public Axes \
{ \
public: \
Axes##NAME() = default; \
~Axes##NAME() override = default; \
static Axes##NAME* Instance(); \
Axes* getParent() const override; \
errc_t getTransform(const TimePoint& tp, Rotation& rotation) const override; \
errc_t getTransform(const TimePoint& tp, KinematicRotation& rotation) const override; \
};\
A_ALWAYS_INLINE Axes* aAxes##NAME()\
{\
return Axes##NAME::Instance();\
}\

◆ _AST_DECL_POINT

#define _AST_DECL_POINT ( NAME)
值:
class AST_CORE_API Point##NAME : public Point \
{ \
public: \
Point##NAME() = default; \
~Point##NAME() override= default; \
static Point##NAME* Instance();\
Frame* getFrame() const override;\
errc_t getPos(const TimePoint &tp, Vector3d &pos) const override;\
errc_t getPosVel(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const override;\
};\
A_ALWAYS_INLINE Point* aPoint##NAME()\
{\
return Point##NAME::Instance();\
}\

◆ _AST_IMPL_AXES_BASE

#define _AST_IMPL_AXES_BASE ( NAME,
PARENT )
值:
Axes##NAME* Axes##NAME::Instance() \
{ \
static SharedPtr<Axes##NAME> instance(new Axes##NAME()); \
return instance.get(); \
}\
Axes *Axes##NAME::getParent() const\
{\
return Axes##PARENT::Instance();\
}\

◆ _AST_IMPL_AXES_DYNAMIC

#define _AST_IMPL_AXES_DYNAMIC ( NAME,
PARENT )
值:
_AST_IMPL_AXES_BASE(NAME, PARENT)\
errc_t Axes##NAME::getTransform(const TimePoint &tp, Rotation &rotation) const\
{\
a##PARENT##To##NAME##Transform(tp, rotation);\
return eNoError;\
}\
errc_t Axes##NAME::getTransform(const TimePoint &tp, KinematicRotation &rotation) const\
{\
a##PARENT##To##NAME##Transform(tp, rotation);\
return eNoError;\
}\

◆ _AST_IMPL_AXES_INERTIAL

#define _AST_IMPL_AXES_INERTIAL ( NAME,
PARENT )
值:
_AST_IMPL_AXES_BASE(NAME, PARENT)\
errc_t Axes##NAME::getTransform(const TimePoint &tp, Rotation &rotation) const\
{\
a##PARENT##To##NAME##Transform(rotation);\
return eNoError;\
}\
errc_t Axes##NAME::getTransform(const TimePoint &tp, KinematicRotation &rotation) const\
{\
a##PARENT##To##NAME##Transform(rotation.getRotation());\
rotation.setRotationRate(Vector3d::Zero());\
return eNoError;\
}\

◆ _AST_IMPL_AXES_PSEUDO_INERTIAL

#define _AST_IMPL_AXES_PSEUDO_INERTIAL ( NAME,
PARENT )
值:
_AST_IMPL_AXES_BASE(NAME, PARENT)\
errc_t Axes##NAME::getTransform(const TimePoint &tp, Rotation &rotation) const\
{\
a##PARENT##To##NAME##Transform(tp, rotation);\
return eNoError;\
}\
errc_t Axes##NAME::getTransform(const TimePoint &tp, KinematicRotation &rotation) const\
{\
a##PARENT##To##NAME##Transform(tp, rotation.getRotation());\
rotation.setRotationRate(Vector3d::Zero());\
return eNoError;\
}\

◆ _AST_IMPL_POINT

#define _AST_IMPL_POINT ( NAME,
FRAME )
值:
Point##NAME* Point##NAME::Instance()\
{\
static SharedPtr<Point##NAME> instance(new Point##NAME());\
return instance.get();\
}\
Frame* Point##NAME::getFrame() const\
{\
return Frame##FRAME::Instance();\
}\
errc_t Point##NAME::getPos(const TimePoint &tp, Vector3d &pos) const\
{\
return a##NAME##PosIn##FRAME(tp, pos);\
}\
errc_t Point##NAME::getPosVel(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const\
{\
return a##NAME##PosVelIn##FRAME(tp, pos, vel);\
}\

函数说明

◆ aB1950ToFK4Transform()

AST_CORE_CAPI void ast::aB1950ToFK4Transform ( Rotation & rotation)

B1950 到 FK4 的坐标旋转变换

以下转换参考SPICE程序 src/spicelib/chgirf.for

◆ aCIRFToTIRF() [1/2]

AST_CORE_API void ast::aCIRFToTIRF ( const TimePoint & tp,
const Vector3d & vecCIRF,
const Vector3d & velCIRF,
Vector3d & vecTIRF,
Vector3d & velTIRF )

从CIRF转换为TIRF的坐标转换

~

参数
tp时间点
vecCIRFCIRF坐标
velCIRFCIRF速度
vecTIRFTIRF坐标
velTIRFTIRF速度

◆ aCIRFToTIRF() [2/2]

AST_CORE_API void ast::aCIRFToTIRF ( const TimePoint & tp,
const Vector3d & vecCIRF,
Vector3d & vecTIRF )

从CIRF转换为TIRF的坐标转换

~

参数
tp时间点
vecCIRFCIRF坐标
vecTIRFTIRF坐标

◆ aCIRFToTIRFMatrix()

AST_CORE_CAPI void ast::aCIRFToTIRFMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从CIRF转换为TIRF的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aCIRFToTIRFTransform() [1/2]

AST_CORE_API void ast::aCIRFToTIRFTransform ( const TimePoint & tp,
KinematicRotation & rotation )

从CIRF转换为TIRF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换,带角速度信息

◆ aCIRFToTIRFTransform() [2/2]

AST_CORE_API void ast::aCIRFToTIRFTransform ( const TimePoint & tp,
Rotation & rotation )

从CIRF转换为TIRF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aEarthICRFToMoonICRF() [1/2]

AST_CORE_API errc_t ast::aEarthICRFToMoonICRF ( const TimePoint & tp,
const Vector3d & posInEarthICRF,
const Vector3d & velInEarthICRF,
Vector3d & posInMoonICRF,
Vector3d & velInMoonICRF )

计算地球ICRF坐标系到月球ICRF坐标系的转换

注解
该函数依赖DE星历数据
参数
tp时间点
posInEarthICRF地球ICRF坐标系下的位置向量
velInEarthICRF地球ICRF坐标系下的速度向量
posInMoonICRF月球ICRF坐标系下的位置向量
velInMoonICRF月球ICRF坐标系下的速度向量
返回
errc_t 错误码

◆ aEarthICRFToMoonICRF() [2/2]

AST_CORE_API errc_t ast::aEarthICRFToMoonICRF ( const TimePoint & tp,
const Vector3d & posInEarthICRF,
Vector3d & posInMoonICRF )

计算地球ICRF坐标系到月球ICRF坐标系的转换

注解
该函数依赖DE星历数据
参数
tp时间点
posInEarthICRF地球ICRF坐标系下的位置向量
posInMoonICRF月球ICRF坐标系下的位置向量
返回
errc_t 错误码

◆ aEarthPosInICRF()

AST_CORE_CAPI errc_t ast::aEarthPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算地球在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aEarthPosVelInICRF()

AST_CORE_CAPI errc_t ast::aEarthPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算地球在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aECFToICRF()

AST_CORE_API void ast::aECFToICRF ( const TimePoint & tp,
const Vector3d & vecECF,
Vector3d & vecICRF )

从ECF转换为ICRF的坐标转换

~

参数
tp时间点
vecECFECF坐标
vecICRFICRF坐标

◆ aECFToJ2000() [1/2]

AST_CORE_API void ast::aECFToJ2000 ( const TimePoint & tp,
const Vector3d & vecECF,
const Vector3d & velECF,
Vector3d & vecJ2000,
Vector3d & velJ2000 )

从ECF转换为J2000的坐标转换

~

参数
tp时间点
vecECFECF坐标
velECFECF速度
vecJ2000J2000坐标
velJ2000J2000速度

◆ aECFToJ2000() [2/2]

AST_CORE_API void ast::aECFToJ2000 ( const TimePoint & tp,
const Vector3d & vecECF,
Vector3d & vecJ2000 )

从ECF转换为J2000的坐标转换

~

参数
tp时间点
vecECFECF坐标
vecJ2000J2000坐标

◆ aECFToJ2000Matrix()

AST_CORE_API void ast::aECFToJ2000Matrix ( const TimePoint & tp,
Matrix3d & matrix )

从ECF转换为J2000的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aECFToJ2000Transform() [1/2]

AST_CORE_API void ast::aECFToJ2000Transform ( const TimePoint & tp,
KinematicRotation & rotation )

从ECF转换为J2000的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换,带角速度信息

◆ aECFToJ2000Transform() [2/2]

AST_CORE_API void ast::aECFToJ2000Transform ( const TimePoint & tp,
Rotation & rotation )

从ECF转换为J2000的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aECIToECF() [1/2]

AST_CORE_API void ast::aECIToECF ( const TimePoint & tp,
const Vector3d & vecECI,
const Vector3d & velECI,
Vector3d & vecECF,
Vector3d & velECF )

从ECI转换为ECF的坐标转换

ECI为地球惯性系,根据相关的配置,ECI可能为J2000或ICRF。

参数
tp时间点
vecECIECI坐标
velECIECI速度
vecECFECF坐标
velECFECF速度

◆ aECIToECF() [2/2]

AST_CORE_API void ast::aECIToECF ( const TimePoint & tp,
const Vector3d & vecECI,
Vector3d & vecECF )

从ECI转换为ECF的坐标转换

ECI为地球惯性系,根据相关的配置,ECI可能为J2000或ICRF。

参数
tp时间点
vecECIECI坐标
vecECFECF坐标

◆ aECIToECFMatrix()

AST_CORE_CAPI void ast::aECIToECFMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从ECI转换为ECF的坐标转换矩阵

ECI为地球惯性系,根据相关的配置,ECI可能为J2000或ICRF。

参数
tp时间点
matrix坐标转换矩阵

◆ aECIToECFTransform() [1/2]

AST_CORE_API void ast::aECIToECFTransform ( const TimePoint & tp,
KinematicRotation & rotation )

从ECI转换为ECF的坐标旋转变换

ECI为地球惯性系,根据相关的配置,ECI可能为J2000或ICRF。

参数
tp时间点
rotation坐标旋转变换,带角速度信息

◆ aECIToECFTransform() [2/2]

AST_CORE_API void ast::aECIToECFTransform ( const TimePoint & tp,
Rotation & rotation )

从ECI转换为ECF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aEMBarycenterPosInICRF()

AST_CORE_CAPI errc_t ast::aEMBarycenterPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算地月球质在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aEMBarycenterPosVelInICRF()

AST_CORE_CAPI errc_t ast::aEMBarycenterPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算地月球质在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aENUToFrameMatrix()

AST_CORE_CAPI errc_t ast::aENUToFrameMatrix ( const Vector3d & posInFrame,
const Vector3d & velInFrame,
Matrix3d & matrix )

计算ENU坐标系到位置和速度向量所在坐标系的转换矩阵

参数
posInFrame位置向量
velInFrame速度向量
matrix转换矩阵

◆ aFrameEarthICRF()

AST_CORE_CAPI Frame * ast::aFrameEarthICRF ( )

地球ICRF系

注解
坐标系的定义与当前线程的DataContext所加载的数据相关

◆ aFrameEarthJ2000()

AST_CORE_CAPI Frame * ast::aFrameEarthJ2000 ( )

地球J2000系

注解
坐标系的定义与当前线程的DataContext所加载的数据相关

◆ aFrameECF()

AST_CORE_CAPI Frame * ast::aFrameECF ( )

地球ECF系

注解
坐标系的定义与当前线程的DataContext所加载的数据相关

◆ aFrameECI()

AST_CORE_CAPI Frame * ast::aFrameECI ( )

地球惯性系

注解
坐标系的定义与当前线程的DataContext所加载的数据相关

◆ aFrameToENUMatrix()

AST_CORE_CAPI errc_t ast::aFrameToENUMatrix ( const Vector3d & posInFrame,
const Vector3d & velInFrame,
Matrix3d & matrix )

计算位置向量所在坐标系到ENU坐标系的转换矩阵

参数
posInFrame位置向量
velInFrame速度向量
matrix转换矩阵

◆ aFrameToLVLHMatrix()

AST_CORE_CAPI errc_t ast::aFrameToLVLHMatrix ( const Vector3d & posInFrame,
const Vector3d & velInFrame,
Matrix3d & matrix )

计算位置和速度向量所在坐标系到LVLH坐标系的转换矩阵

参数
posInFrame位置向量
velInFrame速度向量
matrix转换矩阵

◆ aFrameToVNCMatrix()

AST_CORE_CAPI errc_t ast::aFrameToVNCMatrix ( const Vector3d & posInFrame,
const Vector3d & velInFrame,
Matrix3d & matrix )

计算位置和速度向量所在坐标系到VNC坐标系的转换矩阵

参数
posInFrame位置向量
velInFrame速度向量
matrix转换矩阵

◆ aFrameToVVLHMatrix()

AST_CORE_CAPI errc_t ast::aFrameToVVLHMatrix ( const Vector3d & posInFrame,
const Vector3d & velInFrame,
Matrix3d & matrix )

计算位置和速度向量所在坐标系到VVLH坐标系的转换矩阵

参数
posInFrame位置向量
velInFrame速度向量
matrix转换矩阵

◆ aGetAxes()

AST_CORE_CAPI Axes * ast::aGetAxes ( StringView name)

获取轴系

参数
name轴系名称
返回
轴系指针

◆ aGTODToECF()

AST_CORE_CAPI void ast::aGTODToECF ( const TimePoint & tp,
const Vector3d & vecGTOD,
Vector3d & vecECF )

从GTOD转换为ECF的坐标转换

~

参数
tp时间点
vecGTODGTOD坐标
vecECFECF坐标

◆ aGTODToECFMatrix()

AST_CORE_CAPI void ast::aGTODToECFMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从GTOD转换为ECF的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aGTODToECFTransform()

AST_CORE_CAPI void ast::aGTODToECFTransform ( const TimePoint & tp,
Rotation & rotation )

从GTOD转换为ECF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aICRFToCIRF()

AST_CORE_CAPI void ast::aICRFToCIRF ( const TimePoint & tp,
const Vector3d & vecICRF,
Vector3d & vecCIRF )

从ICRF转换为CIRF的坐标转换

~

参数
tp时间点
vecICRFICRF坐标
vecCIRFCIRF坐标

◆ aICRFToCIRFMatrix()

AST_CORE_CAPI void ast::aICRFToCIRFMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从ICRF转换为CIRF的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aICRFToCIRFTransform()

AST_CORE_CAPI void ast::aICRFToCIRFTransform ( const TimePoint & tp,
Rotation & rotation )

从ICRF转换为CIRF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aICRFToECF() [1/2]

AST_CORE_API void ast::aICRFToECF ( const TimePoint & tp,
const Vector3d & vecICRF,
const Vector3d & velICRF,
Vector3d & vecECF,
Vector3d & velECF )

从ICRF转换为ECF的坐标转换

~

参数
tp时间点
vecICRFICRF坐标
velICRFICRF速度
vecECFECF坐标
velECFECF速度

◆ aICRFToECF() [2/2]

AST_CORE_API void ast::aICRFToECF ( const TimePoint & tp,
const Vector3d & vecICRF,
Vector3d & vecECF )

从ICRF转换为ECF的坐标转换

~

参数
tp时间点
vecICRFICRF坐标
vecECFECF坐标

◆ aICRFToECFMatrix()

AST_CORE_CAPI void ast::aICRFToECFMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从ICRF转换为ECF的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aICRFToECFTransform() [1/2]

AST_CORE_API void ast::aICRFToECFTransform ( const TimePoint & tp,
KinematicRotation & rotation )

从ICRF转换为ECF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换,带角速度信息

◆ aICRFToECFTransform() [2/2]

AST_CORE_API void ast::aICRFToECFTransform ( const TimePoint & tp,
Rotation & rotation )

从ICRF转换为ECF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aICRFToMoonMeanEarthTransform()

AST_CORE_CAPI errc_t ast::aICRFToMoonMeanEarthTransform ( const TimePoint & tp,
Rotation & rotation )

计算月球ICRF坐标系到月球MeanEarth系的转换(默认为DE实现)

参数
tp时间点
rotation旋转
返回
errc_t 错误码

◆ aICRFToMoonMeanEarthTransform_DE()

AST_CORE_CAPI errc_t ast::aICRFToMoonMeanEarthTransform_DE ( const TimePoint & tp,
Rotation & rotation )

计算月球ICRF坐标系到月球MeanEarth系的转换(依赖DE星历)

注解
该函数依赖DE星历数据
参数
tp时间点
rotation旋转
返回
errc_t 错误码

◆ aICRFToMoonMeanEarthTransform_IAU()

AST_CORE_CAPI errc_t ast::aICRFToMoonMeanEarthTransform_IAU ( const TimePoint & tp,
Rotation & rotation )

计算月球ICRF坐标系到月球MeanEarth系的转换(依赖IAU旋转系数)

待办事项
还未实现该函数
参数
tp
rotation
返回

◆ aICRFToMoonPrincipalAxesTransform() [1/2]

AST_CORE_API errc_t ast::aICRFToMoonPrincipalAxesTransform ( const TimePoint & tp,
KinematicRotation & rotation )

计算ICRF到月球主轴系(PA)的转换

注解
该函数依赖DE星历数据里的月球平动角
待办事项
还未实现该函数,需要实现旋转角速度的计算
参数
tp时间点
rotation旋转矩阵
返回
errc_t 错误码

◆ aICRFToMoonPrincipalAxesTransform() [2/2]

AST_CORE_API errc_t ast::aICRFToMoonPrincipalAxesTransform ( const TimePoint & tp,
Rotation & rotation )

计算ICRF到月球主轴系(PA)的转换

注解
该函数依赖DE星历数据里的月球平动角
参数
tp时间点
rotation旋转矩阵
返回
errc_t 错误码

◆ aJ2000ToB1950Transform_SPICE()

AST_CORE_CAPI void ast::aJ2000ToB1950Transform_SPICE ( Rotation & rotation)

J2000 到 B1950 的坐标旋转变换(SPICE 版本)

参考SPICE程序 src/spicelib/chgirf.for

◆ aJ2000ToB1950Transform_Vallado()

AST_CORE_CAPI void ast::aJ2000ToB1950Transform_Vallado ( Rotation & rotation)

J2000 到 B1950 的坐标旋转变换(Vallado 版本)

参考GMAT代码 (vallado 2001, 227-228)
详细请参见:gmat-git/prototype/Navigation/TDRSS_Doppler/utilities/Vallado/fk4i.m

◆ aJ2000ToECF() [1/2]

AST_CORE_API void ast::aJ2000ToECF ( const TimePoint & tp,
const Vector3d & vecJ2000,
const Vector3d & velJ2000,
Vector3d & vecECF,
Vector3d & velECF )

从J2000转换为ECF的坐标转换

~

参数
tp时间点
vecJ2000J2000坐标
velJ2000J2000速度
vecECFECF坐标
velECFECF速度

◆ aJ2000ToECF() [2/2]

AST_CORE_API void ast::aJ2000ToECF ( const TimePoint & tp,
const Vector3d & vecJ2000,
Vector3d & vecECF )

从J2000转换为ECF的坐标转换

~

参数
tp时间点
vecJ2000J2000坐标
vecECFECF坐标

◆ aJ2000ToECFMatrix()

AST_CORE_API void ast::aJ2000ToECFMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从J2000转换为ECF的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aJ2000ToECFTransform() [1/2]

AST_CORE_API void ast::aJ2000ToECFTransform ( const TimePoint & tp,
KinematicRotation & rotation )

从J2000转换为ECF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换,带角速度信息

◆ aJ2000ToECFTransform() [2/2]

AST_CORE_API void ast::aJ2000ToECFTransform ( const TimePoint & tp,
Rotation & rotation )

从J2000转换为ECF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aJ2000ToMOD()

AST_CORE_CAPI void ast::aJ2000ToMOD ( const TimePoint & tp,
const Vector3d & vecJ2000,
Vector3d & vecMOD )

从J2000转换为MOD的坐标转换

~

参数
tp时间点
vecJ2000J2000坐标
vecMODMOD坐标

◆ aJ2000ToMODMatrix()

AST_CORE_CAPI void ast::aJ2000ToMODMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从J2000转换为MOD的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aJ2000ToMODTransform()

AST_CORE_CAPI void ast::aJ2000ToMODTransform ( const TimePoint & tp,
Rotation & rotation )

从J2000转换为MOD的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aJupiterPosInICRF()

AST_CORE_CAPI errc_t ast::aJupiterPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算木星在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aJupiterPosVelInICRF()

AST_CORE_CAPI errc_t ast::aJupiterPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算木星在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aLVLHToFrameMatrix()

AST_CORE_CAPI errc_t ast::aLVLHToFrameMatrix ( const Vector3d & posInFrame,
const Vector3d & velInFrame,
Matrix3d & matrix )

计算LVLH坐标系到位置和速度向量所在坐标系的转换矩阵

参数
posInFrame位置向量
velInFrame速度向量
matrix转换矩阵

◆ aMarsPosInICRF()

AST_CORE_CAPI errc_t ast::aMarsPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算火星在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aMarsPosVelInICRF()

AST_CORE_CAPI errc_t ast::aMarsPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算火星在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aMercuryPosInICRF()

AST_CORE_CAPI errc_t ast::aMercuryPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算水星在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aMercuryPosVelInICRF()

AST_CORE_CAPI errc_t ast::aMercuryPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算水星在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aMODToTOD()

AST_CORE_CAPI void ast::aMODToTOD ( const TimePoint & tp,
const Vector3d & vecMOD,
Vector3d & vecTOD )

从MOD转换为TOD的坐标转换

~

参数
tp时间点
vecMODMOD坐标
vecTODTOD坐标

◆ aMODToTODMatrix()

AST_CORE_CAPI void ast::aMODToTODMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从MOD转换为TOD的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aMODToTODTransform()

AST_CORE_CAPI void ast::aMODToTODTransform ( const TimePoint & tp,
Rotation & rotation )

从MOD转换为TOD的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aMoonPA403ToMeanEarthTransform()

AST_CORE_CAPI void ast::aMoonPA403ToMeanEarthTransform ( Rotation & rotation)

计算月球主轴系(PA403)到月球MeanEarth系的转换

参数
rotation旋转
返回
errc_t 错误码

◆ aMoonPA418ToMeanEarthTransform()

AST_CORE_CAPI void ast::aMoonPA418ToMeanEarthTransform ( Rotation & rotation)

计算月球主轴系(PA418)到月球MeanEarth系的转换

参数
rotation旋转
返回
errc_t 错误码

◆ aMoonPA421ToMeanEarthTransform()

AST_CORE_CAPI void ast::aMoonPA421ToMeanEarthTransform ( Rotation & rotation)

计算月球主轴系(PA421)到月球MeanEarth系的转换

参数
rotation旋转
返回
errc_t 错误码

◆ aMoonPA430ToMeanEarthTransform()

AST_CORE_CAPI void ast::aMoonPA430ToMeanEarthTransform ( Rotation & rotation)

计算月球主轴系(PA430)到月球MeanEarth系的转换

参数
rotation旋转
返回
errc_t 错误码

◆ aMoonPAToMeanEarthTransform()

AST_CORE_CAPI errc_t ast::aMoonPAToMeanEarthTransform ( Rotation & rotation)

计算月球主轴系(PA)到月球MeanEarth系的转换

注解
该函数依赖DE星历数据
参数
rotation旋转
返回
errc_t 错误码

◆ aMoonPosInICRF()

AST_CORE_CAPI errc_t ast::aMoonPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算月球在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aMoonPosVelInICRF()

AST_CORE_CAPI errc_t ast::aMoonPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算月球在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aNeptunePosInICRF()

AST_CORE_CAPI errc_t ast::aNeptunePosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算海王星在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aNeptunePosVelInICRF()

AST_CORE_CAPI errc_t ast::aNeptunePosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算海王星在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aPlutoPosInICRF()

AST_CORE_CAPI errc_t ast::aPlutoPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算冥王星在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aPlutoPosVelInICRF()

AST_CORE_CAPI errc_t ast::aPlutoPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算冥王星在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aSaturnPosInICRF()

AST_CORE_CAPI errc_t ast::aSaturnPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算土星在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aSaturnPosVelInICRF()

AST_CORE_CAPI errc_t ast::aSaturnPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算土星在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aSunPosInICRF()

AST_CORE_CAPI errc_t ast::aSunPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算太阳在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aSunPosVelInICRF()

AST_CORE_CAPI errc_t ast::aSunPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算太阳在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aTIRFToECF()

AST_CORE_CAPI void ast::aTIRFToECF ( const TimePoint & tp,
const Vector3d & vecTIRF,
Vector3d & vecECF )

从TIRF转换为ECF的坐标转换

~

参数
tp时间点
vecTIRFTIRF坐标
vecECFECF坐标

◆ aTIRFToECFMatrix()

AST_CORE_CAPI void ast::aTIRFToECFMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从TIRF转换为ECF的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aTIRFToECFTransform()

AST_CORE_CAPI void ast::aTIRFToECFTransform ( const TimePoint & tp,
Rotation & rotation )

从TIRF转换为ECF的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aTODToGTOD() [1/2]

AST_CORE_API void ast::aTODToGTOD ( const TimePoint & tp,
const Vector3d & vecTOD,
const Vector3d & velTOD,
Vector3d & vecGTOC,
Vector3d & velGTOC )

从TOD转换为GTOD的坐标转换

~

参数
tp时间点
vecTODTOD坐标
velTODTOD速度
vecGTODGTOD坐标
velGTODGTOD速度

◆ aTODToGTOD() [2/2]

AST_CORE_API void ast::aTODToGTOD ( const TimePoint & tp,
const Vector3d & vecTOD,
Vector3d & vecGTOD )

从TOD转换为GTOD的坐标转换

~

参数
tp时间点
vecTODTOD坐标
vecGTODGTOD坐标

◆ aTODToGTODMatrix()

AST_CORE_API void ast::aTODToGTODMatrix ( const TimePoint & tp,
Matrix3d & matrix )

从TOD转换为GTOD的坐标转换矩阵

~

参数
tp时间点
matrix坐标转换矩阵

◆ aTODToGTODTransform() [1/2]

AST_CORE_API void ast::aTODToGTODTransform ( const TimePoint & tp,
KinematicRotation & rotation )

从TOD转换为GTOD的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换,带角速度信息

◆ aTODToGTODTransform() [2/2]

AST_CORE_API void ast::aTODToGTODTransform ( const TimePoint & tp,
Rotation & rotation )

从TOD转换为GTOD的坐标旋转变换

~

参数
tp时间点
rotation坐标旋转变换

◆ aUranusPosInICRF()

AST_CORE_CAPI errc_t ast::aUranusPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算天王星在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aUranusPosVelInICRF()

AST_CORE_CAPI errc_t ast::aUranusPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算天王星在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aVenusPosInICRF()

AST_CORE_CAPI errc_t ast::aVenusPosInICRF ( const TimePoint & tp,
Vector3d & pos )

计算金星在ICRF坐标系中的位置

参数
tp时间点
pos输出的位置
返回
错误码

◆ aVenusPosVelInICRF()

AST_CORE_CAPI errc_t ast::aVenusPosVelInICRF ( const TimePoint & tp,
Vector3d & pos,
Vector3d & vel )

计算金星在ICRF坐标系中的位置和速度

参数
tp时间点
pos输出的位置
vel输出的速度
返回
错误码

◆ aVNCToFrameMatrix()

AST_CORE_CAPI errc_t ast::aVNCToFrameMatrix ( const Vector3d & posInFrame,
const Vector3d & velInFrame,
Matrix3d & matrix )

计算VNC坐标系到位置和速度向量所在坐标系的转换矩阵

参数
posInFrame位置向量
velInFrame速度向量
matrix转换矩阵

◆ aVVLHToFrameMatrix()

AST_CORE_CAPI errc_t ast::aVVLHToFrameMatrix ( const Vector3d & posInFrame,
const Vector3d & velInFrame,
Matrix3d & matrix )

计算VVLH坐标系到位置和速度向量所在坐标系的转换矩阵

参数
posInFrame位置向量
velInFrame速度向量
matrix转换矩阵