Merge pull request #110 from space-ast/dev feat: 改进访问分析、对象组件加载,增加RTTI 枚举描述符等
Merge pull request #110 from space-ast/dev
feat: 改进访问分析、对象组件加载,增加RTTI 枚举描述符等
English | 中文
space-ast 是一个专注于航天仿真领域的算法库。
它提供了轨道动力学、姿态仿真、轨迹规划、测控窗口分析等核心算法的现代C++实现,为航天任务分析和设计提供计算基础。
预编译二进制包与自安装源码包的下载地址:https://github.com/space-ast/ast/releases
如果你想要了解更多,请参考:使用指南, API文档, Github以及 Gitee 和 GitCode。
提供航天动力学所需的底层数学支持,是整个库的数值计算基础。
提供解析、压缩、网络、反射等通用基础设施。
提供大气密度、地磁场与辐射带模型。
提供坐标系统、力模型、轨道预报、轨道设计、可见性分析、碰撞检测等完整的航天动力学计算能力。
git clone https://github.com/space-ast/ast.git --depth=1 cd ast xmake
ast/ ├── data/ # 数据 ├── docs/ # 文档 ├── examples/ # 示例代码 ├── include/ # 头文件 ├── projects/ # 示例工程 ├── repo/ # 第三方库配置文件 ├── scripts/ # 工具脚本 ├── src/ # 源文件 ├── test/ # 单元测试 └── thirdparty/ # 第三方库
项目采用以下命名约定:
// 命名空间 ast namespace ast { // 类型 - 无前缀 class OrbitPropagator; // 全局函数 - 单个'a'前缀 aPropagateOrbit(); aSolveLambert(); aRotateQuaternion(); // 枚举 - 'E' 和 'e' 前缀 enum EFrame { eECI, eECEF }; // 常量 - 'k' 前缀 const kEps15 = 1e-15; }
在以上命名规范里,所有以小写字母开头的都有值或者地址
遵循Doxygen注释规范,函数、文件、类的注释采用///格式,其他多行注释也可采用/*! ... */格式。
///
/*! ... */
函数注释:每个函数都需要包含详细的注释,包括参数说明、返回值、异常情况等。
类注释:每个类都需要包含详细的注释,包括功能描述、成员变量、成员函数等。
文件注释:每个源文件都需要包含文件头注释,包括文件名、作者、日期、版权信息等。
我们欢迎各种形式的贡献!无论是代码改进、文档完善、bug报告还是新功能建议,都是对项目的宝贵支持。
git checkout -b feature/AmazingFeature
git commit -m 'feat: 新增某功能特性'
git push origin feature/AmazingFeature
请确保代码遵循项目的编码规范,并添加相应的测试用例。
本项目采用 Apache2.0 许可证 - 详见 LICENSE 文件。
本项目的开发参考和使用了很多资料与工具,感谢所有开源社区贡献者的辛勤工作、航天仿真领域研究人员的理论贡献,以及行业标杆软件的启发,这些宝贵的资源为ast项目的开发提供了坚实的基础。
以下行业软件为航天仿真领域的标杆工具,其功能设计为本项目提供了重要参考:
项目所依赖的第三方库均为可选项,用户可以根据需要选择是否引入
ast 源自希腊语词根 astēr(ἀστήρ),意为星辰,天然带有星际空间的意象,并与 astronomy(天文学)、astronaut(宇航员)、astrodynamics(航天动力学)、asteroid(小行星)等同源。专业上,AST 可展开为:
🛰️航天仿真算法库,提供了轨道力学、姿态控制、轨迹规划等核心算法的现代C++实现。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
🛰️ 航天仿真算法库 SpaceAST
English | 中文
space-ast 是一个专注于航天仿真领域的算法库。
它提供了轨道动力学、姿态仿真、轨迹规划、测控窗口分析等核心算法的现代C++实现,为航天任务分析和设计提供计算基础。
预编译二进制包与自安装源码包的下载地址:https://github.com/space-ast/ast/releases
如果你想要了解更多,请参考:使用指南, API文档, Github以及 Gitee 和 GitCode。
主要功能模块
数学模块
提供航天动力学所需的底层数学支持,是整个库的数值计算基础。
工具模块
提供解析、压缩、网络、反射等通用基础设施。
太空环境模块
提供大气密度、地磁场与辐射带模型。
核心计算模块
提供坐标系统、力模型、轨道预报、轨道设计、可见性分析、碰撞检测等完整的航天动力学计算能力。
其他扩展模块
快速开始
环境要求
构建项目
项目架构
API 设计理念
代码规范
命名规范
项目采用以下命名约定:
在以上命名规范里,所有以小写字母开头的都有值或者地址
注释规范
遵循Doxygen注释规范,函数、文件、类的注释采用
///格式,其他多行注释也可采用/*! ... */格式。函数注释:每个函数都需要包含详细的注释,包括参数说明、返回值、异常情况等。
类注释:每个类都需要包含详细的注释,包括功能描述、成员变量、成员函数等。
文件注释:每个源文件都需要包含文件头注释,包括文件名、作者、日期、版权信息等。
参与贡献
我们欢迎各种形式的贡献!无论是代码改进、文档完善、bug报告还是新功能建议,都是对项目的宝贵支持。
贡献流程
git checkout -b feature/AmazingFeature)git commit -m 'feat: 新增某功能特性')git push origin feature/AmazingFeature)请确保代码遵循项目的编码规范,并添加相应的测试用例。
许可证
本项目采用 Apache2.0 许可证 - 详见 LICENSE 文件。
联系我们
参考资料
本项目的开发参考和使用了很多资料与工具,感谢所有开源社区贡献者的辛勤工作、航天仿真领域研究人员的理论贡献,以及行业标杆软件的启发,这些宝贵的资源为ast项目的开发提供了坚实的基础。
开源代码
行业软件
以下行业软件为航天仿真领域的标杆工具,其功能设计为本项目提供了重要参考:
项目依赖
工具链
第三方库
项目所依赖的第三方库均为可选项,用户可以根据需要选择是否引入
项目名称灵感
ast 源自希腊语词根 astēr(ἀστήρ),意为星辰,天然带有星际空间的意象,并与 astronomy(天文学)、astronaut(宇航员)、astrodynamics(航天动力学)、asteroid(小行星)等同源。专业上,AST 可展开为: