三体文明模拟器是一个基于Web的交互式3D模拟器,融合了刘慈欣科幻小说《三体》的世界观与真实的三体运动物理规律。该项目不仅能够模拟混沌的三体运动系统,更创造性地将文明的兴衰与宇宙环境的变化相结合,让用户在体验天体运行之美的同时,思考文明与生存的意义。
"给岁月以文明,而不是给文明以岁月"
- 基于万有引力定律的真实物理模拟
- 可视化展示三个恒星(α、β、γ)与行星(P)的复杂运动轨迹
- 支持3D视角旋转、缩放和聚焦到特定天体
- 实时显示模拟时间、行星表面温度等关键信息
- 模拟行星P表面温度变化对文明的影响
- 将文明发展划分为七个阶段:原始时代、封建时代、蒸汽时代、电气时代、原子时代、信息时代和星际探索时代
- 记录每个文明的存在时间、发展阶段和最终结局
- 多种文明结局:高温毁灭、低温毁灭、被恒星爆炸毁灭、被碎片撞击毁灭、行星被恒星吞噬、被观察者关闭或成功飞向新家园
- 贴合《三体》原著的文艺灭亡描述
- 恒星相撞时同时产生冲击波和星云
- 冲击波快速向外扩散,对附近天体产生向外推力和升温效果(平方反比定律)
- 星云保持不规则形状,随天穹一起旋转产生真实的视运动
- 冲击波和星云的旁观视角与第一视角渲染
- 恒星相撞产生 10-20 个碎片,质量为行星的 0.1-5 倍
- 碎片参与天体引力计算和所有物理运算
- 碎片撞击行星会导致文明直接毁灭
- 碎片轨道使用原恒星颜色,在天体列表中不显示
- 重开一局:随机生成全新的三体系统配置
- 重新模拟:使用当前参数重置模拟
- 调整模拟速度:从0.1x到300x不等
- 第一视角模式:沉浸式体验三体世界
- 导出/导入参数:保存和分享你的三体系统配置
- 展示《三体》小说中的50+条经典语句
- 随着模拟进行自动切换,营造浓厚的科幻氛围
- 单指拖拽:旋转视角
- 双指缩放:调整视野大小
- 双击天体:聚焦到该天体
- 单击天体:查看天体详细信息
- 重开一局:生成随机三体系统
- 重新模拟:重置当前模拟状态
- 第一视角:切换至第一视角模式
- 显示三体文明历程:查看已记录的文明历史
- 导出参数:保存当前系统配置
- 导入参数:加载外部系统配置
- 纯前端实现:使用HTML5 Canvas和JavaScript构建,无需后端支持
- 响应式设计:同时支持桌面端和移动端访问
- 本地存储:使用localStorage保存文明历史记录
- 高性能渲染:优化的3D投影算法,确保流畅的模拟体验
- 物理精确性:基于真实的万有引力定律计算天体运动
使用Netlify搭建的Demo站点,与本存储库实时同步:
起初,这个项目叫做"基于web的在线三体运动模拟器",只有一个按照用户输入的参数模拟三体运动的功能。
但是当"名句轮播"功能加入后,这个项目的内涵就已经改变了。在混沌三体系统中试图求生的文明,在千万次冰雪与烈焰的史诗中毁灭,然后又涅槃重生。
或许只有面对文明一次次的崩塌与重建,我们才能真正领悟到刘慈欣所说的"生存从来都不是理所当然的事情,是我们误把它当成了理所当然。"
- 《三体》系列作者,雨果奖得主——刘慈欣
- Netlify提供的免费同步github存储库功能
- 在测试程序时毁灭的总计3154个三体文明以及成功飞向新家园的207个三体文明(doge)
由于出现被不合理使用的现象,本项目1.12.2及以后的版本将会由MIT许可证改为Apache-2.0 许可证,如需使用需授权并署名 - 详情请查看LICENSE文件
"弱小和无知不是生存的障碍,傲慢才是。" —— 《三体》
愿我们都能在这混沌的宇宙中,找到属于自己的文明之光。