{"id":35144662,"url":"https://github.com/evanstellun/web-three-body","last_synced_at":"2026-04-05T13:01:59.132Z","repository":{"id":310830176,"uuid":"1041299471","full_name":"evanstellun/web-three-body","owner":"evanstellun","description":"基于web的在线三体文明模拟器","archived":false,"fork":false,"pushed_at":"2026-03-28T14:42:18.000Z","size":289,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-28T15:52:49.247Z","etag":null,"topics":["css3","html-css-javascript","html5","javascript","javascript-game","physics","physics-3d","physics-simulation","threebody","threebodyproblem","threejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evanstellun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-20T09:29:25.000Z","updated_at":"2026-03-28T14:28:13.000Z","dependencies_parsed_at":"2025-08-25T08:01:03.198Z","dependency_job_id":null,"html_url":"https://github.com/evanstellun/web-three-body","commit_stats":null,"previous_names":["allenevan-142857/web-three-body","evanstellun/web-three-body"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/evanstellun/web-three-body","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanstellun%2Fweb-three-body","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanstellun%2Fweb-three-body/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanstellun%2Fweb-three-body/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanstellun%2Fweb-three-body/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evanstellun","download_url":"https://codeload.github.com/evanstellun/web-three-body/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanstellun%2Fweb-three-body/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31436301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css3","html-css-javascript","html5","javascript","javascript-game","physics","physics-3d","physics-simulation","threebody","threebodyproblem","threejs"],"created_at":"2025-12-28T13:08:19.815Z","updated_at":"2026-04-05T13:01:59.126Z","avatar_url":"https://github.com/evanstellun.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 三体文明模拟器\n\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg)](https://www.microsoft.com/windows)\n[![Status](https://img.shields.io/badge/status-active-brightgreen.svg)](https://github.com)\n[![Tech](https://img.shields.io/badge/tech-HTML5%20%7C%20CSS3%20%7C%20JavaScript-blue.svg)](https://developer.mozilla.org/)\n\n[English Version Here](README_EN.md)\n\n[Русская версия здесь](README_RU.md)\n\n## 项目介绍\n\n三体文明模拟器是一个基于Web的交互式3D模拟器，融合了刘慈欣科幻小说《三体》的世界观与真实的三体运动物理规律。该项目不仅能够模拟混沌的三体运动系统，更创造性地将文明的兴衰与宇宙环境的变化相结合，让用户在体验天体运行之美的同时，思考文明与生存的意义。\n\n\u003e \"给岁月以文明，而不是给文明以岁月\"\n\n## 核心功能\n\n### 3D三体运动模拟\n\n- 基于万有引力定律的真实物理模拟\n- 可视化展示三个恒星（α、β、γ）与行星（P）的复杂运动轨迹\n- 支持3D视角旋转、缩放和聚焦到特定天体\n- 实时显示模拟时间、行星表面温度等关键信息\n\n### 文明兴衰模拟\n\n- 模拟行星P表面温度变化对文明的影响\n- 将文明发展划分为七个阶段：原始时代、封建时代、蒸汽时代、电气时代、原子时代、信息时代和星际探索时代\n- 记录每个文明的存在时间、发展阶段和最终结局\n- 多种文明结局：高温毁灭、低温毁灭、被恒星爆炸毁灭、被碎片撞击毁灭、行星被恒星吞噬、被观察者关闭或成功飞向新家园\n- 贴合《三体》原著的文艺灭亡描述\n\n### 恒星碰撞与爆炸系统\n\n- 恒星相撞时同时产生冲击波和星云\n- 冲击波快速向外扩散，对附近天体产生向外推力和升温效果（平方反比定律）\n- 星云保持不规则形状，随天穹一起旋转产生真实的视运动\n- 冲击波和星云的旁观视角与第一视角渲染\n\n### 碎片系统\n\n- 恒星相撞产生 10-20 个碎片，质量为行星的 0.1-5 倍\n- 碎片参与天体引力计算和所有物理运算\n- 碎片撞击行星会导致文明直接毁灭\n- 碎片轨道使用原恒星颜色，在天体列表中不显示\n\n### 交互式体验\n\n- 重开一局：随机生成全新的三体系统配置\n- 重新模拟：使用当前参数重置模拟\n- 调整模拟速度：从0.1x到300x不等\n- 第一视角模式：沉浸式体验三体世界\n- 导出/导入参数：保存和分享你的三体系统配置\n\n### 三体名句轮播\n\n- 展示《三体》小说中的50+条经典语句\n- 随着模拟进行自动切换，营造浓厚的科幻氛围\n\n## 使用指南\n\n### 基本操作\n\n- **单指拖拽**：旋转视角\n- **双指缩放**：调整视野大小\n- **双击天体**：聚焦到该天体\n- **单击天体**：查看天体详细信息\n\n### 控制面板\n\n- **重开一局**：生成随机三体系统\n- **重新模拟**：重置当前模拟状态\n- **第一视角**：切换至第一视角模式\n- **显示三体文明历程**：查看已记录的文明历史\n- **导出参数**：保存当前系统配置\n- **导入参数**：加载外部系统配置\n\n## 技术特点\n\n- **纯前端实现**：使用HTML5 Canvas和JavaScript构建，无需后端支持\n- **响应式设计**：同时支持桌面端和移动端访问\n- **本地存储**：使用localStorage保存文明历史记录\n- **高性能渲染**：优化的3D投影算法，确保流畅的模拟体验\n- **物理精确性**：基于真实的万有引力定律计算天体运动\n\n## 在线演示\n\n使用Netlify搭建的Demo站点，与本存储库实时同步：\n\n[三体文明模拟器 - 在线演示](https://3body.netlify.app/)\n\n## 项目起源\n\n起初，这个项目叫做\"基于web的在线三体运动模拟器\"，只有一个按照用户输入的参数模拟三体运动的功能。\n\n但是当\"名句轮播\"功能加入后，这个项目的内涵就已经改变了。在混沌三体系统中试图求生的文明，在千万次冰雪与烈焰的史诗中毁灭，然后又涅槃重生。\n\n或许只有面对文明一次次的崩塌与重建，我们才能真正领悟到刘慈欣所说的\"生存从来都不是理所当然的事情，是我们误把它当成了理所当然。\"\n\n## 特别鸣谢\n\n- 《三体》系列作者，雨果奖得主——刘慈欣\n- Netlify提供的免费同步github存储库功能\n- 在测试程序时毁灭的总计3154个三体文明以及成功飞向新家园的207个三体文明（doge）\n\n## 许可证\n\n由于出现被不合理使用的现象，本项目1.12.2及以后的版本将会由MIT许可证改为Apache-2.0 许可证，如需使用需授权并署名 - 详情请查看[LICENSE](LICENSE)文件\n\n\"弱小和无知不是生存的障碍，傲慢才是。\" —— 《三体》\n\n愿我们都能在这混沌的宇宙中，找到属于自己的文明之光。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevanstellun%2Fweb-three-body","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevanstellun%2Fweb-three-body","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevanstellun%2Fweb-three-body/lists"}