Repolode
qunabu

qunabu/Gravity

基于 TypeScript 和 Three.js 的交互式太阳系模拟器,用真实天文数据展示引力如何塑造轨道。

Star
220
Fork
17
未关闭 Issue
0
最近提交
29天前

这是什么?

Gravity 是一个基于浏览器的太阳系模拟器,使用 TypeScript、Three.js 和 Vite 构建。行星、冥王星和主要卫星的大小、质量以及 J2000.0 轨道根数都取自真实天文数据,轨道与实际相符。只有渲染部分做了缩放,可以在真实比例和视觉比例之间切换,后者能让太阳和水星同时清晰可见。

项目启动时是一段 43 步的引导讲解,从牛顿定律讲起,依次介绍地月系统、拉格朗日点、潮汐和广义相对论,每一步都有可直接访问的链接,文字支持英文与波兰文切换。讲解结束后,可以进入自由探索模式直接操作模拟。

物理部分提供两种可切换的模型:解析的开普勒模型,以及用蛙跳积分器计算全对引力的 N 体模型,并实时显示能量漂移。纹理由 canvas 程序化生成,无需图片文件,可离线运行。

核心功能

  • 01包含太阳、行星、冥王星及主要卫星的真实尺寸、质量和 J2000 轨道根数。
  • 02可在真实比例与视觉比例之间切换,使小天体保持可见。
  • 03可在解析开普勒轨道和实时 N 体引力模拟之间切换。
  • 0443 步引导讲解,带深度链接,支持英文和波兰文。
  • 05纹理程序化生成,无需图片文件,可离线运行。

适用场景

  • 向学生讲解轨道力学和牛顿定律。
  • 直观观察拉格朗日点、潮汐和轨道共振等现象。
  • 把这套 TypeScript 与 Three.js 代码作为三维科学可视化的参考。

快速上手

  1. 1

    安装依赖

    npm install
  2. 2

    在 localhost:5173 启动开发服务器

    npm run dev

使用前须知

  • 卫星的轨道升交点、近心点幅角和相位值为近似值;只有半长轴、偏心率、倾角和周期是真实数据。
  • 视觉比例使用非线性径向映射,因此该模式下的轨道椭圆只是近似椭圆。
  • 开启卫星的 N 体模式需要更细的时间步长,在极高时间倍率下精度可能下降。

标签

常见问题

Gravity 是什么?
基于 TypeScript 和 Three.js 的交互式太阳系模拟器,用真实天文数据展示引力如何塑造轨道。 Gravity 是一个基于浏览器的太阳系模拟器,使用 TypeScript、Three.js 和 Vite 构建。行星、冥王星和主要卫星的大小、质量以及 J2000.0 轨道根数都取自真实天文数据,轨道与实际相符。只有渲染部分做了缩放,可以在真实比例和视觉比例之间切换,后者能让太阳和水星同时清晰可见。
Gravity 可以免费使用吗?用的什么许可证?
Gravity 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
Gravity 还在维护吗?
活跃维护中。Gravity 最近一次提交是在 2026年9月21日。
Gravity 适合用来做什么?
向学生讲解轨道力学和牛顿定律。 直观观察拉格朗日点、潮汐和轨道共振等现象。 把这套 TypeScript 与 Three.js 代码作为三维科学可视化的参考。
Gravity 怎么安装和运行?
安装依赖: npm install 在 localhost:5173 启动开发服务器: npm run dev
在哪里获取 Gravity?
源代码和安装说明在 GitHub 上:https://github.com/qunabu/Gravity

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目