From faf19ea86ad9ec9be63069e1550dd0618d123878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=AF=B4=E8=B0=8E?= <12711057+zhang-lies@user.noreply.gitee.com> Date: Mon, 10 Apr 2023 12:38:56 +0000 Subject: [PATCH] =?UTF-8?q?update=20AstroLib/Include/AsOrbitParam.h.=20?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E8=BD=A8=E9=81=93=E6=A0=B9=E6=95=B0=E8=BD=AC?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E9=80=9F=E5=BA=A6=E2=80=94=E2=80=94=E5=BC=A0?= =?UTF-8?q?=E5=AE=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张说谎 <12711057+zhang-lies@user.noreply.gitee.com> --- AstroLib/Include/AsOrbitParam.h | 83 +++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 34 deletions(-) diff --git a/AstroLib/Include/AsOrbitParam.h b/AstroLib/Include/AsOrbitParam.h index 1ef2d8c..a267c01 100644 --- a/AstroLib/Include/AsOrbitParam.h +++ b/AstroLib/Include/AsOrbitParam.h @@ -34,8 +34,8 @@ public: const CCartState operator -(const CCartState& state) const; public: - CCoord m_Pos; ///< λ position(m) - CCoord m_Vel; ///< ٶ velocity(m/s) + CCoord m_Pos; ///< 位置 position(m) + CCoord m_Vel; ///< 速度 velocity(m/s) }; @@ -49,12 +49,12 @@ public: CModOrbElem(double periRad, double ecc, double i, double raan, double argPeri, double trueA); public: - double m_PeriRad; ///<뾶 periapsis radius in m - double m_Ecc; ///<ƫ eccentricity - double m_I; ///< inclination in radians - double m_RAAN; ///<ྭ right ascension of ascending node - double m_ArgPeri; ///< arg of periapsis in rad - double m_TrueA; ///< true anomaly in radians + double m_PeriRad; ///<近拱点半径 periapsis radius in m + double m_Ecc; ///<偏心率 eccentricity + double m_I; ///<轨道倾角 inclination in radians + double m_RAAN; ///<升交点赤经 right ascension of ascending node + double m_ArgPeri; ///<近拱点角 arg of periapsis in rad + double m_TrueA; ///<真近点角 true anomaly in radians }; @@ -68,22 +68,22 @@ public: COrbElem(double sMajAx, double ecc, double i, double raan, double argPeri, double trueA); public: - double m_SMajAx; ///< Semimajor axis - double m_Ecc; ///< ƫ Eccentricity - double m_I; ///< Inclination - double m_RAAN; ///< ྭ Right Ascension of the ascending node (RAAN) - double m_ArgPeri; ///< Argument of Perigee - double m_TrueA; ///< True Anomaly + double m_SMajAx; ///< 长半轴 Semimajor axis + double m_Ecc; ///< 偏心率 Eccentricity + double m_I; ///< 轨道倾角 Inclination + double m_RAAN; ///< 升交点赤经 Right Ascension of the ascending node (RAAN) + double m_ArgPeri; ///< 近拱点角 Argument of Perigee + double m_TrueA; ///< 真近点角 True Anomaly }; //******************************************************************** -/// λúٶʸõĹٶ +/// 从位置和速度矢量得到飞行器的轨道角速度 /// @Author Wang Hua /// @Date 2005.3.4 /// @Input -/// @Param pos λ(m) -/// @Param vel ٶ(m/s) +/// @Param pos 飞行器位置(m) +/// @Param vel 飞行器速度(m/s) /// @Output /// @Param orbAngVel orbit angular velocity /// @Return @@ -94,18 +94,18 @@ bool AsCartStateToOrbAngVel( CCoord& orbAngVel); //******************************************************************** -/// ɹϵеľٶȺλüĿVVLHϵ(zָģxֱzָǰ -/// yֱָ򸺷)еλٶʸ +/// 由惯性系中的绝对速度和位置计算目标VVLH坐标系(z指向地心,x垂直z指向前, +/// y垂直轨道面指向负法向)中的相对位置坐标和速度矢量 /// @author Wang Hua /// @Date 2005.12.22 /// @Input -/// @Param assocPos λã׷ٷλ(m) -/// @Param assocVel ٶȣ׷ٷٶ(m/s) -/// @Param basePos ολãĿλ(m) -/// @Param baseVel οٶȣĿٶ(m/s) +/// @Param assocPos 绝对位置,即追踪飞行器位置(m) +/// @Param assocVel 绝对速度,即追踪飞行器速度(m/s) +/// @Param basePos 参考飞行器位置,即目标飞行器位置(m) +/// @Param baseVel 参考飞行器速度,即目标飞行器速度(m/s) /// @Output -/// @Param relPos Ŀϵеλ(m) -/// @Param relVel Ŀϵеٶ(m/s) +/// @Param relPos 目标轨道坐标系中的相对位置(m) +/// @Param relVel 目标轨道坐标系中的相对速度(m/s) //******************************************************************** void AsStateToVVLHRelState( const CCoord& assocPos, @@ -116,18 +116,18 @@ void AsStateToVVLHRelState( CCoord& relVel); //******************************************************************** -/// ĿVVLHϵ(xָǰzָģyֱ)еλ -/// ٶʸϵеľٶȺλ +/// 由目标VVLH坐标系(x指向前,z指向地心,y垂直轨道面)中的相对位置坐标和 +/// 速度矢量计算惯性系中的绝对速度和位置 /// @author Wang Hua /// @Date 2005.12.22 /// @Input -/// @Param relPos Ŀϵеλ -/// @Param relVel Ŀϵеٶ -/// @Param basePos ολãĿλ -/// @Param baseVel οٶȣĿٶ +/// @Param relPos 目标轨道坐标系中的相对位置 +/// @Param relVel 目标轨道坐标系中的相对速度 +/// @Param basePos 参考飞行器位置,即目标飞行器位置 +/// @Param baseVel 参考飞行器速度,即目标飞行器速度 /// @Output -/// @Param assocPos λã׷ٷλ -/// @Param assocVel ٶȣ׷ٷٶ +/// @Param assocPos 绝对位置,即追踪飞行器位置 +/// @Param assocVel 绝对速度,即追踪飞行器速度 //******************************************************************** void AsVVLHRelStateToState( const CCoord& relPos, @@ -138,6 +138,21 @@ void AsVVLHRelStateToState( CCoord& assocVel); - +/// 修正轨道根数转换为位置速度/modified orbit element to cartesian state element. +/// @Author Zhang Yu +/// @Date 2023/4/2 +/// @Input +/// @Param modOrb 修正轨道根数 +/// @Param gm 中心体引力常数 +/// @Output +/// @Param pos 位置 +/// @Param vel 速度 +/// @Return true=成功; false=输入错误 +//******************************************************************** +bool AsModOrbElemToCart( + const CModOrbElem& modOrb, + double gm, + CCoord3& pos, + CCoord3& vel); #endif //_ASORBITPARAM_H_ \ No newline at end of file -- Gitee