Thank you for Introduction. The topic of my presentation is coming from a running fwf-project on our university together with the architects.

The basic motivation is to find irregular structures. so it is not a task of minimizig costs or material - most important is irregularity and of course the structures should be strong or robust in a statical sense.

so our part of the project is to develope an algorithm to generate irregular spaceframes, which are input for further genetic algorithms from the architects to improve static quality.

More in detail we can define the problem in 2D:

Given any boundary volume

with predefined support areas,

we should find a 'useful structure' inside, which is supported at these areas.

This is the full definition - from now on we can do what we want. but this is in fact a problem. what do we want? how should the result look like? and how should we build a 'usefull structure'? And so we started a series of different experiments. based on random walks with magnetic centers or to use electric fields and their streamlines, recursive methods and so on... And what we can say now, is that there is an endless number of ways you could try, but it is not easy to find the 'usefull' ones.

One of the first Ideas was use a Voronoi Tesselation of the Volume. -> Volume

-> Bounding Box

-> Random Points

-> Qhull: unfortunately there is (or it seems to be) no software which generates a the Voronoi Cells inside a arbitrary Volume. Also Qhull operates on a Box.

-> Crop: now we have a tesselation of the volume. this structure does not take care about the support areas and so it is no solution for our problem. but, and this is the basic idea of my talk, we can use it as superior structure and take only a subset of it.

-> Support Points result from the Intersection of the Voronoi Edges with the Support Areas.

-> 'Voronoi Paths': Lets consider the tesselation as a kind of traffic system, like a roadmap, and travel from one Support Point to another on the shortest way.

So we get automatically a network of crossing lines which are running partially identical. This property is important for the result, because the lines seem to branch sometimes - like a bifurcation - and somtimes two lines seem to run together. And this looks maybe organic like a riverdelta.

The lines now are to much zig zag lines but we can smooth them and it looks much better now.


2D: here you can see the last 2D example with more paths and the smoothing step by step. I used a force-directed method, similar to my Minimal Surface algorithm.

3D -> Applications:


Thank you for your attention!