CA driven by a GA – Fluid Forms’ creative coding session
Previously I have written in general about Creative Coding / Laser Cutting session organized by Fluid Forms. Now it’s time to write about what have I actually done during those 2 days.
I have focused on the engraving feature of 500 speedy laser cutter. The software driving it has a capacity to read raster images and convert them into engravings. Effectively it has 16 depths of engraving, so I decided to write a cellular automata with 16 possible states of each cell. States vary between one another by a fill() value in Processing. As you would assume, the fill value goes from black to white (black is the deepest engraving).
Here are some first tryouts. You can see first row, generated randomly and the rest of the image following certain rules. Every cell in the next row is “looking at” three cells above itself. As in every CA the inheritance from previous cells takes place based on CA rules.

In the image above I have assigned the CA rules arbitrary. Next step was to drive a CA with a GA (genetic algorithm). I have used a similar interface as in the case of Breeding Objects. The difference being that only artificial selection was available to the user. It means that the only way for the user to create next generation was to manually select individuals to breed from the current generation. This choice is made purely based on users’ aesthetic preferences.

In the first iteration of CA driven by a GA only the CA rules where inherited by next generation but the states of the first row where random in every new individual. This approach proved not to be very successful, since a very small change in the first row’s states could cause a considerably big change in the overall image. In the final software both CA rules and the states of the first row evolve and are inherited by next generations.
You can see some of the CA images which got engraved in Corian during the session (images of the physical objects coming soon).

UPDATE: Few pictures of the laser cut.


Filed under: 01 design, 05 programming, scripting, parametric modeling, cellular automata, digital fabrication, generative design, genetic algorithms, laser cutting, workshops | 1 Comment
Tags: Fluid Forms, Michal Piasecki
Very interesting, I look forward to seeing the objects.
Did you think of looking at 2D continuous CA ?
I had a lot of fun playing with these a while ago
see here:
http://processing.org/discourse/yabb2/YaBB.pl?board=Exhibition;action=display;num=1225495847
and here:
http://spacesymmetrystructure.wordpress.com/2009/02/26/cellular-automata-heightfield/
I’d love to see your ‘evolution’ techniques applied to these