Computer Science > Computational Geometry
[Submitted on 2 May 2017 (v1), last revised 27 Jun 2018 (this version, v2)]
Title:Split Packing: Algorithms for Packing Circles with Optimal Worst-Case Density
View PDFAbstract:In the classic circle packing problem, one asks whether a given set of circles can be packed into a given container. Packing problems like this have been shown to be $\mathsf{NP}$-hard. In this paper, we present new sufficient conditions for packing circles into square and triangular containers, using only the sum of the circles' areas: For square containers, it is possible to pack any set of circles with a combined area of up to approximately 53.90% of the square's area. And when the container is a right or obtuse triangle, any set of circles whose combined area does not exceed the triangle's incircle can be packed.
These area conditions are tight, in the sense that for any larger areas, there are sets of circles which cannot be packed. Similar results have long been known for squares, but to the best of our knowledge, we give the first results of this type for circular objects.
Our proofs are constructive: We describe a versatile, divide-and-conquer-based algorithm for packing circles into various container shapes with optimal worst-case density. It employs an elegant subdivision scheme that recursively splits the circles into two groups and then packs these into subcontainers. We call this algorithm "Split Packing". It can be used as a constant-factor approximation algorithm when looking for the smallest container in which a given set of circles can be packed, due to its polynomial runtime.
A browser-based, interactive visualization of the Split Packing approach and other related material can be found at this https URL
Submission history
From: Sebastian Morr [view email][v1] Tue, 2 May 2017 11:48:45 UTC (228 KB)
[v2] Wed, 27 Jun 2018 10:27:36 UTC (232 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.