3 research outputs found

    Partitioning a Polygon Into Small Pieces

    Full text link
    We study the problem of partitioning a given simple polygon PP into a minimum number of polygonal pieces, each of which has bounded size. We give algorithms for seven notions of `bounded size,' namely that each piece has bounded area, perimeter, straight-line diameter, geodesic diameter, or that each piece must be contained in a unit disk, an axis-aligned unit square or an arbitrarily rotated unit square. A more general version of the area problem has already been studied. Here we are, in addition to PP, given positive real values a1,,aka_1,\ldots,a_k such that the sum i=1kai\sum_{i=1}^k a_i equals the area of PP. The goal is to partition PP into exactly kk pieces Q1,,QkQ_1,\ldots,Q_k such that the area of QiQ_i is aia_i. Such a partition always exists, and an algorithm with running time O(nk)O(nk) has previously been described, where nn is the number of corners of PP. We give an algorithm with optimal running time O(n+k)O(n+k). For polygons with holes, we get running time O(nlogn+k)O(n\log n+k). For the other problems, it seems out of reach to compute optimal partitions for simple polygons; for most of them, even in extremely restricted cases such as when PP is a square. We therefore develop O(1)O(1)-approximation algorithms for these problems, which means that the number of pieces in the produced partition is at most a constant factor larger than the cardinality of a minimum partition. Existing algorithms do not allow Steiner points, which means that all corners of the produced pieces must also be corners of PP. This has the disappointing consequence that a partition does often not exist, whereas our algorithms always produce useful partitions. Furthermore, an optimal partition without Steiner points may require Ω(n)\Omega(n) pieces for polygons where a partition consisting of just 22 pieces exists when Steiner points are allowed.Comment: 32 pages, 24 figure
    corecore