Variable Voronoi mesh size

I want to make a specimen with variable mesh size from 100 mm to 25 mm.

I don’t know if you refer to a 2D or a 3D situation… anyway I think the key point for having variable voronoi size is to create the points that define the voronoi diagram itself with same distance distribution

so, from your image, the sizes you have indicated should be -for each zone- the distances between points that create the diagram

3D model

Anyone have any example grasshopper script to make variable Voronoi mesh size? If you have please share or share your own ideas. Thanks

Hello
One way to do that is to use points at 2 specific distances. Pack big spheres on top and bottom. Little spheres on middle then use points to make a 3d voronoi

1 Like

Here is the script I thought about
First generate points in a volume, a lot of point is better so Populate Box is not the best as it will try to place points not too near. I used my component from Nautilus plugin


Then for each point set a radius. I use a simple formula to but a radius for z value lower than a threshold and another value for points between 2 heights …

Then I use my tool Remove Overlapping Circles that works also in 3d!!


This give a not very dense packing but it is quite fast.
Then Voronoi 3d



voronoi variable.gh (13.2 KB)

3 Likes

Gradient points can be done without plugins.

This is a copy/paste from that file. If you want a large/small/large pattern, the easy way could be using a Mirror, but there are other ways too.


gradient_points_voronoi_2024_Jul5a.gh (27.5 KB)

2 Likes

Instead of Mirror I modified the code, but either way, there are many ways to get the large/small/large pattern. Setting “mesh size from 100 mm to 25 mm” is difficult to do precisely.


gradient_points_voronoi_2024_Jul5b.gh (27.4 KB)

Increasing the PopGeo ‘N’ input (point count) to 1600:

P.S. Increasing the ‘Count’ slider to 20 makes the transition more gradual between large and small.

This bumps the point count up to 3000:

2 Likes

Thanks for sharing your script. The plugin Grasshopper for the object “Volume” needed version >7.35. My one is v7.0. Is it possible to avoid the Volume object by any means. Thanks.

Volume is not useful here, I just used it to measure things and control the results.
If you don’t have a new version of Rhino, just copy the components not blank on a new definition.
voronoi variable.gh (12.4 KB)

1 Like

There’s an old definition here that might be useful

Packing spheres will give you cells which are locally more similar than using a randomised point distribution, but still with a gradient here from a coloured mesh.
If it’s just a vertical gradient then I think it should work to provide a single vertical plane mesh, not a stack like that example.

2 Likes