Grasshopper Beginner- How to get Delaunay edges to connect to adjacent points?


(Purples) #1

Hi,
I’m wondering how to get delaunay edges to connect to adjacent points only and not all over the place? Thx


(David Rutten) #2

Eh, I’m clearly confused because delaunay edges are specifically designed to only connect to the ‘nearest’ point in a general direction. Do you want to connect all points within a certain distance? Do you want to not create delaunay connections over a specific distance? Perhaps an image would be helpful.


(Tim Stark) #3

Maybe use delaunay and afterwards cull the curves you don’t need. Maybe if the intersect something or the curves are too long. But as @DavidRutten said, we need more informations


(Purples) #4

Hi, thanks for the response. I would like to say, I think grasshopper is quite powerful. Here is what I tried to do; a network of points in Rhino which I carefully picked to make the lines go like this:


In grasshopper I had a point container linked to the delaunay edges component.
But when i hit enter, it went like this:

Any suggestions?


(Tim Stark) #5

Maybe upload your file… Delauny works nearly as your top Picture, in 2D and 3D. With the Standard component you can’t controll which Points get connected (or atleast I don’t know). You could do it by yourself, creating the lines with closest Points component and cull duplicates in the end or use panneling tool. Don’t know where your Points come from. Do you just have random Points or are they branched in rows or something?


(blue lines for z visulisation)


(Purples) #6

I made up the points in Rhino, which is how I hopefully want to work; that is design something in Rhino, then bring it into grasshopper by setting points or lines to have some effects.
The grasshopper file for this is literally 2 components - a point component link to the delaunay edges.


(Purples) #7

Whats that component between the points and the line? Also the one after delaunay edges? Thks


(David Rutten) #8

Delaunay is fundamentally a 2D algorithm. It just copies the z-coordinate back into the answer, but it’s not part of the solver. If your points are placed on a vertical plane, then you should override the [Pl] input of the delaunay component to also be a vertical place. Or, you can fit a plane to all your points and use that as your input.


(Purples) #9

How to do that-example maybe?


(Laurent Delrieu) #10

Use plane fit
http://rhino.github.io/components/vector/planeFit.html


(David Rutten) #11

If you had uploaded a file I could have started from there. But here’s how to use Fit Plane in the process:


(David Rutten) #12

Do note that delaunay generates all the edges that are part of the convex hull as well. Based on your images you do not want all of these. You’re going to have to figure out some way to remove the unwanted edges, for example by culling them based on length:

This will only work if the edges you want to remove are all definitely longer than the ones you want to keep.
If they’re not (like in my example) you will have to switch to a different culling metric. For example based on the area or radius of the circumcircle for each delaunay triangle:


(Purples) #13

Thanks everyone! Will try out fit-plane and culling by length…