For Fundamentals of Spatial Computing I explored recursive and generative architecture in a general sense. Rather than designing buildings I was concerned with generative 3D structural forms built only out of cubes aligned to a grid. I wanted to create a system that would be simple to use but be capable of creating a wide range of 3D distributions ranging from very sparse (resembling a skeletal structure) to very dense (more of a cube mountain).

I named my system ‘Levity’ which means “a manner lacking seriousness ” because I wanted my system to create silly cube constructs instead of the more typically seen organic generative forms.

Each structure starts with one or more base cubes which fork child cubes in various directions that grow each iteration until a certain termination condition is reached. In this case I set an iteration depth limit at 30 so it will always terminate after growing 30 times.

I studied L-Systems which were initially used in biology to study the evolution of algae colonies but have since been used quite extensively for generating foliage and other organic forms.

I settled on a modified L-Systems approach to drive the overall spatial distribution with additional stochastic parametrization to influence the end result. I declared a custom ‘L-Symbol’ grammar that is used to specify instructions for cube structure growth using a set of symbols taken from the grammar.

Each 3D construct is uniquely specified by a four character ‘genetic’ string. Each slot (L0 through L3) contains an ‘L-Code’ symbol that for now I have defined as the letters A through G. Each symbol represents a numerical number between 0.0 and 1.0 as well as a string of L-Symbols that can be used to construct the 3D form.
(more…)