Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stellardx/cspaceengine-project
A C++ static library for astronomic calculation and modding SpaceEngine
https://github.com/stellardx/cspaceengine-project
astronomy astrophysics cpp library parser spaceengine
Last synced: 1 day ago
JSON representation
A C++ static library for astronomic calculation and modding SpaceEngine
- Host: GitHub
- URL: https://github.com/stellardx/cspaceengine-project
- Owner: StellarDX
- License: gpl-3.0
- Created: 2023-11-17T13:54:51.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-13T14:33:41.000Z (9 months ago)
- Last Synced: 2024-04-14T04:32:28.688Z (9 months ago)
- Topics: astronomy, astrophysics, cpp, library, parser, spaceengine
- Language: C++
- Homepage:
- Size: 712 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
功能
- GLSL数据类型和内置函数
- 日期,时间及儒略日
- 高等数学
- 类似Python的随机数生成器
- SpaceEngine SC文件读写
- 剩下的功能还在重构中...
来自GLSL的数据类型和函数
- n维向量模板,2-4维是独立数据类型,4维以上为std::array的增强
- 矩阵,理论上不限大小,支持线性代数计算,可以当容器使用
- 一些来自GLSL的函数,支持vec2-4以及std::array
日期时间
这个功能的使用方法和Qt的日期和时间类型相似,但是比Qt的简单
高等数学
- 直角坐标和极坐标之间的转换
- 导数,积分,微分方程
- 反函数
类似Python的随机数生成器
基本就是让C++的随机生成更好用些而已,顺便加了个自定义分布
SpaceEngine SC文件读写
- 一个经历了至少3次的更新换代的,基于LR(1)算法的sc文件读取
- SC文件输出流
功能很基础物理引擎(可选组件)
- 轨道跟踪器,用于轨道根数和状态向量的转换,可以实时跟踪(目前只支持椭圆轨道,Bug多慎用)
- 一些很基础的转换,比如双星轨道转开普勒轨道根数
- 行星轨道分布模型
- 卫星TLE工具
- 洛希极限,希尔球和拉格朗日点,用于多体问题
- IAU自转模型实时跟踪工具 (未来可能添加IAU和标准自转模型互转,高难)
- 自带了多个状态方程模板已经状态方程,尽管它们绝大多数是不精确的 (将改为材料实体类,封装基本属性,状态方程及熔化曲线)
- 基于流体静力平衡的行星物理模型(搁置了两年多的“世纪难题”在此宣告破解!) (将引入温度影响,向气态行星兼容)
- (未实现)基于恒星结构方程的恒星物理模型 (新的高难世纪难题待破解)
- 星等-光度计算
- (未完全实现)光谱分析
- (未实现)基本热力学 (又是世纪难题)
编译
此版本已经放弃VS2022并迁移到CMake平台,编译就正常使用CMake即可。
注:由于此版本的一些功能会大量使用format函数,而一些编译器在开启了C++20之下仍未支持此功能,所以这里给出了一个备用解决方案,此方案需安装fmtlib。
编译选项详见Building the library(还未上传)
遇到问题或想要新功能?
如果发现无法解决的问题或者bug,在issues告诉我。