Portfolio / Computational Design

Elementary Cellular Automaton

An elementary cellular automaton is the simplest computational universe Stephen Wolfram could find: a single row of two-color cells, where each cell's next state depends only on itself and its two neighbors. There are eight possible neighborhoods, so a rule is just the eight-bit answer to "what comes next?" — exactly 256 of them, numbered 0–255. Stack each new generation beneath the last and the rule's whole character unfolds as a space-time diagram.

Almost nothing happens locally, yet the family spans Wolfram's four classes of behavior. Rule 90 XORs its neighbors and draws the Sierpiński triangle. Rule 30 turns one black cell into a stream of randomness good enough that it once seeded Mathematica's random-number generator. Rule 110 grows gliders that collide and compute — it's proven Turing-complete, a whole computer hiding in three bits of logic.

Dial any rule with the slider, jump to the famous ones, or click the lower cells of the rule icon to build a rule by hand — the same eight-case table Wolfram draws, here as a row of switches you can flip. Start from a single seed or a random row, or drag along the top row to draw your own initial condition; then play, and adjust the speed, cell size, and edge wrapping. Plain HTML5 canvas + JS, no libraries, light or dark to match the page. Source on GitHub.