I have been struggling with this logic for a little while now, I am trying to create a definition to produce surfaces similar to the image attached. I have a feeling I might be approaching it from the wrong angle so would like to get another perspective if possible?
I’m aware of it yep, however i’m not so much trying to achieve a particular goal, more as using this as a learning exercise, and substrate seems a bit of a cheat! I am aware that this problem is more complex than i originally thought though. So t’m not looking for a solution as such. But more of advice to point me in the right direction.
It is quite a complicated problem. It will either require some clever custom looping or recursion, and those kinds of algorithms are always hard to replicate using GH.
I finished a script I began some days ago. The idea is quite simple, take a grid with X pixels in width, Y in height try to put random rectangle with given size if not possible try less big rectangle. It gives that. The output is rectangles between in UV space (between 0 to 1). So this could be used for surface or whatever.
If output Count less than nx*ny augment tries.
Made this once to complete Colombo, Sri Lanka, where OSM had no data (green=OSM, red=script)
Rectangles were rotated to the nearest street, scaled, random reduced and culled if the proportions are over 4x1.
Hey Laurent,t thanks for sharing this that script looks amazing, but when I load it I get the following error message:
Error (CS1061): ‘Rhino.Geometry.Mesh’ does not contain a definition for ‘RebuildNormals’ and no extension method ‘RebuildNormals’ accepting a first argument of type ‘Rhino.Geometry.Mesh’ could be found (are you missing a using directive or an assembly reference?) (line 204)