A cellular automaton on the points of a sphere, so the world has no edges: waves run all the way round, meet on the far side and break up into spirals. Pick a rule, press Play, and click on the sphere to set cells. Drag to turn it, scroll or pinch to zoom, and right-drag to move.

 

Loading three.js. If this note stays, the browser could not load or start it (WebGL may be switched off: Settings > System > "Use graphics acceleration when available").

The cells are the points of a geodesic sphere, an icosahedron whose triangles are split into four again and again: every cell has six neighbors, except twelve cells (the corners of the original icosahedron) that have five, so the cells are nearly equal all over the sphere and nothing is special about the poles, unlike a latitude and longitude grid. The resolution slider is the number of times the triangles are split, from 162 to 40,962 cells. The engine, lib/larsi.org/graph-ca.js, only knows who is next to whom, so the same code would run on a torus or any mesh.

Excitable waves is the Greenberg-Hastings model of a heart muscle or a nerve: a resting cell fires when enough of its neighbors fire, a firing cell goes into a refractory rest for a few steps and cannot fire again, and then it is ready. That is why a wave leaves a quiet region behind it and two waves that meet destroy each other, and why a wave that is broken, like the one Spiral starts, curls up into a spiral that goes on turning. Raise the spontaneous firing to start new waves by themselves. It is the kind of automaton behind my 3D uterus simulation (3D Uterus Animation), which used eight states, one firing, several refractory. Brian's Brain, Life (type your own B/S rule, with counts up to 6) and the cyclic automaton are the same as on the flat pages, with the twelve pentagon cells as small defects.

This page was created with Claude Code.