Multiple translational containment part I: An approximate algorithm

K. Daniels, V. J. Milenkovic

Research output: Contribution to journalArticle

28 Scopus citations

Abstract

We present an algorithm for finding a solution to the two-dimensional translational approximate multiple containment problem: find translations for k polygons which place them inside a polygonal container so that no point of any polygon is more than 2ε inside of the boundary of any other polygon. The polygons and container may be nonconvex. The value of ε is an input to the algorithm. In industrial applications the containment solution acts as a guide to a machine cutting out polygonal shapes from a sheet of material. If ε is chosen to be a fraction of the cutter's accuracy, then the solution to the approximate containment problem is sufficient for industrial purposes. Given a containment problem, we characterize its solution and create a collection of containment sub-problems from this characterization. We solve each subproblem by first restricting certain two-dimensional configuration spaces until a steady state is reached, and then testing for a solution inside the configuration spaces. If necessary, we subdivide the configuration spaces to generate new subproblems. The running time of our algorithm is O((1/ε)k log(1/ε)k6,s log s), where s is the largest number of vertices of any polygon generated by a restriction operation. In the worst case s can be exponential in the size of the input, but, in practice, it is usually not more than quadratic.

Original languageEnglish (US)
Pages (from-to)148-182
Number of pages35
JournalAlgorithmica (New York)
Volume19
Issue number1
DOIs
StatePublished - Jan 1 1997

Keywords

  • Approximation
  • Computational geometry
  • Containment
  • Layout
  • Marker making
  • Nesting
  • Packing

ASJC Scopus subject areas

  • Computer Science(all)
  • Computer Science Applications
  • Applied Mathematics

Fingerprint Dive into the research topics of 'Multiple translational containment part I: An approximate algorithm'. Together they form a unique fingerprint.

  • Cite this