关于这块表
VF-01 是一块不存在的表:一分钟陀飞轮,每秒 8 拍,从一根游丝开始,用代码一个零件一个零件造出来。同一套代码有两个出口:这里的七个网页,和一部一镜到底的短片《把时间拆开》。网页里能拖着看的,和片子里的是同一块表。
- 7步,从里往外装
- 206个三维模型
- 529,404个三角形
- 8,772行代码
我们怎么做
- 先查,再画。摆轮多大、擒纵轮几个齿、擒纵叉摆几度,先找真表的出处:专利、厂商的技术资料、制表的工具书。两个独立来源对得上才用,只有一个来源的单独标出来。比如 4 Hz 机芯的擒纵轮,维基百科写 15 个齿(没有出处),几份专利和 ETA 2824 的资料都是 20 个,我们用 20。
- 一张总图,一份运动。尺寸、轴的位置、齿数只写在一个地方,每个零件怎么动也只写在一个地方。网页上的读数、片子里的标注、齿数比、每个轮子多久转一圈,都从这两处算出来,不手填。
- 从里往外,分七步。照装配的顺序:摆轮游丝 → 擒纵 → 陀飞轮框架 → 轮系 → 发条与上弦 → 夹板与底板 → 表盘与指针。每一步一个模块;第 n 页装着第 1 到第 n 步的零件。
- 人定方向,AI 写代码。UP 主出主意、看效果、一句话提意见;AI 编程助手查资料、写代码、做检查。第 1 步先做成样板,第 2–7 步交给六个 AI agent 同时做,各自对着总图检查有没有穿模、拍截图,最后合成一块表。
- 自己检查自己。每对齿轮在一个齿距里取 48 个时刻,看会不会穿模;擒纵每一拍是不是正好走 9°;片子按秒出截图,拼成一张联系表一眼看完。
- 改得最多的,是看不看得懂。第一版镜头一直在绕,零件又转得慢,看不出谁在动。后来演示时镜头停住,让不动的零件当参照;把时间的快慢做成主线(停住、慢放到 1/400、快进到一秒走完半天);“聚焦”改成按功能整块让开,不再把零件平均摊开;嘀嗒声从合成的换成真表的录音。
用了什么
- three.js
- 用 WebGL 画整块表:正交镜头、跟着镜头转的照相棚环境光(金属的反光从这里来)、细描边。所有零件都是代码生成的几何体,没有用现成的三维模型。
- 运动模糊
- 时间加快以后,一帧里按快门取几十个时刻,在线性空间里平均,像高速摄影拍的,不会频闪。
- 网页
- 原生 JavaScript,esbuild 打包,每一页是一个独立的 HTML 文件,没有用前端框架。声音用浏览器的 Web Audio:表里每过一拍,放一声真表的嘀嗒。
- Remotion
- 用 React 写片子,逐帧调同一套代码渲染,1920×1080、每秒 60 帧。
- Python
- 做声音:配乐由代码合成,时间快了音符变密,慢了变稀、变暗;嘀嗒和上弦是真表的录音,一声声切开,排到片子的每一拍上;网页用的是同一批切好的录音。
- Claude Code
- Anthropic 的 AI 编程助手:写代码、查资料、跑检查。
- video-forge
- UP 主自己的做片工具:预览、渲染、响度。
参考了什么
画法
anatomy(wheresryan22,MIT 许可):发明一台真实的机器来讲道理,用很多带明暗的小零件画成等轴测图。最早的版本就是用它画的 SVG;整块表画不动了才换成 three.js,留下了它的正交镜头和细描边。
钟表资料
- 专利SSIH US3968642A(4 Hz 擒纵轮 20 齿、轴距 2.83 毫米),US8348497B2、US9903049B2(游丝),US9016933B2(摆轮),Audemars Piguet US20200401083A1(敲摆),Patek Philippe EP1892589A1(叉瓦跨度),Blancpain US8337076(陀飞轮结构),Chronoswiss US7085199B2(跨轮)
- 厂商Breguet(1801 年的陀飞轮专利),ETA 2824-2 和 Sellita SW200-1 的技术资料,A. Lange & Söhne,F.P.Journe,Incabloc
- 工具书和媒体Horopedia,Witschi 测试手册,horlogerie-suisse,SJX Watches,Revolution,Quill & Pad,Monochrome,WorldTempus,1881 年的《Journal Suisse d'Horlogerie》
声音
Freesound 上的两段 CC0 录音:Astounded 的 watch-ticking-contact-mic(接触式麦克风贴着表录的,正好一秒 8 声,和 VF-01 一样);apintofmild 的 Antique Pocket Watch Ticking and Winding(上弦时的“嗒嗒”)。
哪些是真的,哪些是我们取的
VF-01 是我们自己设计的机芯:结构照真表,不照搬任何一个品牌的机芯。尺寸和速度都落在真表的范围里:每小时 28,800 次、摆幅 290°、摆轮直径 9 毫米、框架一分钟一圈。也有查不到真表的数字,比如固定轮 96 齿配擒纵齿轴 8 叶,是从擒纵轮齿数、振频和框架转速推出来的。每页“这一步的零件”写的是 VF-01 的取值,不代表某一块真表就是这样。
联系
发现哪里不对,或者想聊聊这块表,欢迎写信给 UP 主:neozhang9233@gmail.com