Breeder  -  A cellular automaton

by Jean van Mourik

The Breeder cellular automaton provides a fascinating graphical display with kaleidoscopic patterns. It consists of two generations of automaton side by side, each of which is processed in turn. The current pattern being generated is based on its static twin, which thus represents the previous generation.

Breeder is run in the normal way from the RISC User menu system or by double-clicking on its icon in a Filer window. When run, the screen will clear and you will be asked to specify a screen mode before the automaton starts.

Every pixel is processed in an evaluation algorithm. In this automaton it takes the following form:
	(P1+P2+P3+P4) MOD T%
where (P1+P2+P3+P4) are the colour values of the four neighbouring pixels. The value of T% depends on the number of colours used. The result of the equation becomes the colour of the pixel under 
evaluation in the current generated pattern.

The shape present before the first generated pattern is arbitrary.
It turns out that whatever seed pattern is used, its shape appears in
multiples after specific numbers of iterations, hence its name 'breeder'.
In this routine, a coloured circle and disc are used as seed shapes.
Because of the symmetrical properties of the circle and disc, only 1/8
of the pattern is evaluated. So after a pixel's colour is calculated,
the same colour-value is used to plot 8 pixels. These are (X,Y)  (-X,Y)  (X,-Y)  (-X,-Y)  (Y,X)  (-Y,X)  (Y,-X)  (-Y,-X).

The program can be run in the usual way from the RISC User menu system, or by double-clicking on its icon in a Filer window. When the program is run, the user is first given the choice of either 2, 4 or 16
colours to be used in the pattern. This becomes the value of T% used in the
evaluation algorithm. There is also a choice of resolutions. More colours result in increasingly complicated patterns.

Once the choice has been made, the screen clears and the patterns start to build up. The patterns change alternately, being generated from each other as described above. At first the patterns will be generated fairly quickly, but as they get larger it will take more time for them to build up.

This is just one example of many possible evaluation algorithms
in cellular automata. The secret is to experiment. Sometimes
beautiful patterns emerge, and unexpected and interesting processes evolve.

Copyright  RISC User 1996
