HomeAlgorithms & AIBabbage's Difference Engine

Babbage's Difference Engine

Interactive 3D model of Babbage's Difference Engine: turn the crank and watch decimal digit wheels compute a polynomial by repeated addition alone, using the method of finite differences.

Algorithms & AI3DModerate60 FPS📱 Mobile-adapted⇄ 2D version
computer-science-history ↗ Open standalone

Before electronic computers existed, Charles Babbage designed a machine that could tabulate polynomials using nothing but repeated addition, propagated through columns of decimal digit wheels connected by carry gearing. This model renders four such registers — the value and its first three forward differences — as real rotating gear wheels. Set the coefficients of a cubic polynomial, turn the crank by hand or let it run automatically, and watch each digit wheel click forward exactly as the method of finite differences dictates: every later value of the polynomial falls out of the machine one addition at a time, with the number of multiplications used staying at zero throughout — the entire reason the design was mechanically realisable with Victorian-era engineering.

⚙ Under the hood

Turn the crank on a 3D model of Babbage's Difference Engine and watch decimal digit wheels tabulate a polynomial using only repeated addition, via the method of finite differences.

computer science historyBabbagefinite differencesmechanical computingalgorithms

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)