Polygon cutting: Revisited
Given a simple polygon P on n vertices vq,vi,…, vn-i with each edge assigned a non-negative weight Wi, we show how to compute in O(n) time a segment Vi b (where 6 is a point on the boundary) that partitions P into two polygons each having weight at most 2/3 the weight of P. If instead of edge weights, we consider an infinitely additive measure of the interior (such as the area of P), there still exists a segment Vib that partitions P into two polygons each having measure at most 2/3 the measure of P. In the case where P contains k points in its interior with each point assigned a non-negative weight, then in 0(n + k log n) time a segment Vib can be computed that partitions P into two polygons having weight at most 2/3 the weight of P. In the case of rectilinear polygons, rectilineal cuts having the above properties exist, however, the fraction is 3/4 instead of 2/3. We present examples showing that these bounds axe tight in the worst case. We show that in 0(n) time using O(logn) cuts, a simple polygon can be paxtitioned into two groups Gi and G2 of pieces, such that the ratio of the area of G\ to the area of G2 is x: y for any x, y > 0, G\ can be made a single piece, and all but possibly one of the cuts are diagonals of the polygon. Finally, we present an 0(n) time algorithm for finding the shortest chord in a convex polygon P that cuts off a times the area of P.
Bose, P, Czyzowicz, J. (Jurek), Kranakis, E, Krizanc, D. (Danny), & Maheshwari, A. (2000). Polygon cutting: Revisited.