Generative Architectural Design
By Mohamed Naeim
This paper is a new investigation I made recently to reveal the importance of Generative Algorithms in the Architectural Design process. It’s a story of embedding Computation to design, by writing codes and algorithms, to develop and boost the design process made by the computer. In other words, encoding design parameters into a program using a systematical logic. It’s widely used recently in the field of Architecture, interior design and product design. Generative design can offer us a lot of benefits and it has the legitimacy to make designers great promises; Generative design allows for producing a whole family of design alternatives. Generative Design enhances the design creativity and it helps the designer to select the best design, among all generated variety of designs. Another aspect supporting this great approach that the intelligence created by a designer can be passed easily to other designers, in the method that suits their workflow, whether they are architects, engineers or builders.
There are many subclasses or fields researcher can investigate in this area, starting with Algorithmic modelling, also emergent systems, then Shape Grammar and finally Reproduction systems. Algorithmic include the most basic efforts of using CAD and Geometric Identification techniques, such as parametric and associative modelling and data visualisation, the best example of that appears clearly on Grasshopper tool, where you can build shapes and forms with simple program writing. Shape grammar is the approach which tries to simulate the naturals systems, such as cellular automata and L-Systems, these systems used in the modelling virtual organisation of natural elements such as trees, or even the famous Game of Life. There are also the self-organization systems, more complex and much complicated. Reproduction systems are the evolutionary version of nature simulation; it’s supported by genetic algorithms and selective procedures.
It’s very difficult to classify sub-classes that map the worlds of Generative design, because it is intersected with many other fields of knowledge, including the mathematics, logics, computer science, biology and physics. All of them engage together at the same time, for the specific subject or within the in-focus context. In some of my best readings, the writer classified the Generative Design into main four areas or techniques; versioning through variations, repeating by cycling, mass customization for great productions and finally, continuous differentiation in rhythmic patterns. And that have a deep meaning, especially for someone used all these techniques in his work.
It’s very important to someone who would like to learn about parametric design to understand alphabet of generative design. It’s a kind of the basic elements of programming, it’s almost the same for all environments, however, it only varied on the syntax or structure of the language. In every system, there are data types, these data include elements we work with, either as inputs or outputs, these data are stored within variables, containers filled with data and can be altered with different data from the same data type called parameters. In this collection there are logical and mathematical operations, and also many other operations including text processing techniques and nesting algorithms ( Tree structures), some algorithms are grouped and stored as families and inheritances, from other syntaxes, classes and functions are made by you, all these things work together to create what is called object-oriented programming environment.
Why do we code? What is the precedent behind this long deep series of explorations? It’s the gap, the knowledge gap between theory and practice, architects learn in a theoretical way, for instance, what is a form, where it comes from, but not how to do it, and what other types can be done. a design computing expert uses all the available tools in his hand, he uses variables expressions, conditions and operations, iterations and recursions, to produce procedures, design procedures. It’s easier than ever, Computation is made out of few elements, placed on a graphical interface by drag and release, pieces are connected together with wires clicking and pulling. in the background, dozens of codes are placed and organised automatically, kind of codes typical programmers would need forever to write an organise. And amazingly, changes are made easily, and all visualised in real-time just in front of the Designer.
There are many Concepts would help newly freshies in Parametric and generative design hinterlands, concepts that allow designer to achieve goals partially, and that how complex programs made, piece by piece, you fix part of the problem, and then once it validated you use it in another algorithm, applying more algorithms and do more tasks. These concepts have many classifications, some are just mixtures between different operations. Examples of these concepts; controllers Algorithms, force fields algorithms, tiling and subdivision algorithms, iteration and recursion algorithms, weaving and packing algorithms, additionally, branching algorithms, graph theory, and the list is very long.
The parametric and generative algorithms or concepts are used to solve very common problems in the building industry and architecture realm. These problems include Geometrical and topological transformations found on space layout planning, it’s used also to differentiate between parallel meanings, it helps to concur the complexity of functional requirements. It supports the solving efforts of site-specific problems either it was environmental or physical etc. These techniques or concepts can make collaboration between design team a much adequate process and it enhances communication and eases collaboration.
So in few words, I can conclude the importance of the Generative design in a punch of statements; Generative design expanding our design possibilities, it develop the current design situation into a better one. Using computation make the designer understand not only the problem, but also how it was constructed by breaking it down into smaller problems, and accordingly, know how to solve it. Generative design can document the whole design process and immediately produce a record of design aspects and procedures, that give the process a conventional sense and it reveals the designer’s intention step by step. Generative design help designer to make his own tool rather than making a design in commercial packages, the technique frees his mind and put him out of the box, that what is called algorithmic thinking.
Books: Programming culture, elements of parametric design, smart geometry