Algorithmic worlds










About algorithmic worlds

Algorithmic art
Pictorial algorithms
Ultra Fractal
Algorithmic worlds
Piling patterns
The structure
Pattern generators
Index operators
The piling operator
An example
Other modules

Piling patterns

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).


A simple pattern build on a regular triangular tiling.


The same pattern, reduced in size by a factor two, has been added to the image above.


Three more copies have been added, respectively 4, 8 and 16 times smaller than the original pattern. A complex structure appears spontaneously.

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.

Previous page

Next page

Copyright S.Monnier 2009-2014. Bookmark or share