Algorithmic worlds 


Back to the information page
About algorithmic worldsIntroductionAlgorithmic art Pictorial algorithms Ultra Fractal Algorithmic worlds Piling patterns The structure Pattern generators Index operators The piling operator An example Other modules 
Ultra FractalUltra Fractal is
a program whose main purpose is to draw escapetime fractals, like the celebrated Mandelbrot set. It also allows the user to write his own algorithms, so it can be considered as a friendly environment for the implementation of pictorial algorithms. There are some restrictions* on the type of algorithms that may be run by Ultra Fractal. First, instead of returning a triplet of numbers for each pixel, the algorithm returns a single number per pixel, called the index. The index is then used to generate a color through a linear color gradient which can be modified by the artist. This indirect way of determining the pixel color allows the artist to have a
fine control on the colors of the final image. Second, the algorithm has to operate pixel by pixel: the same algorithm is run for each pixel, with the same initial data except for the part describing the position of the pixel in the image (its coordinates). In particular, the algorithm does not have access to the computations already performed for other pixels. This is an important limitation, but it has two interesting implications, a philosophical one that will be exposed later and a technical one. As the image is computed pixel by pixel, its appearance does not depend on
the resolution at which it has been computed. To obtain an image with a larger resolution, it is sufficient to compute extra pixels between the existing ones. The image will not change fundamentally, but new details will appear. With algorithms that do not work pixel by pixel, like cellular automatas for instance, it would be impossible to increase the resolution in this way, because the output of a given pixel depends crucially on
intermediate results in the computation of other pixels. From a practical point of view, this property makes the work of the
artist possible. Indeed, she/he can work on images at low resolution
which are computed quickly. For such images, the effect of a change in
the initial data or in the algorithm can be seen almost immediately, allowing the artistic adjustment of the data that we hinted at above. Once this
adjustment is finished, the image can be computed at high resolution. The size and detail level of the final image are limited only by the power of the computer and the patience of its user. 

