差分机 Difference Engine · 数字孪生

1 机器规格

2 初始值

装载时会按两相机器的递推关系做整数预调(m = L·Δ)—— 真机同样必须这样预置初值。右侧表格里同时给出机械读数与反算出的 Δ 值。

3 转动手柄

4 观察

鼠标左键拖动=旋转,滚轮=缩放,右键拖动=平移。可关掉机架和传动系直接看进位棘爪。

5 机构自检

让机构(不画动画)实际转起来,把每个循环从齿轮转角读出的数
与独立算出的差分表 / 多项式逐个比对。

当前状态

已完成循环 k0
当前 x0
手柄累计圈数0
本循环相—
机构阶段—
手柄角0°
累计进位动作0
溢出否
最新结果 f(x)0

各列数位轮读数

寄存器数位轮(高位→低位)机械读数Δ 值

数字直接由 round(轮转角 / 36°) mod 10 读出。 标红的位表示它的进位警告杆已被闩住,等待进位行程处理。 末列 Δ 值是用整数逆变换 L-1 从机械读数反算的真实差分值。

输出表(机器 vs 独立计算)

x机器读数应为

它到底是怎么算的

  1. 加法=把源轮转满一圈。源列每个数位轮被驱动竖轴带着正转整整 一圈。轮子转到零位的瞬间,轮上的零位销撞开传动闩(闩上两根探爪 分别搭在左右两列的零位销上,哪一列作源就由那一列撞开),列间惰轮的 狗牙离合套筒落下;从这一刻起,源轮剩下的转角才被传给目标轮。 源轮读数 d 时,前 (10−d) 步走完才到零位,剩下正好 d 步被传出去 ——目标轮因此加上了 d,而源轮转满一圈自动回到原值。
  2. 进位是独立的一趟行程。目标轮由 9 越过 0 时拨起并闩住警告杆。 随后进位竖轴转一圈,轴上按位序螺旋排列的棘爪依次扫过: 哪一位的警告杆被闩住,对应棘爪就伸出,把高一位的轮推一齿并让杆复位。 因为低位先动、高位后动,999999+1 这样的级联进位在同一圈内走完。
  3. 一个循环=两个相。相 A 做 D0+=D1、D2+=D3…,相 B 做 D1+=D2、 D3+=D4…。哪一半列做源,由曲柄经 2:1 减速的选相凸轮轴机械决定。
  4. 锁定爪在每相首尾径向进退:爪尖插进棘齿环的齿隙,既防止轮子空转, 也把转角精确咬回 36° 的整数倍。棘齿环因此有两个功能——进位棘爪推它一齿, 锁定爪插进它定位。