Artificial fractal painter

This program implements a human-guided evolutionary process. The user controls the process of picture evolution by exerting the selective pressure.

Click to choose your language:


Assumptions

The pictures are generated as fractals (based on the algorithm by Roger T. Stevens). Each fractal definition is a sequence of seven-value vectors. Successive iterations generate X and Y values as in

  • X(n+1) = AiXn + Bi Yn + Ei
  • Y(n+1) = Ci Xn + Di Yn + Fi

where [Ai, Bi, Ci, Di, Ei, Fi, Pi] is an i-th vector, and Pi is a probability used in the computation process. Sample fractals are:

  • Sierpinski triangle

    0,5; 0,0; 0,0; 0,5; 0,0; 0,0; 0,3333;
    0,5; 0,0; 0,0; 0,5; 1,0; 0,0; 0,3333;
    0,5; 0,0; 0,0; 0,5; 0,5; 0,5; 0,3333;

  • a leaf

    0,0; 0,0; 0,0; 0,16; 0,0; 0,0; 0,05;
    0,2; -0,26; 0,23; 0,22; 0,0; 0,2; 0,15;
    -0,15; 0,28; 0,26; 0,24; 0,0; 0,2; 0,14;
    0,85; 0,04; -0,04; 0,85; 0,0; 0,2; 0,4;

In the real world, most individuals are average (ordinary), and the most interesting and special ones are rare. In the pictures space, the situation is similar. If you try, you will find the special and beautiful ones. Right click in the program window to get a large view of the selected picture.

Sample pictures obtained

Program: Marcin Borkowski
Porting to javascript: Piotr Ptaszyński
Mentor: Maciej Komosiński