growth (CA + voronoi)

One of the most interesting characteristics of algorithms is that they can be totally self-referential. An internal quality that can produce a process independent and autonomous,that relies only on its own rules. Using program requirements or site elements in order to generate the voronoi diagrams obviously still relies on external factors. Therefore here another algorithm (a cellular automaton script) is used in relation to the voronoi in an attempt to render a process that doesn't have to refer to anything outside itself. A 'growing' process, with its own rules that doesn't have to rely on any external factors (apart from the initial state) in order to be generated.

[growing examples: a cellular automaton used to generate surfaces]

The process that is developed can be described by the following steps:
a. a 2d cellular automaton script is executed, with a random or pre-defined initial configuration of cells.
b. every generation of the ca is stacked on top of the previous ones creating this way a 'progression' of active cells.
c. the centers of the active ca cells are used in order to generate the voronoi diagram. The limit of that diagram is defined by the limits of the outer active cells of each generation of the ca.
d. the edges of the voronoi cells are used as the structural system.
e. a smoothed version of the voronoi cells is used in order to define enclosed space.

[the cellular automaton]

[the active cells of the automaton used as points for the generation of the voronoi diagram]

[the different steps of the process described above]

[photographs of a 3dprinted model of the output.]

Example 01(previous)------------------------------------------------------------------(next)Example 02


Mitko said...

Really great! Could you tell me in which software did you do this? I tried the quill one but it doesn't seem to work or it's maybe just me?!

dimitris gourdoukis said...

the ca was scripted in mel. For the voronoi i used qhull. it should work with a little bit of rhinoscript or mel to help you visualize the data that qhull is producing.

julin said...

I'm interested in how you scripted the CA - is the script available?

I'm new to scripting with rhinoscript and need to get my head around the logic, and how to create the rules for the CA generation.

Your diagrams are beautiful and clear!


Ksenia said...

I know almost nothing about scripting. I would also like to know if there are scripting files available somewhere and how to use them in programs like Maya.