Unsupervised learning · Morphogenetic Programming · UCL · 2025

VoxelMorph.

A self-organising map, implemented in C#, that morphs between iconic buildings and maps every shape in between.

C# · Grasshopper · Accord.NET
Kohonen SOM · voxel feature vectors

Self-organising map of voxel towers, coloured by cluster The four input meshes Top view of the map with cluster territories The full 40 by 40 map

Method

Mesh → vector → map → mesh.

The methods board, as submitted: four input meshes are normalised into one bounding box, probed by a grid of vertical vectors, encoded as displacement vectors, trained in a self-organising map written in C#, and decoded back into meshes on a grid.

VoxelMorph methods board: input meshes, normalisation, bounding box, bottom surface, sampling grid, vertical vectors, step surfaces, mesh closest point, vector extraction, SOM training, grid plus vectors to points, final mesh processing

Results

Comparison.

Result 1

40 × 40 · voxel 31 · 432.9 s · 4 inputs

Result 2

25 × 25 · voxel 15 · 111.4 s · 4 inputs

Result 3

40 × 40 · voxel 15 · 75.2 s · 3 inputs

Result 4

25 × 25 · voxel 25 · 4.8 s · 3 inputs

Top view, 4 inputs

Top view · 4 inputs, clusters as territories

Top view, 3 inputs

Top view · 3 inputs

Full 40 by 40 map

The full map · 1,600 voxel forms from four inputs