把时间拆开,探索机械之美VF-01 · 一分钟陀飞轮 · 每秒 8 拍

关于这块表

VF-01 是一块不存在的表:一分钟陀飞轮,每秒 8 拍,从一根游丝开始,用代码一个零件一个零件造出来。同一套代码有两个出口:这里的七个网页,和一部一镜到底的短片《把时间拆开》。网页里能拖着看的,和片子里的是同一块表。

  • 7步,从里往外装
  • 206个三维模型
  • 529,404个三角形
  • 8,772行代码

我们怎么做

  1. 先查,再画。摆轮多大、擒纵轮几个齿、擒纵叉摆几度,先找真表的出处:专利、厂商的技术资料、制表的工具书。两个独立来源对得上才用,只有一个来源的单独标出来。比如 4 Hz 机芯的擒纵轮,维基百科写 15 个齿(没有出处),几份专利和 ETA 2824 的资料都是 20 个,我们用 20。
  2. 一张总图,一份运动。尺寸、轴的位置、齿数只写在一个地方,每个零件怎么动也只写在一个地方。网页上的读数、片子里的标注、齿数比、每个轮子多久转一圈,都从这两处算出来,不手填。
  3. 从里往外,分七步。照装配的顺序:摆轮游丝 → 擒纵 → 陀飞轮框架 → 轮系 → 发条与上弦 → 夹板与底板 → 表盘与指针。每一步一个模块;第 n 页装着第 1 到第 n 步的零件。
  4. 人定方向,AI 写代码。UP 主出主意、看效果、一句话提意见;AI 编程助手查资料、写代码、做检查。第 1 步先做成样板,第 2–7 步交给六个 AI agent 同时做,各自对着总图检查有没有穿模、拍截图,最后合成一块表。
  5. 自己检查自己。每对齿轮在一个齿距里取 48 个时刻,看会不会穿模;擒纵每一拍是不是正好走 9°;片子按秒出截图,拼成一张联系表一眼看完。
  6. 改得最多的,是看不看得懂。第一版镜头一直在绕,零件又转得慢,看不出谁在动。后来演示时镜头停住,让不动的零件当参照;把时间的快慢做成主线(停住、慢放到 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