MaCAD – Artificial Intelligence in Archtecture – Digital tools for Algorithmic Geometrical Optimization
Senior Faculty: David Andres Leon
Faculty Assistant: Dai Kandil

How can we use machine learning to analyse, classify and optimize geometry? 

The topic of geometrical optimization is trending in computational design nowadays, mostly influenced by the easy accessibility of frameworks, plugins and design tools that make it readily available to architects and designers. So is the topic of machine learning, which has misleadingly become a generalized solution for complex problems, within and outside the design realm. There is no doubt that a proper use of the combination of these two can provide a very efficient tool to generate more economic and performative workflows that embed fabrication and material constraints within design. 

However, there is little understanding about the principles that govern these two topics, both on the mathematical aspect that rule geometry which then also translates to the algorithms that lay beneath machine learning algorithms. Getting a firm grasp of these underlying principles is key to unveil shortcomings and possible opportunities of such tools, to better select the correct approach for each case and eventually empower the designer to be able customize these tools for more specific and optimized purposes. 

The first stage of the course will take a deep look into geometry, from modeling to fabrication, focusing on the importance on how geometry is generated in order to understand this transformation process, which is key to be able to define a proper setup where the designer can choose the appropriate strategy and target for optimization purposes towards materialization. Keywords NURBS, SubD, Mesh, rationalization , panelization, tessellation, meshing, resurfacing. 

The second part of the course will tackle the relevance of topology as the main strategy for materialization and optimization. Keywords: Mesh Graphs, Segmentation, Walkers, Shortest path, stratification, planarization, weaving, heath method 

The third part of the course will cover more advanced machine learning techniques for geometrical and material optimization, mainly focusing on unsupervised learning as a technique for this purpose. Keywords: K-Means, K-Means, Feature detection, Elbow method, Affinity propagation, Spatial search, Kd-trees 

There are several other secondary topics that we will come across during the course, mainly targeting to learn python, inside and outside of grasshopper with the rhinocommon API, and how to transfer data from cpython to Rhino. 


Learning Objectives
At course completion the student will:

  • Learn about the standard approaches to 3D modelling and how do they relate to the materialization process
  • Gain in-depth knowledge about the process of geometry generation and how its related to materialization
  • Understand about the main approaches that bridge modeling to materialization
  • Dive deep into topology, and it’s relevance in the optimization
  • Be able to produce pseudo-codes that conceptually define our algorithmic intentions
  • Be able to identify suitable techniques for each situation
  • Understand and develop from zero unsupervised learning algorithms without the aid of standard libraries
  • Learn how to interact with Rhino and Grasshopper through python and the Rhinocommon API