Jump to content

Monotone polygon

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 71.146.74.108 (talk) at 00:22, 20 April 2010 (→‎Properties: monotonicity testing). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Green indicates one intersection, blue indicates two intersections, and red indicates three or more. The top two polygons are monotone while the bottom two are not.

In geometry, a polygon P in the plane is called monotone with respect to a straight line L, if every line orthogonal to L intersects P at most twice.[1]

Similarly, a polygonal chain C is called monotone with respect to a straight line L, if every line orthogonal to L intersects C at most once.

For many practical purposes this definition may be extended to allow cases when some edges of P are orthogonal to L, and a simple polygon may be called monotone, if a line segment that connects two points in P and is orthogonal to L completely belongs to P.

Following the terminology for monotone functions, the former definition describes polygons strictly monotone with respect to L. The "with respect to" part is necessary for drawing the strict/nonstrict distinction: a polygon nonstrictly monotone with respect to L is strictly monotone with respect to a line L1 rotated from L by a sufficiently small angle.

Properties

Assume that L coincides with the x-axis. Then the leftmost and rightmost vertices of a monotone polygon decompose its boundary into two monotone polygonal chains such that when the vertices of any chain are being traversed in their natural order, their X-coordinates are monotonically increasing or decreasing. In fact, this property may be taken for the definition of monotone polygon and it gives the polygon its name.

A convex polygon is monotone with respect to any straight line.

A linear time algorithm is known to report all directions in which a given simple polygon is monotone.[2]

Point in polygon queries with respect to a monotone polygon may be answered in logarithmic time after linear time preprocessing (to find the leftmost and rightmost vertices).[1]

A monotone polygon may be easily triangulated in linear time.[3]

For a given set of points in the plane, a bitonic tour is a monotone polygon that connects the points. The minimum perimeter bitonic tour for a given point set with respect to a fixed direction may be found in polynomial time using dynamic programming.[4] It it is easily shown that such a minimal bitonic tour is a simple polygon: a pair of crossing edges my be replaced with a shorter non-crossing pair while preserving the bitonicity of the new tour.

Breaking a polygon into monotone polygons

A simple polygon may be easily cut into monotone polygons in O(n log n) time. However since a triangle is a monotone polygon, polygon triangulation is in fact cutting a polygon into monotone ones, and it may be performed in O(n) time.

Cutting a simple polygon into the minimal number of uniformly monotone polygons (i.e., monotone with respect to the same line) can be performed in polynomial time.[5]

See also

References

  1. ^ a b Franco P. Preparata and Michael Ian Shamos (1985). Computational Geometry - An Introduction. Springer-Verlag. 1st edition: ISBN 0-387-96131-3; 2nd printing, corrected and expanded, 1988: ISBN 3-540-96131-3; Russian translation, 1989: ISBN 5-03-001041-6.
  2. ^ F. Preparata and K. Supowit. Testing a simple polygon for monotonicity Information Proc. Letters, 12(4):161–164, 1981.
  3. ^ Fournier, A.; Montuno, D. Y. (1984), "Triangulating simple polygons and equivalent problems", ACM Transactions on Graphics, 3 (2): 153–174, doi:10.1145/357337.357341, ISSN 0730-0301
  4. ^ Introduction to Algorithms, 2nd ed., T. H. Cormen, C. E. Leiserson, R. Rivest, and C. Stein, MIT Press, 2001. Problem 15-1, p. 364.
  5. ^ "On decomposing polygons into uniformly monotone parts" (1988)