### Abstract

We present exact algorithms for finding a solution to the two-dimensional translational containment problem: find translations for k polygons which place them inside a polygonal container without overlapping. The term kCN denotes the version in which the polygons are convex and the container is non-convex, and the term kNN denotes the version in which the polygons and the container are nonconvex. The notation (r, k)CN, (r, k)NN, and so forth refers to the problem of finding all subsets of size k out of r objects that can be placed in a container. The polygons have up to m vertices, and the container has n vertices, where n is usually much larger than m. We present exact algorithms for the following: 2CN in O(mn log n) time, (r, 2)CN in O(r^{2}m log n) time (for r ≫), 3CN in O(m^{3}n log n) time, kCN in O(m^{2k}n^{k} log n) or O((mn)^{k+1}) time, and kNN in O((mn)^{2k+1}LP(2k, 2k(2k + 1)mn + k(k - 1)m^{2})) time, where LP(a, b) is the time to solve a linear program with a variables and b constraints. All these results are improvements on previously known running times except for the last. The algorithm for kNN is slower asymptotically than the naive O((mn)^{2k} log n) algorithm, but is expected to be much faster in practice. The algorithm for 2CN is based on the use of separating line orientations as a means of characterizing the solution. The solution to 3CN also uses a separating line orientation characterization leading to a simple and robust "carrousel" algorithm. The kCN algorithm uses the idea of disassembling the layout to the left. Finally, the kNN algorithm uses the concept of subdivision trees and linear programming.

Original language | English (US) |
---|---|

Pages (from-to) | 183-218 |

Number of pages | 36 |

Journal | Algorithmica (New York) |

Volume | 19 |

Issue number | 1 |

DOIs | |

State | Published - Jan 1 1997 |

### Fingerprint

### Keywords

- Computational geometry
- Containment
- Layout
- Marker making
- Nesting

### ASJC Scopus subject areas

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