Designing a Symmetric Voronoi Unit Cell for Patterning


I am very new to Grasshopper and want to know if it is possible to define a Voronoi unit cell that has opposite faces that mirror each other such that if I was to pattern the cell in the X, Y, and Z directions it would not have any dangling members. It would technically be a 3D tessellation. I want the inside of the cell to be somewhat random though. Is the software capable of doing this?



I want to define the strut system such that when I stack these cells, it matches perfectly

If I understand your question correctly, you basically want to create a tileable unit cell voronoi pattern. I am assuming you do not want to mirror this cell - otherwise any cell would work (if you mirror about the face where it touches the other unit, the pattern will of course line up).

This is easiest to think about in 2d; then we’ll extrapolate it to 3D.
if you populate a 2d region with random points and calculate the voronoi tessellation, it will not tile seamlessly:

However, if you duplicate your point set along the X and Y axes of your cell, such that the point pattern repeats:

And then calculate the voronoi of that point set:

You’ll find it tiles seamlessly:

We can apply the same principle in 3D, by copying our unit cell + points to all of the adjoining cell faces:

the resulting 3d voronoi of that entire set, trimmed to the original cell, will tile seamlessly along X, Y, and Z: (13.9 KB)


Very nice!

Awesome! Thanks

I’ve been trying to sort this seam business when rolling voronoi round a cylinder.
This should do the trick.
Thanks for the super detailed post!