About algorithmic worldsIntroduction
The piling operator
The only simple way I found to produce algorithmic worlds relies on the concept of "pattern piling".
The idea is to start from a simple pattern covering the plane, to
produce copies of this pattern at various scales and to merge them
together (the "piling"). As the original pattern was covering the plane,
the resulting picture displays structures everywhere, in accordance
with the first requirement stated above. By piling a large number of
patterns on a wide scale range, the second requirement can also be
satisfied. The pictures produced by this simple procedure can be
surprisingly complex (see below).
The idea of piling patterns at different scales is not new. It was present in an algorithm created in the early 1980's by Ken Perlin to draw "fractional Brownian motion", a texture widely used in computer graphics. In these applications, the pattern to be piled is chosen carefully so as to reproduce as accurately as possible the fractional Brownian motion. In 2000, Damiens Jones, and then Mark Townsend, wrote adaptations of the Perlin algorithm to Ultra Fractal, what triggered my interest and finally lead to the idea of piling any pattern covering the plane.
In mid 2008, the fifth version of Ultra Fractal was released. It
allows algorithms to be implemented in an object oriented way, which
made possible a more systematic exploration of pattern piling
algorithms. Their structure will be described in the next sections.