santi-human-computer
三体人列计算机 3D 模拟器,在浏览器中交互呈现大规模人列计算想象。

01 / PROJECT OVERVIEW
项目研究解读
三体人列计算机 3D 模拟器,在浏览器中交互呈现大规模人列计算想象。 本仓库以 TypeScript 为主要技术栈,当前快照索引 258 个文件。报告依据README 与目录结构整理,重点呈现项目用途、工程结构和复用方式,不把宣传描述等同于验证结论。
02 / CORE CAPABILITIES
值得关注的能力
- 01
围绕“三体人列计算机 3D 模拟器,在浏览器中交互呈现大规模人列计算想象”提供公开实现或研究资料
- 02
以 TypeScript 为主,保留 258 个可检查仓库文件
- 03
提供原始 GitHub 链接、目录导览和本地研究快照,便于复核与二次开发
03 / ENGINEERING
工程与仓库结构
仓库以 TypeScript 为主要实现语言,研究快照包含 258 个文件、6 个主要顶层入口。已提供 README 作为使用与能力说明。 项目最近更新时间为 2026-08-28,许可标记为 MIT License。
项目文件与实现资料
项目文件与实现资料
应用入口与界面实现
设计文档、研究记录或项目配图
项目文件与实现资料
项目文件与实现资料
04 / USE CASES
适合用在哪里
- 学习项目设计与实现
- 评估后用于二次开发
- 作为相关领域的研究参考
05 / QUICK START
从仓库开始
以下命令摘自项目 README 或根据仓库地址生成。请先阅读源仓库的安装要求、许可和脚本,再在自己的环境中运行。
cd app
npm install
npm run dev06 / REPOSITORY MAP
目录证据导览
这里列出快照中的前 258 个索引文件中的代表路径,帮助你快速定位源码、文档、测试与资源。
.github/workflows/deploy-pages.ymlLICENSEREADME.mdapp/.gitignoreapp/README.mdapp/components.jsonapp/eslint.config.jsapp/index.htmlapp/info.mdapp/package-lock.jsonapp/package.jsonapp/postcss.config.jsapp/public/ground-rammed-earth.jpgapp/public/logo-seal.svgapp/public/models/bird-proto-front.jpgapp/public/models/bird-proto-side.jpgapp/public/models/bird-proto-top.jpgapp/public/models/bird-proto.glbapp/public/models/cloud-proto-front.jpgapp/public/models/cloud-proto-side.jpgapp/public/models/cloud-proto-top.jpgapp/public/models/drum-proto-front.jpgapp/public/models/drum-proto-side.jpgapp/public/models/drum-proto-top.jpgapp/public/models/drum-proto.glbapp/public/models/emperor-proto-back.jpgapp/public/models/emperor-proto-front.jpgapp/public/models/emperor-proto-side.jpgapp/public/models/emperor-proto.glbapp/public/models/flag-blue-proto-back.jpgapp/public/models/flag-blue-proto-front.jpgapp/public/models/flag-blue-proto-side.jpgapp/public/models/flag-red-proto-back.jpgapp/public/models/flag-red-proto-front.jpgapp/public/models/flag-red-proto-side.jpgapp/public/models/grass-billboard-front.pngapp/public/models/grass-billboard-side.pngapp/public/models/grass-proto-front.jpgapp/public/models/grass-proto-side.jpgapp/public/models/grass-proto-top.jpgapp/public/models/ground-proto-close.jpgapp/public/models/ground-proto-tile.jpgapp/public/models/ground-proto-yard.jpgapp/public/models/mallet-proto-end.jpgapp/public/models/mallet-proto-front.jpgapp/public/models/mallet-proto-side.jpgapp/public/models/proto-spec.jsonapp/public/models/qin-proto-back.pngapp/public/models/qin-proto-front.pngapp/public/models/qin-proto-head.pngapp/public/models/qin-proto.glbapp/public/models/qin-soldier-army.glbapp/public/models/qin-soldier.glbapp/public/models/sign-proto-back.jpgapp/public/models/sign-proto-front.jpgapp/public/models/sign-proto-side.jpgapp/public/models/sky-proto-horizon.jpgapp/public/models/sky-proto-panorama.jpgapp/public/models/sky-proto-zenith.jpgapp/public/models/tent-proto-back.jpgapp/public/models/tent-proto-front.jpgapp/public/models/tent-proto-side.jpgapp/public/models/tent-proto.glbapp/public/models/torch-proto-front.jpgapp/public/models/torch-proto-side.jpgapp/public/models/torch-proto-top.jpgapp/public/models/tower-cmd-proto-front.jpgapp/public/models/tower-cmd-proto-side.jpgapp/public/models/tower-cmd-proto-top.jpgapp/public/models/tower-cmd-proto.glbapp/public/models/tower-drum-proto-front.jpgapp/public/models/tower-drum-proto-side.jpgapp/public/models/tower-drum-proto-top.jpgapp/public/models/tower-drum-proto.glbapp/public/models/tree-billboard-front.pngapp/public/models/tree-billboard-side.pngapp/public/models/tree-proto-front.jpgapp/public/models/tree-proto-side.jpgapp/public/models/tree-proto-top.jpgapp/public/models/vonneumann-proto-back.jpgapp/public/models/vonneumann-proto-front.jpgapp/public/models/vonneumann-proto-side.jpgapp/public/models/vonneumann-proto.glbapp/public/paper-grain.jpgapp/public/principle-hero.pngapp/public/sky-day.jpgapp/public/story-illustration.pngapp/scripts/bake-qin-albedo.pyapp/scripts/blender_fix_qin_face.pyapp/scripts/blender_mcp_ping.py
07 / SOURCE NOTES
README 原文摘录
保留原始说明便于复核。中文研究结论以当前快照为依据,后续变化请以 GitHub 仓库为准。
[图片] 演算场全景:说文解字小篆标题,十位军令九百三十二卒持红蓝旗
十位军令 · 九百三十二卒 · 鼓点翻旗
人列计算机
《三体》里,秦始皇用三千万士兵组成人列计算机。这里把它缩进浏览器:每位士兵是一扇逻辑门,红旗 = 1,蓝旗 = 0。鼓点一响,全阵同时翻旗,把 (A + B) × C 算完。
Human-Array Computer Qin-dynasty soldiers as gates. Red flag = 1, blue flag = 0.
In The Three-Body Problem, Qin Shi Huang builds a computer from thirty million soldiers. This shrinks that field into a browser: each soldier is a gate (AND / OR / XOR / NOT). A drumbeat, and the whole array flips at once.
- Default campaign — unsigned 10-bit
(A + B) × C: 932 gates / 62 ticks / 21-bit output. Example(1013 + 1012) × 1001 = 2027025. Widths 10 / 16 / 32; at most three binary ops; output ≤ 65 bits. Flags are live truth values, not a JavaScript result played back as animation. - Program mode — one fixed CPU field (registers, add / sub / mul / div, and compare, all standing). Instructions activate units; they do not rebuild the army. 10-bit: 2266 gates.
(A+B)*Cis add, then mul. - Live — open the yard · v1.3
打开演算场 · v1.3 · 原理 · 阵图 · 点验
标题「人列計算機」用说文解字小篆;界面与正文用黄令东齐伋体。士兵是逻辑门,旗帜是真值——没有「JS 先算完再回放」。
机位 1–6
热键 1–6 切到演算场预设机位(真模:监军台、鼓台、营帐、始皇与冯诺依曼)。
在线演示
| 页面 | GitHub Pages |
|---|---|
| 演算场 | https://suifei.github.io/santi-human-computer/ |
| 原理 | https://suifei.github.io/santi-human-computer/principle |
| 阵图 | https://suifei.github.io/santi-human-computer/formation |
| 點驗 | https://suifei.github.io/santi-human-computer/asset |
左键旋转、右键平移、滚轮缩放;点士兵看指令卡。空格 击鼓,1–6 换机位,F 跟随信号。横屏更好看。
默认军令
无符号 10 位 (A + B) × C:932 门 / 62 拍 / 21 位输出。例 (1013 + 1012) × 1001 = 2027025。甲乙丙各 0–1023。注入后击鼓,红蓝旗从南往北翻到输出手。
位宽可选 10 / 16 / 32;军令最多 3 个二元运算,输出不超过 65 位。一条表达式铺一张专用网表(A+B、A×B、(A+B)×C …)。
信号南 → 北:输入手 001–030 → 加法阵 → 部分积 → 移位累加 → 输出手 901–921。DONE 旗举红即算完。
程序档
一张固定 CPU:寄存器、加减乘除、比较同时列阵。指令只激活对应部件,不按语句换整支军队。(A+B)*C 拆成微操作:先加再乘。10 位 2266 门;比较 / 加 / 减三列贴中,乘与除并排在南。
写赋值、if、while;值仍由士兵翻旗算出。循环请用较小的乙 B。
[图片] 程序档:2266 门固定 CPU 人海
[图片] 程序档近景:秦卒持「零」旗
本地运行
工程在 app/。需要 Node.js 18+。
cd app
npm install
npm run dev浏览器打开 http://localhost:3000(与线上同一套页面)。端口占用时可 npm run dev -- --host --port 5175。
npm run build # 类型检查 + 生产构建
npm run preview # 预览 dist若 npm install 因锁文件里的旧镜像失败,用:
npm install --replace-registry-host=always --registry https://registry.npmmirror.com网表在 app/src/sim/netlist.ts,与 DOM / Three 解耦。npm run verify:netlist 抽检默认编制;npm run verify:program 用同一张 CPU 网表抽检程序档。
版本
当前发布 v1.3。推送到 main 会自动构建并发布到 GitHub Pages。
Vite 7 · React 19 · TypeScript · Three.js / React Three Fiber · Zustand · Tailwind。人与旗共用一套 InstancedMesh,下标即 gate.index。默认 932 人一批绘制;程序档 10 位 2266 人同样一批。
许可证 / License
以 MIT 许可证 发布。 Released under the MIT License.


