3D Cellular Subdivision

edited April 2016 in How To...


I am an architect and new to use Processing. I have very basic skills of Grasshopper but this is first time to try this sort of programming / scripting language. These might be stupid questions but would be appreciated if I can have answer.

I am interested in generating complex/intricate/ornamental 3D shape and very interested in this sort of work;

Michael Hansmeyer, Platonic Solids (2008) http://www.michael-hansmeyer.com/projects/platonic_solids_info.html?screenSize=1&color=1

This work was built with Processing and in TED talk, he had explained that the process was very simple, just subdivide one cube and continue the same iteration. But he had also said 99.9% of the trial became just chaos so took pains to define parameters and let the shapes make sense.

Also in the description of this latest work, he confesses it took 4 month to develop it.

Michael Hansmeyer, Arabesque Wall http://www.michael-hansmeyer.com/projects/arabesque_wall_info.html?screenSize=1&color=1#undefined

My questions are;

1 I know this works are developed by cellular subdivision but can anyone tell how is the process specifically composed of?

2 How can a processing beginner start to learn/develop this sort of process/programme?

3 How much effort do I need to make?

Thank you very much for your attention. Looking forward to your answer, advice or suggestion!


  • 1) I'm guessing here, but... Imagine you want a cube. So you draw a cube. But it's boring. So you break it into 27 cubes, 3x3x3. But that's too many, so you, say, don't draw the ones in the corners. Now you have a plus shape thing. But that's still kind of boring. So instead of drawing those cubes that aren't in the corners, you break each of them into 27 cubes as well, and, again, don't draw the ones in the corners. But the cubes that aren't in the corners are boring, so you... Anyway, you repeat that over and over until your cubes are too small to see. The resulting shape isn't a cube. It's some sort of 3D fractal. Of course, if you didn't always remove the corner cubes, it'd be different. And if you followed other rules to determine which cubes should keep being drawn by smaller cubes, well, you might get something cool looking. Maybe. 90% of the time you'd get garbage...

    2) Make a 2D sketch. Learn setup() and draw(). Learn translate(), rotate(), pushMatrix(). Make a 3D sketch. Learn about arrays. Learn about objects and classes.

    3) That depends on how dedicated and smart you are. If you can learn, it won't take long. How much time have you got?

  • hi, take a look at hemesh & toxiclibs library...if not mistaken, both have some sort of mesh modifiers (subdivider classes)

  • Sorry I have maybe mistaken. The technique is not subdivision but fold. He is using folding iteration on a cube to make these complex geometry.

    Michael Hansmeyer TED from 1:28, he briefly explains the method but not enough so can't know about it enough.... https://www.ted.com/talks/michael_hansmeyer_building_unimaginable_shapes?language=ja#t-77989

    Anyway thank you for great inspiration. TfGuy44 's method is fractal so another different one and more simple than this but it would achieve some exciting result too. hemesh & toxiclibs library looks greatly inspirational too. Thank you.

    Looking forward to other answers too! Thank you in advance.

  • http://www.openprocessing.org/sketch/8326

    This is a recursive 3D thing similar to what tfguy44 described

    You can change the depth of it and it's getting slower

    Works under 1.51

  • Thank you Chrisir! Yes I also imagined this sort of thing from tfguy44 but this is a bit different from Michael Hansmeyer. His work is organic and not seemingly fractal though it uses recursive process.

Sign In or Register to comment.