Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Simple polygon
Shape bounded by non-intersecting line segments

In geometry, a simple polygon is a Jordan curve made of line segments that does not intersect itself or have holes. Special cases include convex and star-shaped polygons. The sum of its external angles is 2π, and any simple polygon with n sides can be triangulated using n−3 diagonals. According to the art gallery theorem, its interior is visible from at most ⌊n/3⌋ vertices. Simple polygons are fundamental in computational geometry, used in tasks like point-in-polygon testing, area computation, convex hull, and shortest path problems.

Related Image Collections Add Image
We don't have any YouTube videos related to Simple polygon yet.
We don't have any PDF documents related to Simple polygon yet.
We don't have any Books related to Simple polygon yet.
We don't have any archived web articles related to Simple polygon yet.

Definitions

A simple polygon is a closed curve in the Euclidean plane consisting of straight line segments, meeting end-to-end to form a polygonal chain.1 Two line segments meet at every endpoint, and there are no other points of intersection between the line segments. No proper subset of the line segments has the same properties.2 The qualifier simple is sometimes omitted, with the word polygon assumed to mean a simple polygon.3

The line segments that form a polygon are called its edges or sides. An endpoint of a segment is called a vertex (plural: vertices)4 or a corner. Edges and vertices are more formal, but may be ambiguous in contexts that also involve the edges and vertices of a graph; the more colloquial terms sides and corners can be used to avoid this ambiguity.5 The number of edges always equals the number of vertices.6 Some sources allow two line segments to form a straight angle (180°),7 while others disallow this, instead requiring collinear segments of a closed polygonal chain to be merged into a single longer side.8 Two vertices are neighbors if they are the two endpoints of one of the sides of the polygon.9

Simple polygons are sometimes called Jordan polygons, because they are Jordan curves; the Jordan curve theorem can be used to prove that such a polygon divides the plane into two regions.10 Indeed, Camille Jordan's original proof of this theorem took the special case of simple polygons (stated without proof) as its starting point.11 The region inside the polygon (its interior) forms a bounded set12 topologically equivalent to an open disk by the Jordan–Schönflies theorem,13 with a finite but nonzero area.14 The polygon itself is topologically equivalent to a circle,15 and the region outside (the exterior) is an unbounded connected open set, with infinite area.16 Although the formal definition of a simple polygon is typically as a system of line segments, it is also possible (and common in informal usage) to define a simple polygon as a closed set in the plane, the union of these line segments with the interior of the polygon.17

A diagonal of a simple polygon is any line segment that has two polygon vertices as its endpoints, and that otherwise is entirely interior to the polygon.18

Properties

The internal angle of a simple polygon, at one of its vertices, is the angle spanned by the interior of the polygon at that vertex. A vertex is convex if its internal angle is less than π {\displaystyle \pi } (a straight angle, 180°) and concave if the internal angle is greater than π {\displaystyle \pi } . If the internal angle is θ {\displaystyle \theta } , the external angle at the same vertex is defined to be its supplement π − θ {\displaystyle \pi -\theta } , the turning angle from one directed side to the next. The external angle is positive at a convex vertex or negative at a concave vertex. For every simple polygon, the sum of the external angles is 2 π {\displaystyle 2\pi } (one full turn, 360°). Thus the sum of the internal angles, for a simple polygon with n {\displaystyle n} sides is ( n − 2 ) π {\displaystyle (n-2)\pi } .19

Every simple polygon can be partitioned into non-overlapping triangles by a subset of its diagonals. When the polygon has n {\displaystyle n} sides, this produces n − 2 {\displaystyle n-2} triangles, separated by n − 3 {\displaystyle n-3} diagonals. The resulting partition is called a polygon triangulation.20 The shape of a triangulated simple polygon can be uniquely determined by the internal angles of the polygon and by the cross-ratios of the quadrilaterals formed by pairs of triangles that share a diagonal.21

According to the two ears theorem, every simple polygon that is not a triangle has at least two ears, vertices whose two neighbors are the endpoints of a diagonal.22 A related theorem states that every simple polygon that is not a convex polygon has a mouth, a vertex whose two neighbors are the endpoints of a line segment that is otherwise entirely exterior to the polygon. The polygons that have exactly two ears and one mouth are called anthropomorphic polygons.23

According to the art gallery theorem, in a simple polygon with n {\displaystyle n} vertices, it is always possible to find a subset of at most ⌊ n / 3 ⌋ {\displaystyle \lfloor n/3\rfloor } of the vertices with the property that every point in the polygon is visible from one of the selected vertices. This means that, for each point p {\displaystyle p} in the polygon, there exists a line segment connecting p {\displaystyle p} to a selected vertex, passing only through interior points of the polygon. One way to prove this is to use graph coloring on a triangulation of the polygon: it is always possible to color the vertices with three colors, so that each side or diagonal in the triangulation has two endpoints of different colors. Each point of the polygon is visible to a vertex of each color, for instance one of the three vertices of the triangle containing that point in the chosen triangulation. One of the colors is used by at most ⌊ n / 3 ⌋ {\displaystyle \lfloor n/3\rfloor } of the vertices, proving the theorem.24

Special cases

Every convex polygon is a simple polygon. Another important class of simple polygons are the star-shaped polygons, the polygons that have a point (interior or on their boundary) from which every point is visible.25

A monotone polygon, with respect to a straight line L {\displaystyle L} , is a polygon for which every line perpendicular to L {\displaystyle L} intersects the interior of the polygon in a connected set. Equivalently, it is a polygon whose boundary can be partitioned into two monotone polygonal chains, subsequences of edges whose vertices, when projected perpendicularly onto L {\displaystyle L} , have the same order along L {\displaystyle L} as they do in the chain.26

Computational problems

In computational geometry, several important computational tasks involve inputs in the form of a simple polygon.

  • Point in polygon testing involves determining, for a simple polygon P {\displaystyle P} and a query point q {\displaystyle q} , whether q {\displaystyle q} lies interior to P {\displaystyle P} . It can be solved in linear time; alternatively, it is possible to process a given polygon into a data structure, in linear time, so that subsequent point in polygon tests can be performed in logarithmic time.27
  • Simple formulae are known for computing the area of the interior of a polygon. These include the shoelace formula for arbitrary polygons,28 and Pick's theorem for polygons with integer vertex coordinates.2930
  • The convex hull of a simple polygon can also be found in linear time, faster than algorithms for finding convex hulls of points that have not been connected into a polygon.31
  • Constructing a triangulation of a simple polygon can also be performed in linear time, although the algorithm is complicated. A modification of the same algorithm can also be used to test whether a closed polygonal chain forms a simple polygon (that is, whether it avoids self-intersections) in linear time.32 This also leads to a linear time algorithm for solving the art gallery problem using at most ⌊ n / 3 ⌋ {\displaystyle \lfloor n/3\rfloor } points, although not necessarily using the optimal number of points for a given polygon.33 Although it is possible to transform any two triangulations of the same polygon into each other by flips that replace one diagonal at a time, determining whether one can do so using only a limited number of flips is NP-complete.34
  • A geodesic path,35 the shortest path in the plane that connects two points interior to a polygon, without crossing to the exterior, may be found in linear time by an algorithm that uses triangulation as a subroutine.36 The same is true for the geodesic center, a point in the polygon that minimizes the maximum length of its geodesic paths to all other points.37
  • The visibility polygon of an interior point of a simple polygon, the points that are directly visible from the given point by line segments interior to the polygon, can be constructed in linear time.38 The same is true for the subset that is visible from at least one point of a given line segment.39

Other computational problems studied for simple polygons include constructions of the longest diagonal or the longest line segment interior to a polygon,40 of the convex skull (the largest convex polygon within the given simple polygon),4142 and of various one-dimensional skeletons approximating its shape, including the medial axis43 and straight skeleton.44 Researchers have also studied producing other polygons from simple polygons using their offset curves,45 unions and intersections,46 and Minkowski sums,47 but these operations do not always produce a simple polygon as their result. They can be defined in a way that always produces a two-dimensional region, but this requires careful definitions of the intersection and difference operations in order to avoid creating one-dimensional features or isolated points.48

According to the Riemann mapping theorem, any simply connected open subset of the plane can be conformally mapped onto a disk. Schwarz–Christoffel mapping provides a method to explicitly construct a map from a disk to any simple polygon using specified vertex angles and pre-images of the polygon vertices on the boundary of the disk. These pre-vertices are typically computed numerically.49

Every finite set of points in the plane that does not lie on a single line can be connected to form the vertices of a simple polygon (allowing 180° angles); for instance, one such polygon is the solution to the traveling salesperson problem.50 Connecting points to form a polygon in this way is called polygonalization.51

Every simple polygon can be represented by a formula in constructive solid geometry that constructs the polygon (as a closed set including the interior) from unions and intersections of half-planes, with each side of the polygon appearing once as a half-plane in the formula. Converting an n {\displaystyle n} -sided polygon into this representation can be performed in time O ( n log ⁡ n ) {\displaystyle O(n\log n)} .52

The visibility graph of a simple polygon connects its vertices by edges representing the sides and diagonals of the polygon.53 It always contains a Hamiltonian cycle, formed by the polygon sides. The computational complexity of reconstructing a polygon that has a given graph as its visibility graph, with a specified Hamiltonian cycle as its cycle of sides, remains an open problem.54

See also

References

  1. Milnor, John W. (1950). "On the total curvature of knots". Annals of Mathematics. 2nd Series. 52: 248–257. doi:10.2307/1969467. /wiki/Doi_(identifier)

  2. Preparata, Franco P.; Shamos, Michael Ian (1985). Computational Geometry: An Introduction. Texts and Monographs in Computer Science. Springer-Verlag. p. 18. doi:10.1007/978-1-4612-1098-6. ISBN 978-1-4612-1098-6. 978-1-4612-1098-6

  3. Everett, Hazel; Corneil, Derek (1995). "Negative results on characterizing visibility graphs". Computational Geometry: Theory & Applications. 5 (2): 51–63. doi:10.1016/0925-7721(95)00021-Z. MR 1353288. /wiki/Derek_Corneil

  4. Preparata, Franco P.; Shamos, Michael Ian (1985). Computational Geometry: An Introduction. Texts and Monographs in Computer Science. Springer-Verlag. p. 18. doi:10.1007/978-1-4612-1098-6. ISBN 978-1-4612-1098-6. 978-1-4612-1098-6

  5. Aronov, Boris; Seidel, Raimund; Souvaine, Diane (1993). "On compatible triangulations of simple polygons". Computational Geometry: Theory & Applications. 3 (1): 27–35. doi:10.1016/0925-7721(93)90028-5. MR 1222755. /wiki/Boris_Aronov

  6. Preparata, Franco P.; Shamos, Michael Ian (1985). Computational Geometry: An Introduction. Texts and Monographs in Computer Science. Springer-Verlag. p. 18. doi:10.1007/978-1-4612-1098-6. ISBN 978-1-4612-1098-6. 978-1-4612-1098-6

  7. Malkevitch, Joseph (2016). "Are precise definitions a good idea?". AMS Feature Column. American Mathematical Society. https://www.ams.org/publicoutreach/feature-column/fc-2016-01

  8. McCallum, Duncan; Avis, David (1979). "A linear algorithm for finding the convex hull of a simple polygon". Information Processing Letters. 9 (5): 201–206. doi:10.1016/0020-0190(79)90069-3. MR 0552534. /wiki/David_Avis

  9. de Berg, M.; van Kreveld, M.; Overmars, Mark; Schwarzkopf, O. (2008). Computational Geometry: Algorithms and Applications (3rd ed.). Springer. p. 58. doi:10.1007/978-3-540-77974-2. /wiki/Mark_de_Berg

  10. Meisters, G. H. (1975). "Polygons have ears". The American Mathematical Monthly. 82 (6): 648–651. doi:10.2307/2319703. JSTOR 2319703. MR 0367792. /wiki/The_American_Mathematical_Monthly

  11. Hales, Thomas C. (2007). "Jordan's proof of the Jordan curve theorem" (PDF). From Insight to Proof: Festschrift in Honour of Andrzej Trybulec. Studies in Logic, Grammar and Rhetoric. 10 (23). University of Białystok. /wiki/Thomas_Callister_Hales

  12. Preparata, Franco P.; Shamos, Michael Ian (1985). Computational Geometry: An Introduction. Texts and Monographs in Computer Science. Springer-Verlag. p. 18. doi:10.1007/978-1-4612-1098-6. ISBN 978-1-4612-1098-6. 978-1-4612-1098-6

  13. Thomassen, Carsten (1992). "The Jordan-Schönflies theorem and the classification of surfaces". The American Mathematical Monthly. 99 (2): 116–130. doi:10.1080/00029890.1992.11995820. JSTOR 2324180. MR 1144352. /wiki/Carsten_Thomassen_(mathematician)

  14. Margalit, Avraham; Knott, Gary D. (1989). "An algorithm for computing the union, intersection or difference of two polygons". Computers & Graphics. 13 (2): 167–183. doi:10.1016/0097-8493(89)90059-9. /wiki/Doi_(identifier)

  15. Niven, Ivan; Zuckerman, H. S. (1967). "Lattice points and polygonal area". The American Mathematical Monthly. 74 (10): 1195–1200. doi:10.1080/00029890.1967.12000095. JSTOR 2315660. MR 0225216. /wiki/Ivan_M._Niven

  16. Margalit, Avraham; Knott, Gary D. (1989). "An algorithm for computing the union, intersection or difference of two polygons". Computers & Graphics. 13 (2): 167–183. doi:10.1016/0097-8493(89)90059-9. /wiki/Doi_(identifier)

  17. Preparata, Franco P.; Shamos, Michael Ian (1985). Computational Geometry: An Introduction. Texts and Monographs in Computer Science. Springer-Verlag. p. 18. doi:10.1007/978-1-4612-1098-6. ISBN 978-1-4612-1098-6. 978-1-4612-1098-6

  18. Aggarwal, Alok; Suri, Subhash (1990). "Computing the longest diagonal of a simple polygon". Information Processing Letters. 35 (1): 13–18. doi:10.1016/0020-0190(90)90167-V. MR 1069001. /wiki/Subhash_Suri

  19. Richmond, Bettina; Richmond, Thomas (2023). A Discrete Transition to Advanced Mathematics. Pure and Applied Undergraduate Texts. Vol. 63 (2nd ed.). American Mathematical Society. p. 421. ISBN 9781470472047. 9781470472047

  20. Meisters, G. H. (1975). "Polygons have ears". The American Mathematical Monthly. 82 (6): 648–651. doi:10.2307/2319703. JSTOR 2319703. MR 0367792. /wiki/The_American_Mathematical_Monthly

  21. Snoeyink, Jack (1999). "Cross-ratios and angles determine a polygon". Discrete & Computational Geometry. 22 (4): 619–631. doi:10.1007/PL00009481. MR 1721028. https://doi.org/10.1007%2FPL00009481

  22. Meisters, G. H. (1975). "Polygons have ears". The American Mathematical Monthly. 82 (6): 648–651. doi:10.2307/2319703. JSTOR 2319703. MR 0367792. /wiki/The_American_Mathematical_Monthly

  23. Toussaint, Godfried (1991). "Anthropomorphic polygons". The American Mathematical Monthly. 98 (1): 31–35. doi:10.2307/2324033. JSTOR 2324033. MR 1083611. /wiki/Godfried_Toussaint

  24. Fisk, S. (1978). "A short proof of Chvátal's watchman theorem". Journal of Combinatorial Theory, Series B. 24 (3): 374. doi:10.1016/0095-8956(78)90059-X. https://doi.org/10.1016%2F0095-8956%2878%2990059-X

  25. Preparata, Franco P.; Shamos, Michael Ian (1985). Computational Geometry: An Introduction. Texts and Monographs in Computer Science. Springer-Verlag. p. 18. doi:10.1007/978-1-4612-1098-6. ISBN 978-1-4612-1098-6. 978-1-4612-1098-6

  26. Preparata, Franco P.; Supowit, Kenneth J. (1981). "Testing a simple polygon for monotonicity". Information Processing Letters. 12 (4): 161–164. doi:10.1016/0020-0190(81)90091-0. /wiki/Franco_P._Preparata

  27. Snoeyink, Jack (2017). "Point Location" (PDF). In Toth, Csaba D.; O'Rourke, Joseph; Goodman, Jacob E. (eds.). Handbook of Discrete and Computational Geometry (3rd ed.). Chapman and Hall/CRC Press. pp. 1005–1023. ISBN 978-1-498-71139-5. 978-1-498-71139-5

  28. Braden, Bart (1986). "The surveyor's area formula" (PDF). The College Mathematics Journal. 17 (4): 326–337. doi:10.2307/2686282. JSTOR 2686282. Archived from the original (PDF) on 2012-11-07. https://web.archive.org/web/20121107190918/http://www.maa.org/pubs/Calc_articles/ma063.pdf

  29. Niven, Ivan; Zuckerman, H. S. (1967). "Lattice points and polygonal area". The American Mathematical Monthly. 74 (10): 1195–1200. doi:10.1080/00029890.1967.12000095. JSTOR 2315660. MR 0225216. /wiki/Ivan_M._Niven

  30. Grünbaum, Branko; Shephard, G. C. (February 1993). "Pick's theorem". The American Mathematical Monthly. 100 (2): 150–161. doi:10.2307/2323771. JSTOR 2323771. MR 1212401. /wiki/Branko_Gr%C3%BCnbaum

  31. McCallum, Duncan; Avis, David (1979). "A linear algorithm for finding the convex hull of a simple polygon". Information Processing Letters. 9 (5): 201–206. doi:10.1016/0020-0190(79)90069-3. MR 0552534. /wiki/David_Avis

  32. Chazelle, Bernard (1991). "Triangulating a simple polygon in linear time". Discrete & Computational Geometry. 6 (5): 485–524. doi:10.1007/BF02574703. MR 1115104. /wiki/Bernard_Chazelle

  33. Urrutia, Jorge (2000). "Art gallery and illumination problems". In Sack, Jörg-Rüdiger; Urrutia, Jorge (eds.). Handbook of Computational Geometry. Amsterdam: North-Holland. pp. 973–1027. doi:10.1016/B978-044482537-7/50023-1. ISBN 0-444-82537-1. MR 1746693. 0-444-82537-1

  34. Aichholzer, Oswin; Mulzer, Wolfgang; Pilz, Alexander (2015). "Flip distance between triangulations of a simple polygon is NP-complete". Discrete & Computational Geometry. 54 (2): 368–389. arXiv:1209.0579. doi:10.1007/s00454-015-9709-7. MR 3372115. /wiki/Discrete_%26_Computational_Geometry

  35. Ahn, Hee-Kap; Barba, Luis; Bose, Prosenjit; De Carufel, Jean-Lou; Korman, Matias; Oh, Eunjin (2016). "A linear-time algorithm for the geodesic center of a simple polygon". Discrete & Computational Geometry. 56 (4): 836–859. arXiv:1501.00561. doi:10.1007/s00454-016-9796-0. MR 3561791. /wiki/Jit_Bose

  36. Guibas, Leonidas; Hershberger, John; Leven, Daniel; Sharir, Micha; Tarjan, Robert E. (1987). "Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons". Algorithmica. 2 (2): 209–233. doi:10.1007/BF01840360. MR 0895445. /wiki/Leonidas_J._Guibas

  37. Ahn, Hee-Kap; Barba, Luis; Bose, Prosenjit; De Carufel, Jean-Lou; Korman, Matias; Oh, Eunjin (2016). "A linear-time algorithm for the geodesic center of a simple polygon". Discrete & Computational Geometry. 56 (4): 836–859. arXiv:1501.00561. doi:10.1007/s00454-016-9796-0. MR 3561791. /wiki/Jit_Bose

  38. El Gindy, Hossam; Avis, David (1981). "A linear algorithm for computing the visibility polygon from a point". Journal of Algorithms. 2 (2): 186–197. doi:10.1016/0196-6774(81)90019-5. /wiki/David_Avis

  39. Guibas, Leonidas; Hershberger, John; Leven, Daniel; Sharir, Micha; Tarjan, Robert E. (1987). "Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons". Algorithmica. 2 (2): 209–233. doi:10.1007/BF01840360. MR 0895445. /wiki/Leonidas_J._Guibas

  40. Aggarwal, Alok; Suri, Subhash (1990). "Computing the longest diagonal of a simple polygon". Information Processing Letters. 35 (1): 13–18. doi:10.1016/0020-0190(90)90167-V. MR 1069001. /wiki/Subhash_Suri

  41. Chang, J. S.; Yap, C.-K. (1986). "A polynomial solution for the potato-peeling problem". Discrete & Computational Geometry. 1 (2): 155–182. doi:10.1007/BF02187692. MR 0834056. https://doi.org/10.1007%2FBF02187692

  42. Cabello, Sergio; Cibulka, Josef; Kynčl, Jan; Saumell, Maria; Valtr, Pavel (2017). "Peeling potatoes near-optimally in near-linear time". SIAM Journal on Computing. 46 (5): 1574–1602. arXiv:1406.1368. doi:10.1137/16M1079695. MR 3708542. /wiki/SIAM_Journal_on_Computing

  43. Chin, Francis Y. L.; Snoeyink, Jack; Wang, Cao An (1999). "Finding the medial axis of a simple polygon in linear time". Discrete & Computational Geometry. 21 (3): 405–420. doi:10.1007/PL00009429. MR 1672988. /wiki/Francis_Y._L._Chin

  44. Cheng, Siu-Wing; Mencel, Liam; Vigneron, Antoine (2016). "A faster algorithm for computing straight skeletons". ACM Transactions on Algorithms. 12 (3): 44:1–44:21. arXiv:1405.4691. doi:10.1145/2898961. /wiki/ACM_Transactions_on_Algorithms

  45. Palfrader, Peter; Held, Martin (February 2015). "Computing mitered offset curves based on straight skeletons". Computer-Aided Design and Applications. 12 (4): 414–424. doi:10.1080/16864360.2014.997637. https://doi.org/10.1080%2F16864360.2014.997637

  46. Margalit, Avraham; Knott, Gary D. (1989). "An algorithm for computing the union, intersection or difference of two polygons". Computers & Graphics. 13 (2): 167–183. doi:10.1016/0097-8493(89)90059-9. /wiki/Doi_(identifier)

  47. Oks, Eduard; Sharir, Micha (2006). "Minkowski sums of monotone and general simple polygons". Discrete & Computational Geometry. 35 (2): 223–240. doi:10.1007/s00454-005-1206-y. MR 2195052. /wiki/Micha_Sharir

  48. Margalit, Avraham; Knott, Gary D. (1989). "An algorithm for computing the union, intersection or difference of two polygons". Computers & Graphics. 13 (2): 167–183. doi:10.1016/0097-8493(89)90059-9. /wiki/Doi_(identifier)

  49. Trefethen, Lloyd N.; Driscoll, Tobin A. (1998). "Schwarz–Christoffel mapping in the computer era". Proceedings of the International Congress of Mathematicians, Vol. III (Berlin, 1998). Documenta Mathematica. pp. 533–542. MR 1648186. /wiki/Nick_Trefethen

  50. Quintas, L. V.; Supnick, Fred (1965). "On some properties of shortest Hamiltonian circuits". The American Mathematical Monthly. 72 (9): 977–980. doi:10.2307/2313333. JSTOR 2313333. MR 0188872. /wiki/The_American_Mathematical_Monthly

  51. Demaine, Erik D.; Fekete, Sándor P.; Keldenich, Phillip; Krupke, Dominik; Mitchell, Joseph S. B. (2022). "Area-optimal simple polygonalizations: the CG challenge 2019". ACM Journal of Experimental Algorithmics. 27: A2.4:1–12. doi:10.1145/3504000. hdl:1721.1/146480. MR 4390039. /wiki/Erik_Demaine

  52. Dobkin, David; Guibas, Leonidas; Hershberger, John; Snoeyink, Jack (1993). "An efficient algorithm for finding the CSG representation of a simple polygon". Algorithmica. 10 (1): 1–23. doi:10.1007/BF01908629. MR 1230699. /wiki/David_P._Dobkin

  53. Everett, Hazel; Corneil, Derek (1995). "Negative results on characterizing visibility graphs". Computational Geometry: Theory & Applications. 5 (2): 51–63. doi:10.1016/0925-7721(95)00021-Z. MR 1353288. /wiki/Derek_Corneil

  54. Ghosh, Subir Kumar; Goswami, Partha P. (2013). "Unsolved problems in visibility graphs of points, segments, and polygons". ACM Computing Surveys. 46 (2): 22:1–22:29. arXiv:1012.5187. doi:10.1145/2543581.2543589. /wiki/ACM_Computing_Surveys