*project developed as part of MRAC Software III Seminar 2019/2020

Language translation is an open-ended exploration of translating messiness in the digital world, of representing the “unbuildable”, messy, chaotic face of vernacular spaces in the architectural realm. As such, the project focuses on dealing with hyper-complex geometry at a topological level, attempting to extract features from geometrical analysis.


The research emerged from a fascination with the morphologies generated through Style-Swap GAN in a 2D format- this starts drawing questions of the ability of performing the same task, in 3D. Could we style-swap between various messy digital structures, can we assign messy properties to rationalized geometries?


The idea is to perform topological operations on imported hyper-complex geometries in order to analytically break-down the architectural language of an artifact first into its standalone components, then into local topological descriptors, and then applying materials to these local regions.

First, K-means clustering is used to extract the different topological regions, and second, a neural network is proposed in order to learn the features assigned to each cluster and the material associated to each type of descriptors. The experiment is setting up to test a process of automatic material detection and assignment to another test artifact.


The workflow first consists of generating the artifacts manually through a composite workflow- Maya/ Houdini/Zbrush- and then importing this complex artifact into Grasshopper for topological processing.

Operation order in GH specifically:


The test artifacts are multi-component assemblies, as following:

For the process of classification of the components, each element receives a denominator, that is then passed through the topological analysis process and at the end, the sub-clusters in each element is supposed to receive a material.

The specific test artifact used for the purpose of the present experiment:


K-means is performed on each individual element of the assembly, following the UV logic of the geometry in order to extract topological clusters.

Initial K-means tests include testing ghc python scripts and the K-means components included in the Ivy GH plug-in.

However, the amount of accuracy and controlability in the initial tests hasn’t been satisfactory, leading to a second series of clusterization tests performed in Owl, allowing the clusterization to be performed in the basis of a prior mean curvature analysis of the geometry.

K-MEANS / OWL_ results: 

Performing K-means on single elements- relationships are formed between the amount of clusters formed (on the left) and the UV parameter affecting the resolution of the pattern (right).

Next, adapting the script to allow performing K-means on multiple elements at the same time, increasing the number of elements in an assembly towards reaching the initial hyper-complexity goal:


The second part entails inputting a series of descriptors extracted from each of the topological clusters formed inside the assembly elements and assigning a gh material to it, as a training set input to the Owl neural network. The test set would entail a similarly clusterized geometry posed for material transfer.

The descriptors, used as neural network inputs, are ways of describing the generated clusters to the NN, in the form of:

cluster average mean curvature

cluster occupied percentage within total element area

cluster center orientation

cluster area

The NN workflow:

TESTS on the hyper-complex artifact:


In the future, this process could go on to “style-swap” material properties between hyper-complex artifacts, or between hyper-complex artifacts and newly generated structures within GH.

Language Translation, 2020; Faculty: Mateusz Zwierzycki, Soroush Garivani; Student: Andreea Bunica