Grasshopper

algorithmic modeling for Rhino

# Window Frame Facade - random size surface division

Good evening everybody.

Is there anyway to do a facade like shown below. Dividing a surface into random rectangle shapes? There is this Launchbox tool for random quad panels, but that doesn`t quite fit, because eighter the horizontal or vertical lines are going all the way through.

I`d prefer it the Mondrian way. And additional going deeper into it, using an attractor line or point to define the size of the boxes.

I`ve already tried Launchbox and Paneling Tools. The thought was to create cells and join those how are close to one predefined center cell. But that doesn`t work eighter. One problem is to get rectangular shapes. Most of the tries ended with polyedge forms.

Another idea was to use packrat. Generating randomly rectangles with help of galapagos and let packrat make the fit into the choosen form. Galapagos would work with the sizes sliders of those rectangles and would optimise the mass summ area of them or something like that.

Hope You have a suggestion. Thanks in Advance

JJK

Views: 2884

### Replies to This Discussion

Maybe substrate under Meshes ->Triangulation?

Does exactly what I want, but with the minimum of possibilities to interact. There is no way to make it react to an attractor?!

There's quite a few papers out there presenting various "Mondrian" algorithms. Note that most (probably all) are based on recursively subdividing rectangles. So you'll need to implement their logic in a scripting component or using one the looping plugins (anemone, hoopsnake etc.)

Thanks for the papers, but my time is limited to one week and i have no clue about scripting yet. So i guess thats not gonna help me. Probably afterwards. But still big thank.

Knocked up a quick example of a recursive rectangle subdivision algorithm (not from any of the papers) using the GHPython scripting component. It relies on random numbers for setting all the splitting properties at each iteration, so it's a bit stupid (does take the width/length of the rectangle into account though, so as to always split it on the long side). Might help :)

Edit: Note that the input polyline does not need to be orthogonal, just need to be a quad:

Attachments:

by Anna