Yuhang

Lab

Flow lines

Particles advected through the curl of a scalar potential, accumulating on a canvas that is never cleared. A long exposure of a field that does not exist.

Made
Built with
canvas · curl-noise
1,200 particles in the curl of a four-term potential. Click to re-seed.

If you push particles along the gradient of a field they collapse into its minima, which is tidy and dull. Push them along the curl instead and the field becomes divergence-free: nothing is created or destroyed anywhere, so the trails have nowhere to pool. They braid instead.

How it works

A scalar potential is built from four sine terms at deliberately incommensurate frequencies — cheap, smooth, and non-repeating over any interesting timescale. The velocity at a point is the curl of that potential, which in two dimensions is just the perpendicular of its gradient, taken by central differences.

Twelve hundred particles follow it at constant speed. The speed is normalised on purpose: the field’s magnitude varies a lot, and letting it through makes the fast regions into scribbles.

The accumulation

The canvas is never cleared. Each frame lays down a wash of the background at under two percent opacity, so trails fade over several seconds rather than vanishing. Density builds wherever the flow lingers, which is the part that cannot be designed directly — only arranged for.

One particle in ten is drawn in the site’s accent, which keeps the image from reading as a single grey mass.