# How to achieve Geospatial Voronoi pattern?

I would like to achieve a voronoi pattern like this:

What I want to do is place a curve and control the size of the voronoi cells using proximity.

Since there is no way to control the size of the cells the way I have described it. I did come up with a work-around which involves the use of multiple voronoi texture nodes with different scales.

Now, there is a small problem with this setup. You can see that in the ref image, all the cells feel connected. But in the workaround that I have come up with, the next size will be a sudden jump. Now in theory, I could just use more and more voronoi nodes. But that will come with the cost of performance which is something that I want to avoid. Also, that won't completely solve the issue of them not being naturally connected.

Distribute random points with density based on proximity to given geo. Spawn overlapping cones - looking at them from top orthographic view is a cheap way to find intersections:

Color the cones:

Result:

(the cell points visible above is just a happy accident due to camera clipping)

Set the Vertices $$= 4$$, for Manhattan distance:

$$3$$ and $$5$$ vertices also look fun…

This one takes a leaf out of @vklidu's book, for creating triangle-cell-based Voronoi geometry.

This version takes as input a plane, and a curve.

• The plane is scaled up and subdivided, to distribute points with variable density
• The density is based on a mapping of proximity to the curve
• A 1-point curve primitive is instanced on the points, and realized
• The scaled plane is converted to a curve, combined with the points, and triangle-filled.
• The Dual is taken of the triangulation
• The whole is Boolean-trimmed with a box created from the input plane.

Producing this kind of result, in geometry:

As @Markus points out in the commentary, this is not a true representation of regions closest to the distributed points, so you would have to watch out for that, if you needed it.

• Awesome. I learned the "fill 0-length curves" trick from vklidu as well. Nice touch to just resample it to 1 point. This is not true Voronoi BTW, but honestly, it looks better than the true Voronoi. Commented Sep 20, 2023 at 10:04
• @MarkusvonBroady Hmm. True, The Dual is not a distance-function from the vertices, is it. So if you needed minimum-distance-from-points for something else,, it wouldn't work. Commented Sep 20, 2023 at 10:14