circle-packing: Simple heuristic for packing discs of varying radii in a circle

[ bsd3, library, optimisation ] [ Propose Tags ]

Given a number of circles with their radii, this packags tries to arrange them tightly, without overlap and forming a large circle.

Finding the optimal solution is NP hard, so only heuristics are feasible. This particular implementation is neither very good nor very fast, compared to the state of the art in research. Nevertheless it is simple to use and gives visually acceptable results.

You can explore the algorithm live at http://darcs.nomeata.de/circle-packing/ghcjs/ghcjs-demo.html.

Contributions of better algorithms are welcome.

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6
Dependencies base (>=4.2 && <5) [details]
License BSD-3-Clause
Copyright 2012, Joachim Breitner
Author Joachim Breitner <mail@joachim-breitner.de>
Maintainer Joachim Breitner <mail@joachim-breitner.de>
Revised Revision 4 made by JoachimBreitner at 2020-05-17T15:43:57Z
Category Optimisation
Source repo head: darcs get http://darcs.nomeata.de/circle-packing
Uploaded by JoachimBreitner at 2017-06-20T23:36:16Z
Distributions LTSHaskell:0.1.0.6, NixOS:0.1.0.6, Stackage:0.1.0.6
Reverse Dependencies 2 direct, 27 indirect [details]
Downloads 17585 total (55 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-06-20 [all 1 reports]