algorithmic modeling for Rhino
If you have Weaverbird (and you should have it) you can use the dual graph algorithm (wbDual). But if you want to do it from scratch, you can use SandBox to know the faces connected to the not naked vertices.
Thanks Daniel, wbDual works, though it requires the initial quads to find the dual, and not just the points. I will look into the SandBox thing!
If you have a grid of points, you can have a mesh using [Mesh From Points] component. If you want to work with topology, using meshes will make things easier.
Well, that's very interesting - I know nothing about meshes. But your result doesn't match the list of square Polyline Curves in his "What I want to get" example.
GH code would have been nice, even for an example this simple.
Thanks alex, I realized my sample def does contain only a rectilinear grid. Delaunay would actually triangulate any other grid, no?
Here's something that works for different rectangular surfaces.
The yellow group discovers the U/V "dimensions" of the mesh (I have no clue what determines them?), which are then used (-1) as inputs for 'Divide' domain, which goes to 'SubSrf (Isotrim)'. The edges of the sub-surfaces are joined to create the polyline curve for each grid square.
The sequence of the list of resulting Polyline Curves is top-to-bottom, then left-to-right, while the sequence of your "What I want to get" list is left-to-right, then top-to-bottom...
Thanks Joseph, your def works fantastically for flat surfaces.
Though, I've attached an updated definition, adding two non-flat surfaces to it. One is a hypar, the other is a hemisphere. With the hemisphere, there's the additional question of how to connect the triangles at the apex.
Nice one, M. Kim. Elegant use of tree partition, path manipulation and tree relative item components
Thanks for the algorithm Kim! Works fantastically.
But of course I have more questions!
In the case that the initial mesh is not a square with equal number of U and V, how do you partition it differently? For example, with the dome, you manually supplied 18 as the number, but if you are given a mesh, how would you automatically find the "dual".
Thanks! Tim
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by