一个不依赖任何库的单文件物理沙盘,用来验证”速度方向决定轨道形状”这件事。
怎么玩
- 按住拖拽:像弹弓一样拉出初速度,松手发射卫星
- R 重置:回到三颗初始行星的稳定状态
- 空格暂停:暂停后可以慢慢观察轨迹线
实现要点
- 中心恒星固定,采用平方反比引力
F = G·m/r²,并对近处做了软化(避免数值爆炸) - 时间步进固定为 1/240 秒,渲染帧率与物理解算解耦,轨道不会因掉帧而漂移
- 卫星之间也有微弱引力,轨道交叉时会互相扰动——偶尔能看到”甩飞”现象
- 轨迹线只保留最近 120 个采样点,兼顾观感与性能
想移植到自己的项目
整个 demo 就是一个 HTML 文件,直接复制 public/demos/orbit-playground/index.html 改改即可。