The Hague Pioneers
Published in

The Hague Pioneers

Exploring Generative Art with StructureSynth

Generating 3D structures with a few lines of code

Some people who know me, might have heard me say I wanted to do more on the boundary of technology and art. On some well-deserved time off, I finally got to experiment on this with the help of a programme called StructureSynth.

Now, StructureSynth is not a new thing. Actually, it is pretty ancient. The last update to the code was done in 2010, but it is still freely available and runs smoothly on my MacOS. It allows you to make complex structures relatively easy and is just all round very fun to play with.

The fractal-like structures are generated from ‘states’ and ‘transformations’. This short guide is enough to get you on your way fast! (+ downloads + user manual)

Honestly, I still only half-understand the code underneath the four images you are about to see. So I just shared the lines of code with you too.

Copy paste the below code in the text field of StructureSynth yourself and click build, it is that easy to replicate this! Be sure to tweak some numbers here and there to see how the structure changes.

Below, you see my first try-outs that I feel have enough beauty to be shared, and in which I saw something deeper.


CITY TRAFFIC — MOBILITY NETWORKS — TRAM LINES, that’s the feeling I get here.
spawnset maxdepth 250rule spawn {set seed initialr1}rule r1 w 0.5 {{ x 1 } r1sphere}rule r1 w 0.06 {r1{ rz 90 s 0.5 } spawn}


PRESSURE! First I felt people being pushed away from a crowded place, but the longer I looked I realised the people where coming in, not out.
spawnset maxdepth 250rule spawn {set seed initialr1}R1rule R1 {{ x 0.9 ry 6 s 0.99  hue 0.99 sat 0.99  } R1{ s 2 } sphere}rule r1 w 1 {r1{ z 5 rz 23 s 0.7 hue 0.9 sat 0.9 } spawn}

3. My Digital Wallet of Attributes

A WALLET OF INTERCONNECTED DATA VALIDATION — Any Self Sovereign Identity Wallet builders reading this ^ my view on how to represent my attributes.
spawnset maxdepth 100000set maxobjects 100000rule spawn {set seed initialr1}R1rule R1 {1 * { y 6 } 10 * { x 2 s 0.9 } box}rule r1 w 1 {r1{ y 5 rz 90 s 0.9 hue 0.9 sat 0.9 } spawn}


ARCHIVING-BY-DESIGN. Endless version history on core protocols and components. What do you see?
spawnset maxdepth 100000set maxobjects 100000rule spawn {set seed initialr1}R1rule R1 {{ x 0.9 rx 4 rz 2 ry 25 s 0.99  sat 0.99  } R1{ s 1 } sphere}

Some final words

The fun of the programme starts, for me, where the randomness combined with self-replication comes in. Not a surprise if you have read my earlier work.

If you try the above code yourself, that basically means that you might have to click ‘build’ a couple of times to replicate or approximate the structure yourself. And be sure to tweak some numbers here and there to see the structure grow differently in your own unique way.

I haven’t quite gotten the random seed generation figured out yet, and I’m confused by how the ‘spawn’ element in the code spawns stuff exactly. But it is surely the key to creating unique structures on the boundary of chaos in StructureSynth.

Most of the info on random seed generation came from a Flickr page of Mikael Hvidtfeldt Christensen (Syntopia), who takes this art form to the next level for me right now with his designs. Check him out!

Please send me your try-outs! That would bring me joy!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Yvo Hunink

Yvo Hunink

Design goes where complexity takes it. Working on the boundaries of chaos and order, so that we can create a world of justice and peace @ City of The Hague