https://github.com/evanstellun/web-three-body
基于web的在线三体文明模拟器
https://github.com/evanstellun/web-three-body
css3 html-css-javascript html5 javascript javascript-game physics physics-3d physics-simulation threebody threebodyproblem threejs
Last synced: 2 months ago
JSON representation
基于web的在线三体文明模拟器
- Host: GitHub
- URL: https://github.com/evanstellun/web-three-body
- Owner: evanstellun
- License: apache-2.0
- Created: 2025-08-20T09:29:25.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-03-28T14:42:18.000Z (3 months ago)
- Last Synced: 2026-03-28T15:52:49.247Z (3 months ago)
- Topics: css3, html-css-javascript, html5, javascript, javascript-game, physics, physics-3d, physics-simulation, threebody, threebodyproblem, threejs
- Language: JavaScript
- Homepage:
- Size: 282 KB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 三体文明模拟器
[](LICENSE)
[](https://www.microsoft.com/windows)
[](https://github.com)
[](https://developer.mozilla.org/)
[English Version Here](README_EN.md)
[Русская версия здесь](README_RU.md)
## 项目介绍
三体文明模拟器是一个基于Web的交互式3D模拟器,融合了刘慈欣科幻小说《三体》的世界观与真实的三体运动物理规律。该项目不仅能够模拟混沌的三体运动系统,更创造性地将文明的兴衰与宇宙环境的变化相结合,让用户在体验天体运行之美的同时,思考文明与生存的意义。
> "给岁月以文明,而不是给文明以岁月"
## 核心功能
### 3D三体运动模拟
- 基于万有引力定律的真实物理模拟
- 可视化展示三个恒星(α、β、γ)与行星(P)的复杂运动轨迹
- 支持3D视角旋转、缩放和聚焦到特定天体
- 实时显示模拟时间、行星表面温度等关键信息
### 文明兴衰模拟
- 模拟行星P表面温度变化对文明的影响
- 将文明发展划分为七个阶段:原始时代、封建时代、蒸汽时代、电气时代、原子时代、信息时代和星际探索时代
- 记录每个文明的存在时间、发展阶段和最终结局
- 多种文明结局:高温毁灭、低温毁灭、被恒星爆炸毁灭、被碎片撞击毁灭、行星被恒星吞噬、被观察者关闭或成功飞向新家园
- 贴合《三体》原著的文艺灭亡描述
### 恒星碰撞与爆炸系统
- 恒星相撞时同时产生冲击波和星云
- 冲击波快速向外扩散,对附近天体产生向外推力和升温效果(平方反比定律)
- 星云保持不规则形状,随天穹一起旋转产生真实的视运动
- 冲击波和星云的旁观视角与第一视角渲染
### 碎片系统
- 恒星相撞产生 10-20 个碎片,质量为行星的 0.1-5 倍
- 碎片参与天体引力计算和所有物理运算
- 碎片撞击行星会导致文明直接毁灭
- 碎片轨道使用原恒星颜色,在天体列表中不显示
### 交互式体验
- 重开一局:随机生成全新的三体系统配置
- 重新模拟:使用当前参数重置模拟
- 调整模拟速度:从0.1x到300x不等
- 第一视角模式:沉浸式体验三体世界
- 导出/导入参数:保存和分享你的三体系统配置
### 三体名句轮播
- 展示《三体》小说中的50+条经典语句
- 随着模拟进行自动切换,营造浓厚的科幻氛围
## 使用指南
### 基本操作
- **单指拖拽**:旋转视角
- **双指缩放**:调整视野大小
- **双击天体**:聚焦到该天体
- **单击天体**:查看天体详细信息
### 控制面板
- **重开一局**:生成随机三体系统
- **重新模拟**:重置当前模拟状态
- **第一视角**:切换至第一视角模式
- **显示三体文明历程**:查看已记录的文明历史
- **导出参数**:保存当前系统配置
- **导入参数**:加载外部系统配置
## 技术特点
- **纯前端实现**:使用HTML5 Canvas和JavaScript构建,无需后端支持
- **响应式设计**:同时支持桌面端和移动端访问
- **本地存储**:使用localStorage保存文明历史记录
- **高性能渲染**:优化的3D投影算法,确保流畅的模拟体验
- **物理精确性**:基于真实的万有引力定律计算天体运动
## 在线演示
使用Netlify搭建的Demo站点,与本存储库实时同步:
[三体文明模拟器 - 在线演示](https://3body.netlify.app/)
## 项目起源
起初,这个项目叫做"基于web的在线三体运动模拟器",只有一个按照用户输入的参数模拟三体运动的功能。
但是当"名句轮播"功能加入后,这个项目的内涵就已经改变了。在混沌三体系统中试图求生的文明,在千万次冰雪与烈焰的史诗中毁灭,然后又涅槃重生。
或许只有面对文明一次次的崩塌与重建,我们才能真正领悟到刘慈欣所说的"生存从来都不是理所当然的事情,是我们误把它当成了理所当然。"
## 特别鸣谢
- 《三体》系列作者,雨果奖得主——刘慈欣
- Netlify提供的免费同步github存储库功能
- 在测试程序时毁灭的总计3154个三体文明以及成功飞向新家园的207个三体文明(doge)
## 许可证
由于出现被不合理使用的现象,本项目1.12.2及以后的版本将会由MIT许可证改为Apache-2.0 许可证,如需使用需授权并署名 - 详情请查看[LICENSE](LICENSE)文件
"弱小和无知不是生存的障碍,傲慢才是。" —— 《三体》
愿我们都能在这混沌的宇宙中,找到属于自己的文明之光。