Voronoi with Equal Area Polygons

I’m trying to divide a parcel (internalized in the GH file) into a Voronoi with polygons of equal area. The Galapagos script (attached) is not generating great results. I realize this is more complex than it seems and it certainly exceeds my skill level. Any help greatly appreciated. Voronoi Equal Area.gh (19.2 KB)

well, it is really more complex than it seems…
https://dl.acm.org/doi/10.1145/1531326.1531392
you are not the first with this question.
watch video from 8:30 to 11:10 - that might be helpful for you.

Thanks, @dfytz1. Yes, I’ve read through some related posts from the past, which I’ll revisit, but I hadn’t seen this before.

Maybe begin with circle packing, using 12 circles of equal area? Their centers could be a starting point for the voronoi cells.

Is it really specifically a Voronoi diagram you want? (i.e. cell edges all exactly bisecting the distance between the site points of their adjacent cells),
Or are you just after something with approximately the same visual look?
If the latter, you could look at power diagrams, which are a more generalized form, allowing weighting of the cells. I think from an approximate initial solution you could iteratively adjust the weights to get equal areas. 2d power diagrams can be made quite simply by taking a planar section through a 3d Voronoi and moving the points up and down for weighting.
You could also use the polygon area in kangaroo, provided you had a solution with the right starting topology.

Thanks very much for this suggestion, @akilli. I was able to use one of @DanielPiker’s packing definitions from another thread to approximate some good results.


CircleFill_withBoundaryCollide_Re.gh (29.8 KB)

1 Like

Hi Daniel: Thank you for this reply. No, it does not need to be a Voronoi, specifically. I’m looking for any solution or set of solutions that yields approximately equal areas. I’m interested in both of the approaches you mention but it’s going to take some research on my part, as I have limited experience with Power Diagrams and Kangaroo! Back to the threads…