Artificial Evolution of Algebraic Surfaces

Procedural techniques are widely used in computer graphics to generate models, textures, and animations. Proceduralism provides a means to abstract a given task away from the user and place the burden of complexity on the computer. Through the use of these procedural methods, developers can provide parametric interfaces to users so that a complex system can manipulated through a relatively small number of simple controls. However, these controls are often non-intuitive and require the user to have some prior knowledge of the underlying techniques. This thesis presents a system that combines implicit surfaces and genetic algorithms in order to solve the problems inherent with parametric control. By treating implicit surface representations as genotypes with a genetic algorithm, complex geometry can be generated in a semi-automated fashion. The only effort required of the user is to select individual surfaces that most closely approximate their target model. Furthermore, the user can bias the mating of two individuals thereby making slight changes to a specific surface in order to refine the model. Thus, the user is provided with a means of procedurally generating highly complex geometry without needing to have any prior understanding of the underlying techniques.