Academia.eduAcademia.edu

Computing the center of area of a polygon

1989, Lecture Notes in Computer Science

The center of area of a polygon P is the unique point p* that maximizes the minimum area overlap between P and any halfplane that includes p*. We present several "numerical" algorithms for finding the coordinates of p* for a polygon of n vertices. These algorithms are numerical in the sense that we have been careful to

Computing the Center of Area of a Polygon Matthew Diaz Department of Computer Science The Johns Hopkins University Baltimore, MD 21218 Joseph O'Rourke Department of Computer Science Smith College Northampton, MA 01063 Abstract The center of area of a polygon P is the unique point p* that maximizes the minimum area overlap between P and any halfplane that includes p*. We present several "numerical" algorithms for finding the coordinates of p* for a polygon of n vertices. These algorithms are numerical in the sense that we have been careful to express the algorithm complexities as a function of G, the number of bits used to represent the coordinates of the polygon vertices, and K, the number of desired bits of precision in the output coordinates of p*. For a convex polygon the algorithm runs in O(nGK); non-convex polygons offer considerably more challenge. For orthogonal non-convex polygons, we have an algorithm that runs in O(n2GK), but for general non-convex polygons, our algorithm's time complexity is O(n 4 log nGK + nSG2K + nG K2). 1 Introduction Given a set of points, Q, in the plane, one may wish to find a point p (not necessarily in Q), such that the minimum number of points contained in any halfplane that includes p is maximized. This point is called a centerpoint, and algorithms for computing it and the related k-hulls are known [Ede87, p. 63], [CSY87]. The natural generalization of this discrete question to the continuous domain is the following: Given a polygon P, which point p has the property that the minimum area overlap of any halfplane which includes p is maximized? This (unique) point we call the center of area. Although we examine traditional combinatorial computational geometry Mgorithms for finding the center of area, it seems clear that when the output of an algorithm is a single point not directly present in the input, combinatorial complexity should not be the sole measure of worth: the cost per bit of output in the point's coordinates is the 172 fundamental issue. Thus we take care to deal with numerical precision, which leads us to search algorithms rather different from the combinatorial algorithms. Section 2 introduces the notation that will be used through this paper and discusses certain geometric properties of the center of area and related structures. Section 3 introduces a necessary condition for a halfplane to minimize the area overlap, and Section 4 discusses a combinatorial structure, the chord diagram, associated with the center of area. An algorithm for finding the center of area is presented in Section 5, including analysis for convex, orthogonal and general polygons. We conclude in Section 6 with generalizations and open problems. Due to space limitations many of the proofs are limited to sketches only. For a more complete analysis refer to [DO88] and [DO89]. 2 Definitions Define L(p, O) to be a directed line through the point p forming an angle 0 with the positive x axis, and let L+(p, O) be the closed halfplane bounded by, and to the left of L(p, 0), and L-(p, O) be the closed halfplane bounded by, and to the right of L(p, 0). Hence L(p, O) = L+(p, 8) n L-(p, 8). For a polygon P, define C(p, O) to be the set of collinear chords formed by the intersection of L(p,O) with P. We then define the function a(p,O) = ]L+(p,O) n P[, the area of P to the left of the chords C(p,O). (Figure 1) P p p,8) Figure h Notation Define a(p) = min a(p, 0). O Hence a(p) is the minimum area cut off by any C(p, 0). We will let O* represent any one of the angles that minimizes a(p). (It is possible for the minimum to be achieved at several distinct angles.) We will refer to L(p,O*) and C(p,O*) as a min-line and min-chordset respectively. The center of area for a simple polygon is defined as the set of points p* that satisfy a(p* ) = max a(p). p The value a(p*) we denote by 6% For convex polygons the ratio of the area of L+(p*, O*)NP to the area of L-(p*, 0") n P is known as Winternitz's Measure of Symmetry [Gru63].