By Mike Wallace, MSc Computing 2002 – 2003
This applet uses Iterated Function Systems to create populations of fractal images. Clicking an image with the left mouse button will generate a new population consisting of various different mutations of that image. The frequency and amount of mutation can be adjusted with the scrollbars on the bottom of the screen. Clicking two images successively with the right mouse button generates a new population of child images bred from the two parent images. These child images are also subject to mutation at the current rate and amount.
A number of preset colour maps are provided which make the images more attractive. Custom colour maps can be created by selecting “Custom" from the pull down menu and manipulating the RGB values with the colour map editor.
A larger picture of an image in the population can be obtained by clicking the "Display" button on a specific image panel to bring up the image viewer. The image viewer can overlay the Affine Transformations that define the fractal, which is achieved by enabling the "Overlay" checkbox.
Constraints can be applied to all images in the population by enabling the "Constraints" checkbox. This prevents any mutations from happening to the main Affine Transform of each image, which has the effect of preserving the main characteristics of an image (e.g., symmetry, spiral, blur will all remain constant). Constraints are useful for restricting possible mutations to a specific area of search space. For instance, if someone wanted to breed a reflectively symmetric fractal, the constraints could be enabled to force all mutations to be reflectively symmetric.
Images can be retained in the population by enabling the Preserve checkbox on the specific image panel. When other images are mutated, the selected image will not be replaced, and so will remain in the population being available for breeding with future images.