Nathaniel Bowditch, 1815 · Jules Lissajous, 1857
x(u) = A·sin(a·u + δ) y(u) = B·sin(b·u)
Two perpendicular sinusoids plotted against each other.
THE PLATE ▸RUN IT ▸VEX · AE
Every specimen in the atlas — number, name, order, discoverer and definition. Each entry has a page of its own carrying the full note, the provenance and the licence standing, and a link to the plate running live. This page is generated from the same array the atlas renders, so it cannot drift from the plates. 95 plates carry a HOUDINI · VEX port — the same published mathematics written for a Detail Wrangle, cooked and verified in Houdini before it shipped. 41 carry a TOUCHDESIGNER · GLSL port, generated from the same shader the page itself runs. Both are on the plate's own page.
Nathaniel Bowditch, 1815 · Jules Lissajous, 1857
x(u) = A·sin(a·u + δ) y(u) = B·sin(b·u)
Two perpendicular sinusoids plotted against each other.
THE PLATE ▸RUN IT ▸VEX · AE
Guido Grandi, c. 1723
r(θ) = cos(k·θ), k = n/d
A sinusoid in polar coordinates.
THE PLATE ▸RUN IT ▸VEX · AE
Albrecht Dürer, 1525 · Ptolemaic tradition
x(θ) = (R+r)·cos θ − h·cos(((R+r)/r)·θ) y(θ) = (R+r)·sin θ − h·sin(((R+r)/r)·θ)
The path of a point fixed to a circle rolling around the outside of another circle.
THE PLATE ▸RUN IT ▸VEX · AE
Johan Gielis, 2003
r(φ) = ( |cos(mφ/4)/a|^n₂ + |sin(mφ/4)/b|^n₃ )^(−1/n₁)
A generalisation of the superellipse that Gielis proposed as a single equation behind starfish, diatoms, flowers and shells.
THE PLATE ▸RUN IT ▸VEX · AE
Hugh Blackburn, 1844
x(t) = Σ Aᵢ·sin(fᵢ·t + φᵢ)·e^(−dᵢ·t) y(t) = Σ Aⱼ·sin(fⱼ·t + φⱼ)·e^(−dⱼ·t)
A Victorian drawing machine: two or three pendulums swinging on perpendicular axes, a pen on the last one.
THE PLATE ▸RUN IT ▸VEX · AE
Helmut Vogel, 1979 · after Kepler and Bravais
θ(n) = n · 137.508° r(n) = c · nᵏ, k = ½ for equal area
The arrangement of florets in a sunflower head.
Edward Lorenz, 1963
ẋ = σ(y − x) ẏ = x(ρ − z) − y ż = xy − βz
Lorenz was running a truncated weather model, restarted it from a rounded printout, and got a completely different forecast.
THE PLATE ▸RUN IT ▸VEX · AE
Peter de Jong, popularised 1980s
xₙ₊₁ = sin(a·yₙ) − cos(b·xₙ) yₙ₊₁ = sin(c·xₙ) − cos(d·yₙ)
Four constants, two lines, and an unreasonable amount of structure.
Clifford A. Pickover
xₙ₊₁ = sin(a·yₙ) + c·cos(a·xₙ) yₙ₊₁ = sin(b·xₙ) + d·cos(b·yₙ)
A sibling of the de Jong map with the cosine terms scaled rather than subtracted.
René Thomas, 1999
ẋ = sin y − b·x ẏ = sin z − b·y ż = sin x − b·z
Cyclically symmetric in x, y and z — the same equation rotated through all three.
THE PLATE ▸RUN IT ▸VEX · AE
Michel Hénon, 1976
xₙ₊₁ = 1 − a·xₙ² + yₙ yₙ₊₁ = b·xₙ
Hénon built this deliberately as the simplest possible map with a strange attractor — a stripped-down stand-in for a slice through the Lorenz system.
Kensuke Ikeda, 1979
tₙ = 0.4 − 6/(1 + xₙ² + yₙ²) xₙ₊₁ = 1 + u(xₙ·cos tₙ − yₙ·sin tₙ) yₙ₊₁ = u(xₙ·sin tₙ + yₙ·cos tₙ)
Derived from light circulating in a ring cavity filled with a nonlinear medium — the rotation angle depends on the intensity, so bright parts of the beam twist further than dim ones.
Benoît Mandelbrot, 1980 · after Fatou and Julia
zₙ₊₁ = zₙ² + c, z₀ = 0 c ∈ M ⟺ |zₙ| stays bounded
The set of complex c for which the orbit of zero never escapes.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Gaston Julia, 1918 · Pierre Fatou, 1917
zₙ₊₁ = zₙ² + c, z₀ = pixel c = μ/2 − μ²/4, μ = |μ|·e^(iθ)
The same iteration as the Mandelbrot set with the roles swapped: c is fixed and the starting point varies.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Michael Barnsley, 1988
four affine maps fᵢ(x,y) = Aᵢ·(x,y)ᵀ + bᵢ applied at random with fixed probabilities
An iterated function system: pick one of four affine transforms at random, apply it, plot the point, repeat.
Michael Barnsley, 1988 · Sierpiński, 1915
pₙ₊₁ = pₙ + r·(vₖ − pₙ), vₖ a random vertex
Mark some vertices, start anywhere, and repeatedly jump a fixed fraction of the way toward a randomly chosen one.
John Heighway, William Harter, Bruce Banks, 1966
fold a strip in half n times, unfold to 90° turn sequence: Lₙ₊₁ = Lₙ · L · reverse(swap(Lₙ))
Fold a strip of paper in half repeatedly, then open every crease to a right angle.
THE PLATE ▸RUN IT ▸VEX · AE
David Hilbert, 1891
a bijection [0,1] → [0,1]² built by recursive quadrant subdivision
A line that visits every point of a square.
THE PLATE ▸RUN IT ▸VEX · AE
Mandelbrot & Van Ness, 1968
fBm(p) = Σᵢ aⁱ · noise(2ⁱ·p), a < 1
Octaves of the same noise summed at doubling frequency and halving amplitude.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Ken Perlin, 1985
n(p) = interpolate over lattice corners of
gᵢ · (p − cᵢ), gᵢ pseudo-random unit vectorsPerlin built this for Tron and it won him an Academy Award.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Steven Worley, 1996
F₁(p) = min‖p − featureᵢ‖ F₂ − F₁ gives the cell borders
Scatter feature points, then colour every pixel by its distance to the nearest one.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
A folk technique of procedural graphics
q = fbm(p) r = fbm(p + 4q) out = fbm(p + 4r)
Instead of transforming the output of a noise function, transform its input — with more noise.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Standard practice; after Perlin's vector fields
θ(p) = 2π · fbm(p) pₙ₊₁ = pₙ + s·(cos θ, sin θ)
Read an angle out of a noise field at every point, then let particles drift along it leaving trails.
John Horton Conway, 1970
live cell with 2 or 3 live neighbours survives dead cell with exactly 3 live neighbours is born
Two rules on a square grid, and the result is Turing complete.
Stephen Wolfram, 1983
aᵢ′ = aᵢ₋₁ XOR (aᵢ OR aᵢ₊₁)
A one-dimensional automaton, one line of cells, each new row derived from the one above by looking at three neighbours.
Peter Gray & Stephen Scott, 1983 · after Turing, 1952
∂u/∂t = Dᵤ∇²u − uv² + f(1−u) ∂v/∂t = D᷅∇²v + uv² − (f+k)v
Two chemicals: one fed in, one that consumes it autocatalytically and decays.
Thomas Witten & Leonard Sander, 1981
release a random walker; when it touches the cluster, it sticks there permanently
Particles wander at random until they bump into a growing cluster, then freeze.
Sébastien Truchet, 1704
each cell takes one of k rotations, chosen by a hash of its coordinates
Father Truchet, a Carmelite friar, catalogued what happens when you tile a plane with a single square split diagonally and let each tile take any of four rotations.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Georgy Voronoy, 1908 · Descartes, 1644
cell(sᵢ) = { p : ‖p − sᵢ‖ ≤ ‖p − sⱼ‖ ∀j }Divide the plane so every point belongs to whichever site is nearest.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Classical; the greedy method is folklore
place a candidate at random; grow its radius until it meets another or the edge
The naive algorithm — propose a centre, expand until something stops it, keep it if it is big enough — is not optimal packing in any mathematical sense, but it is the one that makes the drawings.
Stanisław Ulam, 1963
walk the integers outward in a square spiral; mark n when n is prime
Ulam drew this while bored in a meeting.
Formulated by Inigo Quilez
colour(t) = a + b · cos( 2π · (c·t + d) ) with a, b, c, d ∈ ℝ³
Twelve numbers describe an entire gradient.
THE PLATE ▸RUN IT ▸GLSL TOP · AE · BLINK
Robert Penner, 2001 · the polynomials are older
quad f(t) = t² cubic f(t) = t³ sine f(t) = 1 − cos(πt/2) expo f(t) = 2^(10(t−1))
The interpolation curves that make motion read as physical rather than mechanical.
THE PLATE ▸RUN IT ▸VEX · AE
Michael Michelitsch & Otto E. Rössler, 1992
z_{n+1} = (|Re(z_n)| + i|Im(z_n)|)² + cA variation of the Mandelbrot set where the absolute values of the real and imaginary components are taken before squaring at each iteration.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Sir Isaac Newton, 1669 · Arthur Cayley, 1879
z_{n+1} = z_n − (z_n³ − 1)/(3z_n²)Newton's method for finding roots applied to the complex polynomial z³ − 1 = 0.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Apollonius of Perga, c. 200 BC · Frederick Soddy, 1936
(k₁ + k₂ + k₃ + k₄)² = 2(k₁² + k₂² + k₃² + k₄²)
Repeatedly filling the interstices between mutually tangent circles with smaller tangent circles.
THE PLATE ▸RUN IT ▸VEX · AE
Christopher Langton, 1986 · Greg Turk & Jim Propp, 1986 · named by A. K. Dewdney, 1989
(state, color) → (new_color, turn, new_state)
A 2D Turing Machine that moves on a grid, changing the color of cells and turning relative to its orientation.
Igor Gumowski & Christian Mira, 1980
G(x) = μx + 2(1−μ)x²/(1+x²) xₙ₊₁ = yₙ + α·yₙ(1 − σ·yₙ²) + G(xₙ) yₙ₊₁ = −xₙ + G(xₙ₊₁)
Gumowski and Mira were modelling the transverse oscillation of particle beams in CERN’s storage rings when they found this recurrence.
Barry Martin, 1986
xₙ₊₁ = yₙ − sign(xₙ)·√|b·xₙ − c| yₙ₊₁ = a − xₙ
Martin’s orbit hops between interleaving rings, and the rings assemble into wallpaper.
Boris Chirikov, 1969
pₙ₊₁ = pₙ + K·sin θₙ (mod 2π) θₙ₊₁ = θₙ + pₙ₊₁ (mod 2π)
The phase portrait of a rotor kicked once per revolution, and the standard test problem of Hamiltonian chaos.
Otto Rössler, 1976
ẋ = −y − z ẏ = x + a·y ż = b + z(x − c)
Rössler went looking for the simplest possible continuous chaos — one nonlinear term, against the Lorenz system’s two.
THE PLATE ▸RUN IT ▸VEX · AE
Helge von Koch, 1904
each side → four sides, each ⅓ the length perimeter: L → (4/3)ⁿ·L dimension: log 4 / log 3 ≈ 1.2619
Von Koch built it to show a curve with no tangent anywhere could come from elementary geometry, not only from the analytic monsters of Weierstrass.
THE PLATE ▸RUN IT ▸VEX · AE
Peter M. Maurer, 1987
rose: r = sin(n·θ) walk: θₖ = k·d°, k = 0 … 360 join consecutive walk points with chords
Take a rose curve, but instead of drawing it, walk around it in strides of d degrees and join the stops with straight chords.
THE PLATE ▸RUN IT ▸VEX · AE
Luigi Cremona, 1862 · string-art tradition
N points on a circle: Pₖ = e^(2πik/N) chord: Pₖ → P₍m·k mod N₎ envelope: an epicycloid with m − 1 cusps
Join every point k on a circle to point m·k, working modulo N, and a curve nobody drew appears where the chords crowd together: the cardioid at m = 2, the nephroid at 3, an…
THE PLATE ▸RUN IT ▸VEX · AE
Leonhard Euler, 1744 · Alfred Cornu, 1874
κ(s) = sᵏ⁻¹, k = 2 is the Euler spiral x(s) = ∫₀ˢ cos(uᵏ/k) du y(s) = ∫₀ˢ sin(uᵏ/k) du
The curve whose curvature grows in exact proportion to the distance travelled along it — which is what a car traces when the driver turns the wheel at a constant rate.
THE PLATE ▸RUN IT ▸VEX · AE
Albert E. Bosman, 1942
on each square, a right triangle of angle θ two squares on its legs, scaled cos θ and sin θ area per level: cos²θ + sin²θ = 1
Bosman, a Dutch engineering teacher, drew it by hand with compasses during the war and published it in a book about the wonder of plane geometry.
THE PLATE ▸RUN IT ▸VEX · AE
Aristid Lindenmayer, 1968 · Przemysław Prusinkiewicz, 1990
X → F−[[X]+X]+F[FX]−X F → FF δ = 22.5°
Lindenmayer was a biologist; the grammar was a model of how cells divide and differentiate, and the drawing came later.
THE PLATE ▸RUN IT ▸VEX · AE
Ernst Chladni, 1787
u(x,y) = sin(mπx)·sin(nπy) + s·sin(nπx)·sin(mπy) sand gathers where u = 0
Chladni bowed the edge of a sand-dusted brass plate and the grains leapt away from everything that moved, collecting along the still curves — the nodal lines of the standing wave.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Thomas Young, 1801
ψ(p) = Σᵢ sin(2π·f·|p − sᵢ| − ωt) nodes where the sum stays zero
Young argued light was a wave by showing two sources produce fringes — bands where the crests reinforce and lines where they always cancel.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Ken Perlin, 2001
skew to the simplex lattice: F = (√3−1)/2 n(p) = 70·Σᵢ (½ − |dᵢ|²)⁴ · (gᵢ · dᵢ)
Perlin rebuilt his own noise on a triangular lattice: three corners contribute instead of four, each through a radial kernel, so the cost grows linearly with dimension instead of exponentially.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Bryce Bayer, 1973
M₂ = [0 2; 3 1] / 4 M₂ₙ = [4M 4M+2; 4M+3 4M+1] / (2n)² pixel lit where tone > M(x, y)
Bayer proved which threshold matrix spreads the on-dots as evenly as possible at every grey level, and his matrix has been the default ever since — newspaper halftones, 1-bit…
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Robert W. Floyd & Louis Steinberg, 1976
quantise each pixel; pass the error on ε → 7⁄16 →, 3⁄16 ↙, 5⁄16 ↓, 1⁄16 ↘
Where Bayer consults a fixed matrix, Floyd and Steinberg carry the rounding error to pixels not yet visited, so the mistakes cancel instead of accumulating.
Traditional Japanese sashiko · Edo period onward
rows: stitch where (i + aⱼ) is even
columns: stitch where (j + bᵢ) is even
a, b ∈ {0,1} — two random sequencesHitomezashi — "one-stitch" sashiko — sews single running stitches along the lines of a grid, and the entire cloth is determined by one bit per row and one bit per column: does…
Lester R. Ford, 1938 · after John Farey, 1816
for p/q in lowest terms: centre (p/q, 1/2q²), radius 1/2q² tangent ⇔ |p·q′ − p′·q| = 1
Above every rational number sits a circle, tangent to the number line, its size falling with the square of the denominator.
THE PLATE ▸RUN IT ▸VEX · AE
Robert Bridson, 2007 · dart throwing after Robert L. Cook, 1986
no two samples closer than r candidates ring an active sample: r ≤ d < 2r k failures retire the sample
Random but never crowded: every sample keeps its neighbours at least r away, which is the "blue noise" the eye reads as even texture with no pattern.
David Griffeath, 1988 · popularised by A. K. Dewdney, 1989
k states in a ring s → s+1 (mod k) when ≥ θ von Neumann neighbours already hold s+1
Rock-paper-scissors on a grid: every state is eaten by its successor, and the ring closes so nobody wins.
Per Bak, Chao Tang & Kurt Wiesenfeld, 1987
z ≥ 4 → z −= 4, one grain to each neighbour grains leave at the boundary topple order does not matter — the pile is abelian
Drop sand on one spot forever.
Wilhelm Lenz, 1920 · Ernst Ising, 1925 · Metropolis et al., 1953
E = −Σ⟨ij⟩ sᵢ·sⱼ − B·Σ sᵢ, s = ±1 flip with probability min(1, e^(−ΔE/T)) T_c = 2 / ln(1 + √2) ≈ 2.269 at B = 0
Ising solved the one-dimensional chain for his 1925 thesis, found no phase transition, and concluded the model explained nothing; Onsager proved in 1944 that two dimensions transition sharply at T_c.
Brian Silverman, 1984
off → firing with exactly 2 firing neighbours firing → refractory → off (Moore neighbourhood)
Conway’s rules with a refractory period: a cell that fires must rest one generation before it can fire again, the way a neuron must.
Classical Lagrangian mechanics · after Euler and Lagrange
two rods, two bobs, one pivot θ̈₁, θ̈₂ from the Euler–Lagrange equations no closed form — the motion must be integrated
One pendulum is the clock; two, hinged together, are chaos you can build with a hacksaw.
THE PLATE ▸RUN IT ▸VEX · AE
Cristopher Moore, 1993 · Chenciner & Montgomery, 2000
ẍᵢ = Σⱼ (xⱼ − xᵢ)/|xⱼ − xᵢ|³ three equal masses, one shared orbit x₁(t) = x₂(t + T/3) = x₃(t + 2T/3)
Three equal masses chasing each other around a single figure-eight, each a third of a period behind the next — a choreography, in the technical term the discovery created.
THE PLATE ▸RUN IT ▸VEX · AE
Adam Runions, Brendan Lane & Przemysław Prusinkiewicz, 2007
each attractor pulls its nearest node nodes step toward the mean pull attractors die inside the kill radius
Scatter points where a plant could grow, then let the branches compete for them: every attractor tugs on its nearest node, each node steps toward the average tug, and any…
James Blinn, 1982
D(r) = b·e^(−a·r²) F(p) = Σᵢ D(|p − cᵢ|) draw the curves where F = threshold
Blinn was rendering electron density maps for molecular models and needed surfaces that merged where atoms overlapped.
THE PLATE ▸RUN IT ▸GLSL TOP · AE
Robert Bridson, Jim Houriham & Marcus Nordenstam, 2007
v = ∇ × ψ, in 2D: v = (∂ψ/∂y, −∂ψ/∂x) ∇ · v = 0 identically
Take a noise field, call it a stream function, and use its perpendicular gradient as a velocity.
Mario Markus & Benno Hess, 1989
xₙ₊₁ = rₙ·xₙ(1 − xₙ), rₙ ∈ {a, b} by a repeating word
λ = lim (1/N)·Σ ln|rₙ(1 − 2xₙ)|
λ < 0 stable · λ > 0 chaoticDrive the logistic map with two growth rates instead of one, alternating between them on a fixed repeating word, and plot the Lyapunov exponent over the (a, b) plane.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Melinda Green, 1993
for c that escape: plot every zₙ of the orbit z₀ = 0, zₙ₊₁ = zₙ² + c density of visits, not escape time
The Mandelbrot set rendered inside out.
Roger Penrose, 1974 · after Robinson and de Bruijn
deflate each Robinson triangle by φ = (1+√5)/2 acute → one acute + one obtuse obtuse → two obtuse + one acute
Two rhombs that tile the plane and can never tile it periodically.
THE PLATE ▸RUN IT ▸VEX · AE
Maxim Gumin, 2016 · analysed by Karth & Smith, 2017
every cell holds the set of tiles still possible observe: collapse the lowest-entropy cell propagate: strike neighbours that no longer fit
A constraint solver that behaves like a texture generator.
Karl Weierstrass, 1872 · G. H. Hardy, 1916
W(x) = Σ aⁿ cos(bⁿ π x) 0 < a < 1, b odd integer, ab > 1 + 3π/2 (Weierstrass, 1872) 0 < a < 1, b real, ab ≥ 1 (Hardy, 1916) continuous everywhere · differentiable nowhere
The function that ended the belief that a continuous curve must have a tangent somewhere — Weierstrass read it to the Berlin Academy and the century’s geometers called it a scandal.
THE PLATE ▸RUN IT ▸VEX · AE
Teiji Takagi, 1901
T(x) = Σ wⁿ s(2ⁿ x) s(x) = distance from x to the nearest integer w = ½ is the blancmange
Takagi’s simpler route to Weierstrass’s scandal, published as "a simple example of the continuous function without derivative": stack tent maps, each twice the frequency and a…
THE PLATE ▸RUN IT ▸VEX · AE
William Gosper, 1973 · via Martin Gardner
A → A−B−−B+A++AA+B− B → +A−BB−−B−A++A+B turn 60° · both symbols step forward
Gosper’s space-filling curve on the hexagonal lattice, which Gardner introduced to the world as the "flowsnake" — a spoonerism of snowflake — and the name stuck.
THE PLATE ▸RUN IT ▸VEX · AE
Ernesto Cesàro, 1906 · Georg Faber, 1910 · Paul Lévy, 1938
F → +F−−F+ (turn θ, 45° is the C) every segment folds outward each generation dimension → 2 as the folds close
Fold every segment of a line into a right-angle tent, forever, and the C curve appears — Cesàro described it first and Faber analysed the same family, both for its…
THE PLATE ▸RUN IT ▸VEX · AE
Henry Wilbraham, 1848 · J. Willard Gibbs, 1899 · named by Maxime Bôcher, 1906
fₙ(x) = (4/π) Σₖ₌₁ⁿ sin((2k−1)x)/(2k−1) peak → (2/π)·Si(π) ≈ 1.178980 overshoot → 0.0894899 of the jump it never dies — it only narrows
Sum the odd harmonics of a square wave and the corners grow horns: about nine per cent of the jump, and adding terms makes them thinner but never shorter — the partial sums…
THE PLATE ▸RUN IT ▸VEX · AE
Bernardo Recamán Santos, 1991 · via N. J. A. Sloane
a₀ = s aₙ = aₙ₋₁ − n if positive and unvisited aₙ = aₙ₋₁ + n otherwise
Step backwards if you can, forwards if you must, with strides that grow by one each time.
THE PLATE ▸RUN IT ▸VEX · AE
Yoshisuke Ueda, 1961
ẍ + k·ẋ + x³ = B·cos t the Poincaré section: (x, ẋ) sampled once per drive period k = 0.05, B = 7.5 is Ueda’s own set
The oldest recorded strange attractor, and nobody was allowed to say so.
Balthasar van der Pol, 1926
ẍ − μ(1 − x²)ẋ + x = 0 drawn as the phase portrait (x, ẋ) μ → 0 a circle · μ large a relaxation oscillation
Damping that changes sign: inside |x| < 1 the term feeds the oscillation, outside it drains one.
THE PLATE ▸RUN IT ▸VEX · AE
Leon O. Chua, 1983 · simulated by Takashi Matsumoto
ẋ = α(y − x − f(x)) ẏ = x − y + z ż = −β·y f(x) = m₁x + ½(m₀ − m₁)(|x+1| − |x−1|)
The first chaotic system built deliberately rather than stumbled upon.
THE PLATE ▸RUN IT ▸VEX · AE
William F. Langford, 1984
ẋ = (z − b)x − d·y ẏ = d·x + (z − b)y ż = c + a·z − z³/3 − (x² + y²)(1 + e·z) + f·z·x³
A torus that folds into a shell — the trajectory winds around a rising bowl, turns over its rim and drops back through the middle.
THE PLATE ▸RUN IT ▸VEX · AE
Robert L. Devaney, 1984
xₙ₊₁ = 1 − yₙ + |xₙ| yₙ₊₁ = xₙ area-preserving · piecewise linear
One absolute value is the entire nonlinearity — no multiplication anywhere — and it is enough for chaos.
George M. Zaslavsky and colleagues, 1986
uₙ₊₁ = (uₙ + K·sin vₙ)·cos α + vₙ·sin α vₙ₊₁ = −(uₙ + K·sin vₙ)·sin α + vₙ·cos α α = 2π/q
A linear oscillator kicked in step with its own period, and the chaos it produces does not stay in a pocket — it joins up into a web that reaches across the whole plane, however weak the kick.
origin unrecorded · documented by Nusse & Yorke, 1994
xₙ₊₁ = xₙ² − yₙ² + a·xₙ + b·yₙ yₙ₊₁ = 2·xₙ·yₙ + c·xₙ + d·yₙ
A quadratic map whose attractor is a hooked crescent, and one of the rare entries here where the honest provenance is that nobody knows.
Julien Clinton Sprott, 1993
xₙ₊₁ = a₀ + a₁x + a₂x² + a₃xy + a₄y + a₅y² yₙ₊₁ = a₆ + a₇x + a₈x² + a₉xy + a₁₀y + a₁₁y² twelve coefficients, each a letter A–Y over −1.2 … 1.2
Sprott’s idea was to stop designing attractors and search for them instead: pick twelve coefficients at random, iterate, test whether the orbit is bounded and its Lyapunov…
Lord Rayleigh, 1874 · the effect is far older than its physics
g(θ) = ½ + ½·tanh(s·cos θ)/tanh s θ₁ = 2πf·(p·n̂₁), θ₂ = 2πfr·(p·n̂₂) − φ T(p) = g(θ₁)·g(θ₂) fringes where θ₁ − θ₂ ≡ 0 (mod 2π), spacing d / 2sin(α/2)
Lay one ruled grating over another, turn it a hair, and a pattern appears that is in neither of them.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Frank A. Farris named it, 1997 · the method is older than the name
f(z) = ∏ₖ(z − aₖ) / ∏ⱼ(z − bⱼ) arg f = Σ arg(z − aₖ) − Σ arg(z − bⱼ) log|f| = Σ log|z − aₖ| − Σ log|z − bⱼ| hue = arg f / 2π, contours at frac(log₂|f|)
A complex function takes a plane to a plane, so its graph needs four dimensions and cannot be drawn.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Eugenio Beltrami, 1868 · Henri Poincaré, 1882 · H. S. M. Coxeter, 1957
{p,q} exists in the disk ⟺ (p−2)(q−2) > 4
qₘᵢₙ(p) = ⌊4/(p−2)⌋ + 3, the slider sets q − qₘᵢₙ
R² = cos(π/p + π/q) / cos(π/p − π/q)
edge mirror: centre c = (R²+1)/(2R cos(π/p)), radius √(c²−1)The whole hyperbolic plane fits inside a circle if you agree that distance grows without bound as you approach the rim.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Lagae, Lefebvre, Drettakis & Dutré, 2009 · kernel after Dennis Gabor, 1946
g(x,y) = K·e^(−πa²(x²+y²))·cos(2πF₀(x cos ω₀ + y sin ω₀)) N(p) = Σᵢ wᵢ·g(p − pᵢ), pᵢ a Poisson process of density λ ĝ is two Gaussians at ±F₀(cos ω₀, sin ω₀)
Perlin noise gives you a band of frequencies and no say in which.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Grebogi, McDonald, Ott & Yorke, 1983 · the pendulum exhibit has no single author
ẍ + b·ẋ + k·x = Σₙ C·(Xₙ − x) / (|Xₙ − x|² + h²)^(5/2) start at rest, colour by which magnet it reaches shade by the step at which the answer stopped changing
Hang a magnet on a string over three more arranged in a triangle, pull it aside, let go.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Georges-Louis Leclerc, Comte de Buffon, 1777 · Pierre-Simon Laplace, 1812
P(cross) = 2ℓ/(πt), ℓ ≤ t after N drops, H hits: π ≈ 2ℓN / (tH)
Rule a floor with parallel lines spaced t apart and drop a needle of length ℓ ≤ t onto it, over and over, at a uniform position and a uniform angle.
Alexis Monnerot-Dumaine, 2009 · after the Fibonacci word (Morse & Hedlund, 1940)
w = fixed point of μ: 0→01, 1→0 letter k of w, 1-indexed, moving forward one step: 0 → turn left if k even, right if k odd 1 → straight
Take the Fibonacci word — the infinite string 0100101001001… that never changes under the substitution 0→01, 1→0 — and walk it with a turtle: one step forward per letter, and…
THE PLATE ▸RUN IT ▸VEX · AE
Per Bak, Kan Chen & Chao Tang, 1990 · lightning: Barbara Drossel & Franz Schwabl, 1992
burning → empty tree → burning if any neighbour burns, else burning with probability f empty → tree with probability p
Three states on a lattice and two probabilities, and the result is a fire whose sizes follow a power law nobody tuned it to produce.
Brian Silverman, 1987
empty → empty electron head → electron tail electron tail → conductor conductor → electron head if 1 or 2 of its 8 neighbours are heads
Four states and one counting rule, and the lattice becomes a circuit board.
Alfred Gierer & Hans Meinhardt, 1972 · shells: Hans Meinhardt & Martin Klingler, 1987
∂a/∂t = s·(a²/(h·(1+γc)·(1+κa²)) + b) − rₐ·a + Dₐ·∂²a/∂x² ∂h/∂t = s·a² − r_h·h + D_h·∂²h/∂x² ∂c/∂t = r_c·(a − c)
A shell is a record of its own growth.
Craig Reynolds, 1987
separation: steer away from neighbours closer than d alignment: steer toward the mean heading of neighbours cohesion: steer toward the mean position of neighbours
Three rules, each of them local, and a flock appears that none of them mentions.
Jeff Jones, 2010
sense at −θ, 0, +θ, distance o ahead turn by ±α toward the strongest trail move forward, deposit, then the field diffuses and decays
A slime mould has no nervous system and solves shortest-path problems anyway, and Jones showed in 2010 that almost nothing is required to reproduce it: a particle with three…
Lawrence J. Mazlack, 1976
weightⱼ = Σᵢ cᵢ·dᵢⱼ over the precoloured points i fill in ascending weight; at each point draw from the colours compatible with every coloured neighbour, weighted by the matrix
Every other way of making a coloured picture in 1976 drew a figure and coloured it afterwards.
Douglas R. Hofstadter, 1976 · Harper’s equation, P. G. Harper, 1955
ψₘ₊₁ + ψₘ₋₁ + λ·cos(2πφm + k_y)·ψₘ = E·ψₘ φ = p/q: tr Mq(E, k_y) = P(E) − 2(λ/2)^q·cos(q k_y) spectrum ⇔ |P(E)| ≤ 2 + 2(λ/2)^q
Put a crystal in a magnetic field and the answer turns on whether the flux through one cell is a rational multiple of the flux quantum — not nearly rational, exactly rational.
Gérard Rauzy, 1982
σ: 1→12, 2→13, 3→1
M (letter counts) = [[1,1,1],[1,0,0],[0,1,0]]
plot Σᵢ₌₁ⁿ e_{wᵢ}, projected onto the contracting eigenplane of MIterate the substitution 1→12, 2→13, 3→1 from a single "1" and it converges to one infinite word — the Tribonacci word, the three-letter sibling of the Fibonacci word two plates over.
Robert Ammann, 1977 · F. P. M. Beenker, 1982, independently
V = { Σ nₖeₖ : n ∈ Z⁴, Σ nₖeₖ* ∈ Ω }
eₖ = (cos kπ/4, sin kπ/4), eₖ* = (cos 3kπ/4, sin 3kπ/4)
Ω = π⊥([0,1]⁴), the regular octagon of inradius (1+√2)/2The eight-fold quasicrystal: squares and 45° rhombs, in a pattern that never repeats.
THE PLATE ▸RUN IT ▸VEX · AE
Jean le Rond d’Alembert, 1747 (the string) · Leonhard Euler, 1761 (the membrane)
∂²u/∂t² + γ ∂u/∂t = c²∇²u + F(x, t) uⁿ⁺¹ = [ 2uⁿ − (1−d)uⁿ⁻¹ + C²∇²ₕuⁿ ] / (1+d) C = cΔt/h ≤ 1/√2, d = γΔt/2
d’Alembert’s 1747 memoir on the stretched string is where the wave equation first appears in print, and he solved it in one space dimension: the answer is two arbitrary shapes…
Bert Wang-Chak Chan, 2019 · preprint 2018
U = K ∗ A, K(n) = K_S(‖n‖₂ / R) / |K_S| K_S(r; β) = β_⌊Br⌋ · K_C(Br mod 1), K_C(r) = exp(4 − 4 / (4r(1−r))) G(u; μ, σ) = 2·exp(−(u−μ)² / (2σ²)) − 1 A^(t+Δt) = [ A^t + Δt · G(U) ]₀¹, Δt = 1/T
The Game of Life with every discrete thing in it taken to the limit.
Felix Klein & Henri Poincaré, 1883 · rendering recipe after David Mumford, Caroline Series & David Wright, 2002
A, B ∈ SL(2,ℂ): tr(A) = 2 (parabolic) tr(B) = μ, tr(AB) = μ + 2i (forces tr(ABA⁻¹B⁻¹) = −2, a parabolic commutator)
Two Möbius maps generate a free group acting on the sphere; its limit set is the closure of every accumulation point of every orbit under every word in the two maps and their…
Alan H. Schoen, 1970 · nodal form: von Schnering & Nesper, 1991
g(x, y, z) = sin x·cos y + sin y·cos z + sin z·cos x walls where |g| < δ, sliced on z = ω·t
Schoen found the gyroid at NASA looking for strong, light lattice structures: a triply periodic minimal surface with no straight lines, no planar symmetries and no…
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Dwight Barkley, 1991
∂u/∂t = ε⁻¹·u(1−u)(u − (v+b)/a) + ∇²u ∂v/∂t = u − v
A medium where every point can fire once and then must rest: u is the excitation racing through, v the recovery chasing it, and the whole chemistry of an excitable reaction is…
Yoshiki Kuramoto, 1975
θ̇ᵢⱼ = ωᵢⱼ + (K/4)·Σ₍ᵤᵥ₎ sin(θᵤᵥ − θᵢⱼ)
ωᵢⱼ frozen from N(μ, σ); r = |⟨e^{iθ}⟩|Kuramoto asked when a crowd of oscillators, each with its own natural pace, falls into step — fireflies, pacemaker cells, applauding hands.
Arne Dehli Halvorsen · documented by J. C. Sprott, 2003
ẋ = −a·x − 4y − 4z − y² ẏ = −a·y − 4z − 4x − z² ż = −a·z − 4x − 4y − x²
One equation written three times, each a cyclic shuffle of the last: x feeds y feeds z feeds x, with nothing to break the symmetry.
THE PLATE ▸RUN IT ▸VEX · AE
Mikhail Rabinovich & Anatoly Fabrikant, 1979
ẋ = y(z − 1 + x²) + γ·x ẏ = x(3z + 1 − x²) + γ·y ż = −2z(α + xy)
Written to describe waves misbehaving in a nonequilibrium plasma, and notorious among the classic flows for how it misbehaves itself: the system is multistable, with limit…
THE PLATE ▸RUN IT ▸VEX · AE
Wacław Sierpiński, 1916
divide [0,1]² into 3×3, remove the centre, recurse x ∈ carpet ⇔ no k has ⌊3ᵏx⌋ ≡ ⌊3ᵏy⌋ ≡ 1 (mod 3) dim_H = log 8 / log 3 ≈ 1.8928
Sierpiński built it as a curve containing a continuous image of every curve — a universal object, published two years before anyone could draw more than three levels of it by hand.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Leonhard Euler, 1744 · Jean Baptiste Meusnier, 1776 · the family: Ossian Bonnet, 1853
x = cos θ·sinh u·sin v + sin θ·cosh u·cos v y = −cos θ·sinh u·cos v + sin θ·cosh u·sin v z = u·cos θ + v·sin θ
The catenoid is the soap film between two rings, the first minimal surface anyone found after the plane; the helicoid is the spiral ramp, found by Meusnier thirty years later.
THE PLATE ▸RUN IT ▸VEX · AE
Lothar Collatz, 1937 · surveyed by Jeffrey Lagarias, 1985 · rendering after Edmund Harriss
n → n/2 (n even), n → 3n + 1 (n odd) every orbit drawn backward from the root at 1 bend +Δθ per even step, −2Δθ per odd
Take any number: halve it if even, triple-and-add-one if odd, repeat.
THE PLATE ▸RUN IT ▸VEX · AE
Christopher G. Langton, 1984
8 states, von Neumann neighbourhood, 219 transitions CNESW → C′ rotation symmetric; replication period 151 generations
Von Neumann proved self-reproduction needs no magic with a machine of 29 states nobody could run; Codd cut it to 8; Langton cut the idea to its heart — a loop of sheathed wire…
Tamás Vicsek, 1989
divide [0,1]² into 3×3, keep the four corners and the centre, recurse N(n) = 5ⁿ cells of side 3⁻ⁿ, area(n) = (5/9)ⁿ dim_H = log 5 / log 3 ≈ 1.4650
Divide a square into a three-by-three grid.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Stuart P. Lloyd, 1957 · published 1982
cell(sᵢ) = ⋂ⱼ≠ᵢ { x : (x − sᵢ)·(sⱼ − sᵢ) ≤ ‖sⱼ − sᵢ‖²/2 }
cᵢ = ∫cell x dx / ∫cell dx
sᵢ ← sᵢ + ω(cᵢ − sᵢ), until mean‖cᵢ − sᵢ‖ < tolScatter points at random, give every point the territory nearer to it than to any other, then move each point to the middle of its own territory and cut the territories again.
Pappus of Alexandria, c. 320
arbelos: three semicircles, pairwise tangent, on one line chain circle Cₙ tangent to Cₙ₋₁ and to both bounding arcs height of centre(Cₙ) above the line = 2n · radius(Cₙ)
Split a diameter at one point and raise three semicircles on the three spans it makes: the whole span, and its two pieces.
THE PLATE ▸RUN IT ▸VEX · AE
M. G. V. Bogle, J. E. Hearst, V. F. R. Jones and L. Stoilov, 1994 · curve form after Nathaniel Bowditch, 1815 and Jules Lissajous, 1857
x(u) = cos(n₁u) y(u) = cos(n₂u + φ₂) z(u) = cos(n₃u + φ₃) u ∈ [0, 2π); n₁, n₂, n₃ pairwise coprime
Three perpendicular standing waves instead of two, one cosine per axis at its own integer frequency.
THE PLATE ▸RUN IT ▸VEX · AE
Hermann von Helmholtz, 1858 & Gustav Kirchhoff, 1876 · Carl Wilhelm Oseen, 1912 & Horace Lamb, 1932
u(x) = Σⱼ (Γⱼ/2π) · ẑ × (x − xⱼ)/|x − xⱼ|² · [1 − exp(−|x − xⱼ|²/a²)] a²(t) = a₀² + 4νt (the Lamb–Oseen core, spreading by diffusion) ẋᵢ = u(xᵢ) with the i-th term omitted — a vortex does not move itself
Helmholtz showed in 1858 that a vortex in an ideal fluid is permanent: it travels with the flow and carries its circulation with it forever, so a handful of them becomes a…
Björn Ottosson, 2020
sRGB → linear: c ≤ 0.04045 ? c/12.92 : ((c+0.055)/1.055)^2.4 linear → Oklab (Ottosson 2020): (l,m,s) = M₁·(r,g,b); (l′,m′,s′) = (∛l,∛m,∛s); (L,a,b) = M₂·(l′,m′,s′) CIELAB (D65): L* = 116 f(Y/Yn) − 16, a* = 500(f(X/Xn) − f(Y/Yn)), b* = 200(f(Y/Yn) − f(Z/Zn)), f(t) = ∛t for t > (6/29)³
Three rows of swatches walk between the same two colours, one row per interpolation space.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
W. H. Fox Talbot, 1852 · commercial screens by Frederic Ives and the Levy brothers, 1880s-90s
K = 1 − max(R,G,B) (C,M,Y) = (1−R−K, 1−G−K, 1−B−K) / (1−K) per screen (θ = 15°, 75°, 0°, 45°): r = ½·cell·√coverage
Talbot patented breaking a photographic tone into a screen of dots in 1852, using a piece of gauze held between the negative and the plate; Ives, and then Ives working…
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Max Planck, 1900 · the colour matching fit: Wyman, Sloan & Shirley, 2013
B_λ(λ,T) = (2hc²/λ⁵) / (exp(hc/λk_BT) − 1) X = ∫ B_λ x̄(λ) dλ, Y = ∫ B_λ ȳ(λ) dλ, Z = ∫ B_λ z̄(λ) dλ RGB = M_sRGB · (X, Y, Z) / Y
Hot matter glows, and Planck found in 1900 exactly how much of each wavelength it sends out.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Ibn Sahl, 984 · Willebrord Snellius, c. 1621 · Isaac Newton, 1704 · Wilhelm Sellmeier, 1871
n²(λ) = 1 + Σᵢ Bᵢλ² / (λ² − Cᵢ) Sellmeier sin θ₁ = n(λ) sin θ₂ Snell, at both faces δ(λ) = θ₁ + θ₄ − A deviation through apex A
White light meets a triangular prism and leaves it as a fan, because the refractive index of glass is not one number: it falls with wavelength, so violet is bent harder than…
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
classical knot theory · torus knots tabulated by P. G. Tait, 1876-1877 · genus formula: Herbert Seifert, 1935
x(φ) = (R + r·cos(qφ))·cos(pφ) y(φ) = (R + r·cos(qφ))·sin(pφ) z(φ) = r·sin(qφ) φ ∈ [0, 2π); gcd(p,q) = 1 ⇒ knot, else a link of gcd(p,q) components genus = (p−1)(q−1)/2 (Seifert, 1935)
A curve traced on the surface of a torus, winding p times around the axis and q times around the tube, closing after phi runs once from 0 to 2 pi because both windings are whole numbers.
THE PLATE ▸RUN IT ▸VEX · AE
Emil Artin, 1925 · closure after J. W. Alexander, 1923
Bₙ = ⟨σ₁ … σₙ₋₁ | σᵢσⱼ = σⱼσᵢ for |i − j| ≥ 2, σᵢσᵢ₊₁σᵢ = σᵢ₊₁σᵢσᵢ₊₁⟩ w = a word in σᵢ and σᵢ⁻¹, one crossing per letter closure ŵ: level k at the end of w rejoined to level k at its start
Take n strands hanging side by side and cross them one adjacent pair at a time.
THE PLATE ▸RUN IT ▸VEX · AE
Heinz Hopf, 1931 · the circles on the torus: Yvon Villarceau, 1848
fibre over (θ, φ): z₁ = cos(θ/2)·exp(i(ψ + φ)), z₂ = sin(θ/2)·exp(iψ), ψ ∈ [0, 2π) h(z₁, z₂) = (2 z₁ z̄₂, |z₁|² − |z₂|²) ∈ S², the Hopf map stereographic from (0, 0, 0, 1): P = (x₁, x₂, x₃)/(1 − x₄)
The three-sphere is the set of points one unit from the origin in four-dimensional space.
THE PLATE ▸RUN IT ▸VEX · AE
Traditional — the three-ring motif is attested in Buddhist art from the second century, in Viking imagery by the ninth and in Japanese heraldry by the twelfth, all centuries before it became the crest of the Borromeo family of Milan in the fifteenth century, the name this plate uses · non-circularity proved by Michael Freedman and Richard Skora, 1987
A(t) = (cos t, e·sin t, 0) B(t) = (0, cos t, e·sin t) C(t) = (e·sin t, 0, cos t) t ∈ [0, 2π), 0 < e < 1 (cyclic permutation x→y→z→x carries A→B→C)
Three loops, no two of which are linked with each other, that cannot be pulled apart once all three are present — cut any one and the other two fall away trivially, because…
THE PLATE ▸RUN IT ▸VEX · AE
Alfred Enneper, 1864 · the representation: Karl Weierstrass, 1866
x = u − u³/3 + uv² y = −(v − v³/3 + u²v) z = u² − v² Weierstrass–Enneper data (f, g) = (1, z); mean curvature H ≡ 0
Feed almost any pair of holomorphic functions through the representation Weierstrass set out in 1866 and the surface that comes back has zero mean curvature everywhere — the…
THE PLATE ▸RUN IT ▸VEX · AE
Hermann Amandus Schwarz, 1865 · nodal form: von Schnering & Nesper, 1991
g(x, y, z) = cos x + cos y + cos z walls where |g| < δ, sliced on z = ω·t
H.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
H. A. Schwarz, 1865 · nodal form: von Schnering & Nesper, 1991
d(x, y, z) = sin x·sin y·sin z + sin x·cos y·cos z + cos x·sin y·cos z + cos x·cos y·sin z walls where |d| < δ, sliced on z = ω·t
Schwarz solved the Plateau problem for four consecutive edges of a regular tetrahedron in 1865, and the surface spanning that frame extends by repeated reflection across its…
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Günter Wyszecki, 1953 · the colour matching fit: Wyman, Sloan & Shirley, 2013
A = [x̄(λ_k) ; ȳ(λ_k) ; z̄(λ_k)], a 3 × N matrix b ∈ null A, dim null A = N − 3 the metameric blacks s± = s ± α b ⇒ A s+ = A s− , α at the bound s ± α b ≥ 0
Every other plate in this order draws a difference.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Herbert Seifert, 1935
smooth every crossing with the orientation → disjoint Seifert circles span each circle with a disc at its own height, join with a half-twisted band per crossing χ = discs − bands, genus = (2 − χ − boundary components) / 2 the (2,q) diagram: 2 discs, q bands, χ = 2 − q
Seifert proved in 1935 that every knot bounds a surface, and gave an algorithm that builds one.
THE PLATE ▸RUN IT ▸VEX · AE
the CIE 1931 system: T. Smith & J. Guild, 1931 · sRGB: M. Anderson, R. Motta, S. Chandrasekar & M. Stokes, 1996 · the colour matching fit: Wyman, Sloan & Shirley, 2013
x = X/(X+Y+Z), y = Y/(X+Y+Z) locus: (x(λ), y(λ)) from the analytic x̄ ȳ z̄ fit, λ ∈ [440, 640] nm gamut: the triangle on R (0.640, 0.330), G (0.300, 0.600), B (0.150, 0.060) outside it: the nearest point of that triangle, in the xy plane
Two claims in one picture.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Ernst Mach, 1865 · Robert W. Rodieck, 1965
L(u) = j∕(N−1), j = ⌊x(u)·N⌋, x(u) triangular in u, period 1 DoG(d) = Gc(d) − Gs(d), Gσ(d) = exp(−d²∕2σ²)∕(σ√2π) Rodieck 1965 response(u) = (N−1)·(L * DoG)(u) perceived(u) = L(u) + gain·response(u)
A staircase of flat grey bars, each one shade brighter than the last, does not look like a staircase of flat grey bars: every bar reads slightly darker near the edge where a…
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Thiadmer Riemersma, 1998
visit the cells in Hilbert order, not in scan order b = r^(1/(q−1)), wᵢ = bⁱ ⁄ Σⱼ bʲ, i = 0 … q−1 aₖ = sₖ + Σᵢ wᵢ·eₖ₋q₊ᵢ, oₖ = nearest level to aₖ, eₖ = aₖ − oₖ
Plate 52 pushes each rounding error onto the four neighbours a raster scan has not reached yet, and the scan is the flaw: a mistake made at the left of a row is still…
Robert A. Ulichney, 1993
F = P ⊛ Gσ (toroidal)
cluster = argmax_{i: P(i)=1} F(i)
void = argmin_{i: P(i)=0} F(i)
P(cluster)←0, P(void)←1; repeat until void = clusterEvery other dither plate in this order starts from a rule and applies it: Bayer consults a fixed matrix, Floyd and Steinberg carry a rounding error forward through a scan.
Simon Broadbent & John Hammersley, 1957 · cluster labelling: Joseph Hoshen & Raoul Kopelman, 1976
each site open with probability p, independently clusters = connected components of open sites, 4-neighbour labels merged by union-find; the larger label survives a merge spanning ⇔ one cluster touches both the top and the bottom row p_c = 0.59274621(13) for sites on the square lattice
Open each site of a square grid with probability p, independently, and ask whether the open sites connect the top edge to the bottom.
Paul Lévy, 1937 · named by Benoit Mandelbrot, 1982 · sampled via Chambers, Mallows and Stuck, 1976
symmetric α-stable, Chambers-Mallows-Stuck 1976: U ~ Unif(−π/2, π/2), W ~ Exp(1) X(α) = sin(αU) / cos(U)^(1/α) · [cos((1−α)U) / W]^((1−α)/α) α = 1: X = tan(U) (Cauchy) α = 2: X ~ N(0, 2) (Gaussian control) both walks share one (direction, U, W) draw per step; α alone differs
Two walks start at the same point and take the same number of steps, even the same sequence of directions, drawn from one shared stream of random numbers.
THE PLATE ▸RUN IT ▸VEX · AE
Paul Lévy, 1948
B(0) = B(1) = 0 B(mid) = ½(B(left)+B(right)) + Z·σ·Δ^H, Z ~ N(0,1) Δ = right − left, H = ½ is the Lévy bridge (Lévy, 1948) H ≠ ½ is the fractional generalisation
Fractional Brownian motion, elsewhere in this atlas, sums octaves of a two-dimensional noise lattice; this is the same idea run in one dimension, and by the older, more literal method.
THE PLATE ▸RUN IT ▸VEX · AE
John H. Conway · proved by Charles Radin, 1994
A=(0,0) B=(2,0) C=(0,1) — legs 2 and 1, hypotenuse √5 D=(1,0) P=(1/5,2/5) X=(2/5,4/5) Q=(6/5,2/5) σ(ABC) = XAC ∪ PDA ∪ QBD ∪ PDX ∪ QXD — five copies of ABC/√5 (first letter is the right angle) turn per level = arctan(1/2) = 26.5651…°, irrational in degrees, so σⁿ never repeats a direction
Penrose and Ammann–Beenker, the two aperiodic tilings already in this order, set every tile at a multiple of one fixed angle — 36 degrees for the first, 45 for the second — so…
THE PLATE ▸RUN IT ▸VEX · AE
Ptolemy, c. 150 (Hipparchus, 2nd c. BC, attributed) · conformality proved: Edmond Halley, 1695
inverse map, plane → sphere (pole at z = 1): s = X² + Y², (x, y, z) = (2X, 2Y, s−1)/(s+1) conformal everywhere: circle ↦ circle, angle ↦ same angle
Every point of the sphere but one has a partner on the plane: draw a line from the pole of the sphere through the point, and where that line meets the plane is the answer.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Alan Norton, 1982 · ray-traced by Hart, Sandin & Kauffman, 1989
qₙ₊₁ = qₙ² + c in ℍ, q₀ = x·u + y·v (w,x,y,z)² = (w²−x²−y²−z², 2wx, 2wy, 2wz) u, v orthonormal: u = p·q̄, v = p·i·q̄, p, q unit quaternions
The quaternions extend the complex numbers with two more square roots of minus one, i, j and k, worked out by William Rowan Hamilton in 1843, and the same squaring-and-adding…
THE PLATE ▸RUN IT ▸GLSL TOP
Victor Schlegel, 1883 · the six figures: Ludwig Schläfli, 1850–1852
{3,3,3} {4,3,3} {3,3,4} {3,4,3} {3,3,5} {5,3,3}
cell centre n̂, h = n̂·x on that cell, eye at v = (h + ε)n̂
x ↦ s·(x − (n̂·x)n̂), s = ε/(h + ε − n̂·x)
one diagram while ε < h(sec γ − 1), γ = angle between adjacent cell centresEuclid closes the Elements by proving there are five regular solids and no more.
THE PLATE ▸RUN IT ▸VEX · AE
Michael Gage, Richard Hamilton, 1986 · Matthew Grayson, 1987
∂γ/∂t = κ N = ∂²γ/∂s² dL/dt = −∮ κ² ds ≤ 0 dA/dt = −∮ κ ds = −2π (any simple closed curve) 4πA/L² → 1
Give every point of a closed loop a velocity equal to its own curvature, aimed at the centre of the circle that best fits the loop there.
Common practice in generative art; earliest documented account Anders Hoff, 2016
attract: kA(d-d0) toward each neighbour along the ring repel: kR sum over nodes within r (spatial hash), (r-d)/r away align: kG toward the neighbour midpoint split a ring edge past d0*grow; merge one below 0.4*d0
A closed ring of nodes negotiates its own shape under three local rules: every node is pulled toward its two ring neighbours by a spring at rest length d0, pushed away from any…
Moti Lal, 1969 · efficiency proof: Neal Madras & Alan D. Sokal, 1988
walk x0..xN on Z², self-avoiding, x0..xN initially a straight line
pivot: choose interior site k, choose g in the 7 nontrivial
symmetries of the square lattice (rotations + reflections)
x′ᵢ = g·(xᵢ − xₖ) + xₖ for i on the shorter arm at k
accept iff {x′ᵢ} shares no site with the fixed arm
(an isometry cannot make an arm cross itself that could not before)
⟨Rₑ²⟩ ~ N^(2ν), ν = 3/4 exactly in two dimensions (Nienhuis, 1982)A self-avoiding walk of N steps on the square lattice is drawn here by folding, not by growing.
Pierre François Verhulst, 1838 · Robert May, 1976 · Mitchell Feigenbaum, 1978
xₙ₊₁ = r·xₙ(1 − xₙ) plotted against r, transient discarded Feigenbaum δ = 4.6692016091… (ratio of successive doubling intervals)
Verhulst wrote this in 1838 to correct Malthus — unbounded growth cannot be right, so he multiplied it by a term that falls to zero as the population fills its room.
Jos Stam, 1999
∂u/∂t = −(u·∇)u + ν∇²u − ∇p + f, ∇·u = 0 advect: w(x) = u(x − Δt·u(x), t) project: ∇²p = ∇·w, u = w − ∇p
Before this paper a fluid solver had a speed limit: step too far and the simulation exploded, so the timestep was set by stability rather than by what anyone wanted to watch.
Henri Bénard, 1900 · Lord Rayleigh, 1916
∂u/∂t + (u·∇)u = −∇p + ν∇²u + gα(T−T₀)ẑ, ∇·u = 0 ∂T/∂t + (u·∇)T = κ∇²T ω = ∇×u, ∇²ψ = −ω: ∂ω/∂t + (u·∇)ω = ν∇²ω − B ∂T/∂x Ra = B d³/νκ, Ra(k) = (k²+π²)³/k²
Heat a layer of fluid from below and nothing happens.
Henri Bénard, 1908 & Theodore von Kármán, 1911 · Bhatnagar, Gross & Krook, 1954 · Qian, d’Humières & Lallemand, 1992
fᵢ(x + eᵢ, t+1) = fᵢ(x, t) − [fᵢ − fᵢ⁰] / τ fᵢ⁰ = wᵢ ρ (1 + 3 eᵢ·u + 4.5 (eᵢ·u)² − 1.5 u·u) ρ = Σ fᵢ, ρu = Σ fᵢ eᵢ, ν = (τ − ½)/3, Re = U D / ν
Put a body in a moving fluid and, past a certain speed, the wake stops being a wake and becomes a rhythm: vortices peel off one side and then the other in strict alternation,…
Karl Menger, 1926
divide [−½,½]³ into 3×3×3, remove a subcube when two or more of its ternary digits read 1 at the same level, recurse N(n) = 20ⁿ cells of side 3⁻ⁿ, volume(n) = (20/27)ⁿ, dim_H = log 20 / log 3 ≈ 2.7268 d(p) = max( sdBox(p), 3⁻⁽ᵏ⁺¹⁾·reach_k(p), p·â − s ) sphere trace: t → t + d(o + t·û); n = ∇d / |∇d|
Karl Menger set down the whole family of these objects in 1926 with one recursive rule, and the sponge is a single case of it: divide a cube into twenty-seven equal parts on a…
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Daniel White & Paul Nylander, 2007–2009 · after Rudy Rucker, 1988
vₖ₊₁ = vₖⁿ + c, v₀ = 0, c ∈ ℝ³ vⁿ = rⁿ(cos nθ·cos nφ, sin nθ·cos nφ, −sin nφ), r = |v| θ = atan2(y, x), φ = atan(z / √(x²+y²)), n = 8 dr → n·rⁿ⁻¹·dr + 1, d = r·ln r / (2·dr) — heuristic, not a bound sphere trace: t → t + 0.75·d(o + t·û), n̂ = ∇d / |∇d|
There is no three-dimensional number system to run the Mandelbrot recursion in.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Tom Lowe, 2010
boxFold: per axis, v>1 → 2−v; v<−1 → −2−v ballFold: m=|v|; m<r → v·f²/r²; m<f → v·f²/m² v → s·ballFold(boxFold(v)) + c (standard s=2, r=0.5, f=1) d = |v| / |dv/dc|, |dv/dc| → |s|·|dv/dc| + 1 sphere trace: t → t + d(o + t·û); n = ∇d / |∇d|
Tom Lowe posted this construction to fractalforums.com on 31 January 2010, titled only Amazing fractal, and it was renamed Mandelbox by the community afterward.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Dominic Rochon, 2000
ηₙ₊₁ = ηₙ² + c in ℂ₂, η₀ = 0 c = p + q·i₁ + y·i₂ = (p + (q−y)i₁)·γ + (p + (q+y)i₁)·γ̄ c ∈ T ⟺ p + (q−y)i₁ ∈ M and p + (q+y)i₁ ∈ M γ = (1+j₁)/2, γ̄ = (1−j₁)/2, j₁ = i₁i₂, j₁² = +1
The bicomplex numbers are the complex numbers built a second time.
THE PLATE ▸RUN IT ▸GLSL TOP · BLINK
Sierpiński, 1915 · Hutchinson, 1981
A = ∪ₖ fₖ(A), fₖ(p) = (p + vₖ)/2, vₖ the 4 tetrahedron vertices dim_H = log 4 / log 2 = 2 exactly fold in x+y=0, x+z=0, y+z=0, then p → 2p − v₁, k times d(p) = d_simplex(p_k) · 2⁻ᵏ — every map a similarity, so 2ᵏ is exact sphere trace: t → t + d(o + t·û); n = ∇d / |∇d|
Four points, and one rule: from anywhere at all, jump half the way toward one of them, forever.
THE PLATE ▸RUN IT ▸VEX · GLSL TOP · BLINK
Frederick Soddy, 1936 · Thorold Gosset, 1937
(b₁+b₂+b₃+b₄+b₅)² = 3(b₁²+b₂²+b₃²+b₄²+b₅²) b₅′ = b₁+b₂+b₃+b₄ − b₅, and the same on (b·x, b·y, b·z) section of a sphere at distance d: radius √(r² − d²)
Five spheres can all touch each other at once, and when they do their curvatures are locked together: the square of the sum of all five is three times the sum of their squares.
Frederick Soddy, 1937
(b₁+b₂+b₃+b₄+b₅)² = 3(b₁²+b₂²+b₃²+b₄²+b₅²)
b₅′ = b₁+b₂+b₃+b₄ − b₅, and the same on (b·x, b·y, b·z)
root (−1, 2, 2, 3, 3); every curvature is ≡ 0 or 2 (mod 3)
solid drawn: ⋃ { |x − cᵢ| ≤ rᵢ − ρ } over rᵢ > ρ, cut by x·â ≤ s
ray: |o + t·û − cᵢ| = rᵢ − ρ, n̂ = (x − cᵢ)/(rᵢ − ρ)Soddy gave this packing its name in Nature in January 1937, the year after the poem: the bowl of integers, a unit sphere filled with spheres whose curvatures are all whole…