Slow Grow
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.
|