Nullspace

Dimension 0 · a point

Nullspace

A website that does nothing, as hard as it can.

Start the descent

Loading particles…

  • Move through the field.
  • Click for a shockwave. Hold to pull the field in, release to throw it.
  • Scroll fast to stir it.

Dimension 1 · a line

The Strings

A line is a point that kept going. Eleven of them are strung here and tuned to a pentatonic scale. Sweep the pointer across them, or use the keys underneath. Strings an octave or a fifth apart ring together.

Strings
11
Nodes per string
24
Physics steps per frame
8
Turn Sound on in the header to hear them. Strings keep moving when Sound is off.

Dimension 2 · a plane

The Empty Room

Nothing is in this room. Walk through it anyway. It remembers where you have been, and what grows there depends on which physics you chose below.

Grid
–
Float precision
–
State at rest
All zeros

Physics
Lichen is a reaction–diffusion system. Ripples follow a wave equation. Cells are Conway’s Game of Life, and a click stamps an R-pentomino.

Dimension 3 · a volume

The Bulb

A solid you cannot hold, computed one pixel at a time by marching a ray through a distance field. Drag to orbit it. The page keeps the frame rate steady by lowering the resolution when your device struggles.

Ray steps
≤ 96
Resolution
–
Triangles
0
Form
Drag or use arrow keys to orbit. Hold Shift and scroll, pinch, or press + and − to zoom.

Dimensions 4 to 10

The Hyperengine

These shapes need more than three axes. Most are regular polytopes, rotated through all of those axes at once and flattened onto your screen with one perspective division per extra dimension. The n-cube goes up to ten dimensions. That is 1,024 corners and 5,120 edges.

Shape
–
Corners · edges
–
Rotation planes
–
Shape
Dragging rotates
Rotation planes

Each slider spins the shape inside one plane of the first four axes. Planes that include the 4th axis (W) have no counterpart in ordinary space.

Drag to rotate. Choose ‘Into the 4th axis’ to turn the shape through W instead of through your room.

Real equations, running live

The Observatory

A polytope is geometry. These are laws. Six instruments that run the real maths: light bending around a black hole, the Schrödinger equation, the Mandelbrot and Julia sets, chaos, the zeros that encode the primes, and the circles that can draw anything.

Instruments
6
Equations solved live
9
Approximations
Listed under each

Event Horizon light in a Schwarzschild metric

Merger to listen to

Pick a merger and press play. Sound must be on to hear it.

Each pixel integrates a light ray through the Schwarzschild metric with the Binet orbit equation, u″ + u = (3/2)u² in units of the Schwarzschild radius. The disc is a thin Keplerian ring with relativistic beaming. The chirp uses the leading-order inspiral formula f = (1/π)(5/(256τ))3/8(G·Mc/c³)−5/8, where τ is the time left until the merger, using the chirp masses of GW150914 (28.1 M☉) and GW170817 (1.19 M☉), then a ringdown.

Quantum Pond the Schrödinger equation in 2D

Potential

Click the pond to send a wave packet. Drag to aim it.

The wave function ψ evolves under i∂ψ/∂t = (−½∇² + V)ψ with ℏ = m = 1, advanced by a staggered leapfrog scheme on the GPU. Colour is phase, brightness is |ψ|². Measuring samples a position from |ψ|² (the Born rule) and collapses the packet there.

Complex Plane Mandelbrot and Julia, linked

Move across the left half to change the Julia set on the right.

Left: c ∈ Mandelbrot set where z → z² + c stays bounded from z = 0. Right: the Julia set of that same c. Every point in the left picture predicts the shape of the right one. Single precision limits zoom to about 105.

Chaos Bench sensitive dependence, measured

System

 

Lorenz: 500 trajectories start within the spread you choose, are integrated with fourth-order Runge–Kutta, and fan out at the Lyapunov rate of about 0.906 per time unit. Three bodies: a fourth-order symplectic integrator (Yoshida) with Newtonian gravity, G = 1. Nudge the figure eight hard enough and it falls apart.

Zeros and Primes the Riemann explicit formula

 

Left: ζ(½ + it) traced as t grows, computed with Borwein’s algorithm. Each time the curve passes through the origin, t is the height of a non-trivial zero. Right: ψ(x) = Σ ln p over prime powers pk ≤ x (the staircase) against ψ(x) ≈ x − Σρ xρ/ρ − ln 2π, using only the first N zeros. More zeros, sharper steps. Sweeping with Sound on plays a note at each zero.

Epicycles the discrete Fourier transform, drawn

Shape
Any closed curve is a sum of rotating circles. The shape is resampled, transformed with a DFT, and each coefficient becomes a circle spinning at an integer frequency. Few circles give a blur; many give the shape. With ‘Draw my own’, press and drag on the canvas, then let go.

Matter, life and light

The Laboratory

Nine experiments where simple rules produce structure nobody drew: a slime mould with no brain, sand sorting itself on a vibrating plate, a crystal that is not periodic, two galaxies falling through each other, a chaotic map that paints, a renderer that follows every ray of light until the picture converges, a fluid solved from the Navier–Stokes equations, a curved plane where parallel lines drift apart, and a cellular automaton whose smooth rule grows colonies and mazes. The Observatory has the equations. This is where they get messy.

Experiments
9
Agents in the slime
262,144
Stars pulling on each other
4,096

Slime Mould Physarum, simulated

Behaviour
Each agent senses a chemical trail ahead of it, turns towards the strongest side, steps forward and leaves more trail. No agent knows anything. Networks like the ones in real Physarum polycephalum, a slime mould that can solve mazes, appear anyway. After Jeff Jones (2010).

Chladni Plate sand finds the silent lines

 

The plate vibrates as w = cos(aπx)·cos(bπy) − cos(bπx)·cos(aπy). Grains are kicked in proportion to |w|, so they drift off the moving parts and pile up on the nodal lines where w = 0. Ernst Chladni drew these figures with a violin bow in 1787. Turn Sound on and the plate rings at a pitch that rises with the mode.

Quasicrystal order without repetition

Rotational symmetry

 

The tiling is the dual of a multigrid of N families of parallel lines (de Bruijn’s method). Slide the phason and tiles flip locally while the diffraction pattern, the Fourier transform of the corners computed live, keeps its sharp N-fold peaks. A pattern of sharp peaks with 5-fold symmetry was thought impossible for a crystal until Dan Shechtman found one in 1982 (Nobel Prize 2011).

Galaxy Collision 4,096 bodies, every pair

Galaxies

 

Direct summation: every body pulls on every other, nearly 17 million force terms per step on the GPU, with a softened Newtonian force and a leapfrog integrator. Each galaxy is a disc of stars on circular orbits around a heavy core. Watch tidal tails form where the discs pass through each other.

Attractor Paint a map that never settles

Start from

 

The Clifford map x′ = sin(ay) + c·cos(ax), y′ = sin(bx) + d·cos(by) is iterated by 262,144 points per frame and plotted as density on a log scale. Tiny changes to a, b, c, d change the whole figure. Move the pointer across the canvas to bend a and b.

Path Tracer light, one bounce at a time

Big sphere

 

Each pixel shoots a random ray, bounces it up to six times, and averages the result with every earlier frame. Noise falls with the square root of the sample count, so the picture converges in front of you. Glass uses Fresnel reflectance (Schlick) and Snell refraction. The same maths drives film CGI.

Hyperbolic Plane a world where parallel lines diverge

Tiling {p, q}

 

In the Poincaré disc model the whole infinite plane fits inside a circle. All the tiles in the pattern are congruent to one another; they only look smaller near the edge. A straight line is a circular arc that meets the rim at right angles. The picture is folded back into one triangle by repeated mirror reflections, which is how the symmetry group of the tiling is computed. The angles of a triangle add up to less than 180 degrees, and the missing amount is exactly its area. Distance from the centre: .

Navier–Stokes a fluid, solved every frame

Show
Every frame this solves the incompressible Navier–Stokes equations with Jos Stam’s stable-fluids method: velocity is carried along itself, a vorticity force puts back the small whirls that numerical smoothing removes, then the pressure that keeps the fluid incompressible is found by iterating the Poisson equation twenty times and subtracted. Whether smooth solutions always exist in three dimensions is one of the seven Millennium Prize Problems. Nobody knows.

Lenia life from a continuous rule

Species

 

Conway’s Life made smooth. Each cell holds a number from 0 to 1. Every step it takes a weighted average of a ring of neighbours, runs it through a bell-shaped growth curve, and moves a little towards growth or decay. Change the centre or the width of the bell and the same rule gives colonies of rings, dappled spots, or winding mazes. Only a narrow band of settings keeps anything alive; just outside it, everything dies out. Nobody designed any of it. After Bert Chan (2019).

Every integer is a world

The Atlas of Worlds

World number n is computed from n alone, identically every time. Nobody drew these planets. Each gets a star, an orbit, a temperature from the equilibrium formula, a gravity from its density and radius, and a verdict on whether you could stand on it. Jump to any whole number, or ask the atlas to scan two hundred worlds and name the most habitable.

Worlds
9,007,199,254,740,991
Drawn by hand
0
Current world
1

World 1

       

      Equilibrium temperature T = 278.5 K · L1/4 · (1 − A)1/4 / √a with a in AU, plus a greenhouse term that grows with pressure. Gravity g = GM/R² from density and radius, escape velocity v = 11.19 km/s · √(M/R), orbital period P = √(a³/Mstar) years. The planet is ray-traced with 3D fractal noise for terrain, clouds, and atmosphere glow. The numbers are plausible, not catalogue data.

      Short games

      Two Small Habits

      Each takes under a minute. Both are built to make you say ‘one more’.

      Chain Reaction

      You get one blast per level. Place it so it touches an orb, which blows up and touches the next. Reach the goal to move on.

      Press Start.

      Moon Merge

      Drop moons in the bowl. Two of a kind fuse into the next size up. Do not let the pile reach the line.

      Press Start.

      The last room

      The Dark Room

      Somebody switched the lights off. You are holding the only lamp. Click to send a signal through whatever is out there.

      There is a version of this page with nothing on it. This is not that version.

      The longest line in the Strings is 24 nodes long, and none of them know about each other.

      Every particle above you was asked to forget where it was, many times a second.

      A 120-cell has 600 corners. You have seen about half of them.

      Seven glints are hidden on this page. One of them is a button.

      It is fine to stop now. It is also fine not to.

      Move to light the nearby stars. Click to send a signal. Turn Sound on to hear the signal travel.
      Back to the top