The Binary Kite – even more cubes with Py4D

There are those popular structures we all know and love because they simply look fascinating from every angle – like the Sierpinski triangle, the Pythagoras tree or the Menger sponge.
Generative geometry is one more proof that math is beautiful no matter how basic.

Recently I stumbled upon a new pattern that is also phenomenally simple but produces rather complex shapes – the “Binary Kite”.

I first saw it in Mikael Hvidtfeldt Christensen’s ‘Structure Synth‘ – an ingenious tool for exploration of generative 3D structures.

Basically it’s a 3D array of randomly black/white colored cubes that slightly scale(linear) and rotate(noise) per iteration on one axis.
What makes it look so interesting is that each items transformation matrix is subordinated to its predecessor on that axis.

Initially, I played around with the kite in Unity 3D but quickly discovered that it can´t be animated at high iterations.

So I fired up C4D and wrote a simple Py4D generator.

The results

I did end up with this gorgeous picture of a 30*30*500 cubes kite (5400000 polygons) (fullsize):

Here is a closeup from the same viewpoint (fullsize):

Want to render your own kite with even more cubes? Grab the scene file here.

The file has been updated to work with the R12 version of Cinema 4D.

Remember to uncheck “Optimize cache” in the Python Generator´s properties if you want to animate the parameters.


While Structure Synth is awesome, Cinema 4D and Py4D are a great way to visualize generated geometry too as Cinema’s render instances enable you to work with millions of objects.


Update 2:
This is a 150*150*500 cubes wallpaper version in ultra high resolution (7964*4480) – 135.000.000 polygons!

You can download it here.

7 thoughts on “The Binary Kite – even more cubes with Py4D”

  1. Greg Dunn

    Very nice! While I was familiar with Context Free Art (the 2D version of Structure Synth), I didn’t know there was a 3D version out there. It’s not bad at all, but it needs a C4D tie-in, I think! I noticed a lot of export/templates for renderman, blender and sunflow but nothing for C4D at present. I may try to tackle that when I get some free time (aren’t we all waiting for that, though?)

    In the meantime, I’ll check out your python script for the kite. Thanks again for sharing.

  2. flashgordon Post Author

    Hi Greg,

    glad you like the kite.
    I agree, the lack of an export template in structure synth for a standard format like OBJ is unfortunate.

    On the other hand… at first I tried to generate my kites with Unity and save them as OBJ to render in C4D – i quickly reached a point when handling 200+ MB meshes seamed to much hassle so I just ported everything to PY4D.

    I should have done that right away, so all in all, I would recommend to use structure synth with external renderers as intended or just as a prototype tool to experiment and then port the idea to PY4D.

    The gain is the possibility to use C4D’s render instances, and honestly – I wouldn’t know how to render so much vertices without – the improvement in memory consumption is just huge.

    I even checked if I could improve things by using the same technique as in the Unity Game of Life experiment – combining all the cubes to groups of meshes/one single mesh – but render instances where by far superior.

  3. Pingback: Python vs Octopus » RenderKing - Cinema 4d and After effects tutorials, preset, models and plugins presented by Alessandro Boncio

Leave a Comment

Your email address will not be published.