WOAH
The inconvergent homepage, glowing cyan and magenta generative geometry on a black background beneath the wordmark

On the web

The art is an algorithm someone left running

Anders Hoff writes small generative programs, differential growth, branching hyphae, sanded splines, then lets simple local rules run until they buckle into organic art.

The picture looks hand-drawn by something patient and not quite human: lines that branch like veins, edges that buckle into folds, thousands of faint strokes settling into a shape. Nobody drew it. A short program did, and then it kept going.

inconvergent is the work of Anders Hoff, a Norwegian artist with a background in numerical mathematics who has been building generative systems since the early 2010s. He started while he was supposed to be studying for university exams, and bought the domain name as a joke about diverging from his own coursework. The math is real schooling, not vibes: when he presented this work at the Piksel festival in Bergen in October 2014, the program listed an MSc in applied mathematics from NTNU, a day job in search consulting, and a catalogue already nearly ten algorithms deep. What sets him apart is that he publishes the reasoning: his essay On Generative Algorithms walks through eleven of his techniques chapter by chapter, and every chapter links the repository that draws it.

The signatures repeat across his galleries. Differential growth, where a line grows longer while pushing away from itself until it crumples like a coastline. Hyphae, a branching structure grown the way roots colonize soil. Sand splines, which lay down thousands of near-transparent grains along a curve until texture emerges out of almost nothing.

A rule small enough to fit in a sentence

The method under all of them is the same idea, and it is a humble one. You define agents, points connected to their neighbors, and give them very short local rules: drift toward your neighbors, push away from strangers that get too close, split when your segment stretches too far. Then you step the whole system forward, thousands of times.

The complexity is never designed directly. It emerges from running a simple rule to exhaustion, which is why the output looks grown rather than drawn.

Take differential growth, the signature move, apart and there are only three verbs in it. Attract: each node drifts toward its immediate neighbors so the line stays a line. Reject: each node pushes away from every nearby node it is not connected to, so the line cannot cross itself. Split: when two neighbors drift too far apart, inject a new node between them. That is the whole organism. Run it ten thousand steps and the loop buckles into folds because new nodes keep arriving and the only direction left to grow is sideways, exactly like a brain wrinkling inside a skull.

I went looking for a canonical iteration count or node budget for his finished prints and could not find one; the essay deliberately talks in rules rather than renders. The closest he comes to a number is structural: eleven chapters, each one algorithm, each linking its own repository.

The code is public, and the stack has a history you can read. The classic pieces are Python: the differential-line repository that draws the crumpling loop sits at nearly seven hundred GitHub stars. Later he rebuilt his whole toolchain in Common Lisp, first as a system called weir, 638 stars and archived in December 2021 with its readme still describing itself as a system for making generative systems, and today as a set of smaller Lisp libraries for vector math and graph structures. Not many artists let you watch them refactor a decade of studio tooling in public.

The last step is often physical. Much of the finished work goes to a pen plotter, ink on paper, and the workshop honesty runs deep enough that he wrote svgsort, a small Python tool that reorders the paths in an SVG so the plotter arm wastes less travel between strokes.

He names his debts, too. The essay credits Jared Tarbell's early canvas work and Nervous System's Hyphae as the pieces he first tried to recreate, before his own ideas took over.

The same rule, printed in nylon

That debt is worth following upstream, because the algorithm he borrowed had already left the screen entirely. Nervous System's Hyphae lamps, a 2011 project from the Massachusetts design studio, grow their branching bodies in custom C++ software built on CGAL, simulating roots colonizing a space the way veins form in leaves. Each run of the program is a different lamp, and the results are laser-sintered in nylon by Shapeways, one unique object per execution, no molds anywhere in the chain. I looked for a public count of how many have been grown since 2011 and could not find one, which fits: the studio's whole point is that the run never repeats.

Put next to Hoff's work it completes a loop I find quietly moving: a biological growth rule becomes a simulation, the simulation becomes a lamp on someone's nightstand, and a student in Norway sees it, tries to recreate it, and ends up with a decade of ink drawings. Simple local rules do not care what medium they crumple.

Run the rule yourself before lunch

If reading about differential growth is not enough, you can watch it buckle live. Jason Webb's 2d-differential-growth-experiments, 271 stars, implements the algorithm in p5.js with browser demos for single lines, closed shapes and SVG input, plus keyboard toggles for watching the node-and-edge machinery underneath. He calls the repo a sketchbook rather than production code, which is the correct spirit: this is an algorithm you doodle with. Feed the closed-shape experiment a circle and come back in a minute. It will be a coastline.

The dependency list also quietly teaches the engineering lesson of the whole genre. Webb pulls in rbush, a spatial index, because the reject rule means every node must find its nearby strangers every step, and checking every node against every other node dies long before the drawing gets interesting. The art problem turns out to be a nearest-neighbor problem, the same one powering collision detection in the physics engines two sightings over.

Where to start growing your own

Read his notes first; they are half the sighting. Then, if the itch to build one lands, the trailhead is Jason Webb's morphogenesis resources, a catalogued index of differential growth, reaction-diffusion and other form-growing algorithms with papers and demos attached, sitting at more than two thousand stars. I opened it to check one link and lost half an hour.

More simple rules building something nobody drew: creatures that swim out of a smoothed Game of Life, and a planet that tiles itself into shape as you paint.

Next up

Type a formula and the GPU paints every pixel at once