|
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.!
|