CI-21: A thousand black fish, seen from above, circling in a ring around an empty center CI-21

About a thousand fish with no leader: each one watches only its seven nearest neighbors. When the mouse startles a few, the fear spreads on as a wave.

CI-01: Black landscape silhouette with a gently undulating contour, shapeable with mouse and touch CI-01

A wave equation over a chain of points, each knowing only its two neighbors. At rest, the simulation sleeps as in a game engine and costs no processing time.

CI-02: Hundreds of black circles stack and swirl – physics that responds to the mouse CI-02

Custom physics without an off-the-shelf library: the screen is divided into cells, and each circle checks only the circles near it instead of all the others. That keeps it smooth even with hundreds of circles.

CI-03: Delicately branched green fern grows generatively on a black ground CI-03

Growth by rules, as in real plants: two simple rules, applied seven times in a row, yield 24,384 line segments. An imaginary pen traces them and draws the fern.

CI-04: Sphere of dozens of red, interpenetrating boxes on a white ground CI-04

40 boxes drawn directly on the graphics card, each with its own rotation axes and speed. Their size follows the mouse smoothly; holding the button orbits the camera.

CI-05: Grid of golden dots, with more dots flying into place CI-05

The order in which the grid fills up is calculated once in advance. Each circle covers seven percent of its remaining distance per frame and eases in smoothly.

CI-06: Fine white branches sprawl across a black surface CI-06

Finished lines are stored as a snapshot; only what is still growing gets calculated – a technique from game development. That is why a million lines run as smoothly as 20,000.

CI-07: Large black circles lie densely packed on a white ground CI-07

Custom physics with rotation: friction at the contact points sets the balls rolling. When little is moving, the simulation automatically uses fewer steps.

CI-08: Concentric white line rings oscillating on black CI-08

Each ring's size and brightness follow from its age alone – so it runs at the same speed on every screen. The sense of depth comes from a simple sine curve; the whole piece is 85 lines of code.

CI-09: The digit five made of fine gray dust particles CI-09

Each digit is drawn invisibly once at startup and broken down into dust. After that only points are moved, and as soon as everything stands still, nothing more is drawn.

CI-13: Scattered white points of light like a drifting swarm CI-13

Each point knows only when it was born. From that it works out whether it is flying, waiting, pulsing or falling – without a single timer.

CI-14: Dense cloud of thousands of drawn circle outlines on white CI-14

A random walk of 50,000 circles whose size swings between 0 and 100 pixels. Drawing happens in batches of 200 circles per frame; once the cloud is complete, the program stops computing.

CI-18: German-French word field about meeting and affection CI-18

Custom line breaking measures every word in advance, so every line sits right from the very first moment. Finished words are stamped into the image once and never redrawn.

CI-17: A white line on black, folded into dense coral-like windings CI-17

A line grows by splitting its long segments; nearby points push each other away, so it folds by itself. Once fully grown, it stops computing.