4

I'm trying to write a program in Python with Shapely that takes in shape files (right now congressional districts) and "packs" them with circles. The end goal is to have the center points and radii of the circles. I'd like to cover the maximum area with the least amount of circles.

All of the resources I've found via Google so far are about circle packing within standard geometric objects like squares/circles/triangles etc... So my instinct is to try and turn these shapes into triangles or something and then apply some existing algorithm to the simpler shapes.

Does this seem like the right path for problem solving if the shapes have lots of small concave edges? Or is there some algorithm I haven't been able to find via Google that anyone knows of that does this already?

Georgy
  • 12,464
  • 7
  • 65
  • 73
  • it would be better if you demonstrate a circle-packing algorithm, even a naive one, and then ask for feedback regarding issues that it has. – New Alexandria Dec 18 '17 at 00:15

1 Answers1

5

You might start with this seminal paper, and then move backward & forward in time using Google Scholar:

Bern, Marshall, and David Eppstein. "Quadrilateral meshing by circle packing." International Journal of Computational Geometry & Applications 10.04 (2000): 347-360.


          Fig1
          Part of Fig.1

In particular, much of the paper is on packing polygons with circles to achieve specific properties, e.g.,


          Fig5
Joseph O'Rourke
  • 4,346
  • 16
  • 25
  • Thank you so much, this is a great starting point. Got a lot to chew on, will come back to show the fruits of my labor when I'm done. – davis_grubin Dec 19 '17 at 22:12