Slow Grow

Slow Grow result after 2000 iterations.

This sample models diffusion-limited aggregation and demonstrates that random behaviours can lead to rather less random-looking results with hardly any constraints on the random behaviour.

The Slow Grow Algorithm

Firstly, a single seed is placed at the centre of a circular "world" in which the image will grow. Next, a random point is picked on the boundaries of the world and a new point created there. The new point is then set off on a random walk to see where it ends up: if it wanders outside of the world, it is assumed lost forever and a new point is started. Otherwise, it is tracked until it encounters another pixel, at which point it sticks and the process starts again.

A note: the sample allows you to animate the progress of each pixel during its path to the centre. However, this isn't called Slow Grow for nothing - if you leave animation on it'll probably take several hours or more to generate an image! With animation switched you can generate images more quickly, however, it still only generates something like 1.5 points per second.