Biomorph :

Genetic algorithm applied
to automated modeling

This program is able to create polygonal modeling (phenotype)
based to a virtual ADN (genotype) stored to a graph nodes (DAG object).

They can reproduce themselves, creating a new unique biomorph sharing genes of irs parents and, sometimes, soem random mutation.

A biomorph phenotype dispose of:

- A hierarchy of small elements, called genodes.
- A unique polygonal mesh.
- Un skeleton.

Using implicit surfaces concept, the mesh is computed from the genodes.

*Glossary*

Population= All biomorphs
Creature= A set of genodes, including their geometrical transcription.
Genode= A node of parameters which describe a sphere of influence.
Chromosome= Set of four allele (float) X,Y,Z,S (position and scale)
Allele= Set of bit (binary unit)
Bit= Binary unit, 0 or 1.

The fecondation occurs in three steps:

- To begin with, a new biomorph is created with the genodes (from its parents) in a common place in the whole hierarchy.
Each alleles are melted to compose a new genotype.

- Secondly, each genodes of the parents who does'nt appear in both hierarchy are randomly transmitted to the new biomorph.
All alleles are transmitted as well.
- Finally, a random process will create mutation as follows:

According to a global paramter in the UI (Radiations Rate)
Some mutation will change allele information.

There is 5 different mutation engine, (randomly chosen as well),
simulating with number coded in bits the modification of nucleotides of a chromosome.

As the diagram above, mutation occur bit by bit.

This project were the opportunity for me to learn python in Maya8.
It is a powerfull language, used a lot.

Due to several limitations, I was constrained to toggle between the two scripting languages, building a tricky pipeline.

According to the diagram, python was writing mel scripts file to be re-injected into Maya.!