Have you looked at the Substrate component? ‘Mesh | Triangulation’ tab:
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.
Visit these topics in the old GH forum and see if they are of some help…
Apologies I should have been able to find these topics myself! Thanks, I will study these.
And this one (with gaps) quite recently ,but reuse old ones.
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.
grid_subdivision_LEGACY.gh (24.0 KB)
Playing withe the nice render with some smoothing.
How did you achieve these nice smoothed corners?
Wow that is incredibly interesting. I’ve been meaning to make a move to c# and this is a fascinating case study. Thanks so much for in input!
See there I put the sript
It is classical Catmull Clark subdivision
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.
Following a part of the script. It requires Anemone.
uneven subd.gh (16.9 KB)
Such an elegant solution! and beautiful results too.
There’s also this old thread that might be relevant:
Here a version with tileable subdivision. The same logic as previous, I add some mesh output so could be used to make a single mesh or a big tile.
grid_subdivision_LEGACY.gh (38.7 KB)
Continuing to play with the subdivision script and mesh output, here on a torus.
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)
do you know what this might refer to?
It is v6 command. I think you use rhinov5
True. Thanks for the reply
The function could be replaced by mesh.faces.compute normals then normals.compute normals … Or something like that.
Daniel Abalde work
Mesh.Normals.ComputeNormals() for the vertex normals and
Mesh.FaceNormals.ComputeFaceNormals() for the face normals respectively .
Thank, not easy to answer correctly with a phone. I just think we must begin by normals of face then vertex.