Simple polygon

Last updated

Two simple polygons (green and blue) and a self-intersecting polygon (red, in the lower right, not simple) Two simple polygons and a self-intersecting polygon.png
Two simple polygons (green and blue) and a self-intersecting polygon (red, in the lower right, not simple)

In geometry, a simple polygon is a polygon that does not intersect itself and has no holes. That is, it is a piecewise-linear Jordan curve consisting of finitely many line segments. These polygons include as special cases the convex polygons, star-shaped polygons, and monotone polygons.

Contents

The sum of external angles of a simple polygon is . Every simple polygon with sides can be triangulated by of its diagonals, and by the art gallery theorem its interior is visible from some of its vertices.

Simple polygons are commonly seen as the input to computational geometry problems, including point in polygon testing, area computation, the convex hull of a simple polygon, triangulation, and Euclidean shortest paths.

Other constructions in geometry related to simple polygons include Schwarz–Christoffel mapping, used to find conformal maps involving simple polygons, polygonalization of point sets, constructive solid geometry formulas for polygons, and visibility graphs of polygons.

Definitions

Parts of a simple polygon Parts of a simple polygon.png
Parts of a simple polygon

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) [2] 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. [4] The number of edges always equals the number of vertices. [2] Some sources allow two line segments to form a straight angle (180°), [5] while others disallow this, instead requiring collinear segments of a closed polygonal chain to be merged into a single longer side. [6] Two vertices are neighbors if they are the two endpoints of one of the sides of the polygon. [7]

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. [8] Indeed, Camille Jordan's original proof of this theorem took the special case of simple polygons (stated without proof) as its starting point. [9] The region inside the polygon (its interior) forms a bounded set [2] topologically equivalent to an open disk by the Jordan–Schönflies theorem, [10] with a finite but nonzero area. [11] The polygon itself is topologically equivalent to a circle, [12] and the region outside (the exterior) is an unbounded connected open set, with infinite area. [11] 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. [2]

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. [13]

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 (a straight angle, 180°) and concave if the internal angle is greater than . If the internal angle is , the external angle at the same vertex is defined to be its supplement , 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 (one full turn, 360°). Thus the sum of the internal angles, for a simple polygon with sides is . [14]

A triangulated polygon with 11 vertices: 11 sides and 8 diagonals form 9 triangles. Triangulation 3-coloring.svg
A triangulated polygon with 11 vertices: 11 sides and 8 diagonals form 9 triangles.

Every simple polygon can be partitioned into non-overlapping triangles by a subset of its diagonals. When the polygon has sides, this produces triangles, separated by diagonals. The resulting partition is called a polygon triangulation . [8] 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. [15]

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. [8] 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 . [16]

This 42-vertex polygonal art gallery is entirely visible from cameras placed at the 4 marked vertices. Art gallery problem.svg
This 42-vertex polygonal art gallery is entirely visible from cameras placed at the 4 marked vertices.

According to the art gallery theorem, in a simple polygon with vertices, it is always possible to find a subset of at most 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 in the polygon, there exists a line segment connecting 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 of the vertices, proving the theorem. [17]

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. [2]

A monotone polygon, with respect to a straight line , is a polygon for which every line perpendicular to 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 , have the same order along as they do in the chain. [18]

Computational problems

To test whether a point is inside the polygon, construct any ray emanating from the point and count its intersections with the polygon. If it crosses only interior points of edges, an odd number of times, the point lies inside the polygon; if even, the point lies outside. Rays through polygon vertices or containing its edges need special care. RecursiveEvenPolygon.svg
To test whether a point is inside the polygon, construct any ray emanating from the point and count its intersections with the polygon. If it crosses only interior points of edges, an odd number of times, the point lies inside the polygon; if even, the point lies outside. Rays through polygon vertices or containing its edges need special care.
A simple polygon (interior shaded blue) and its convex hull (surrounding both blue and yellow regions) Convex hull of a simple polygon.svg
A simple polygon (interior shaded blue) and its convex hull (surrounding both blue and yellow regions)

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

Other computational problems studied for simple polygons include constructions of the longest diagonal or the longest line segment interior to a polygon, [13] of the convex skull (the largest convex polygon within the given simple polygon), [29] [30] and of various one-dimensional skeletons approximating its shape, including the medial axis [31] and straight skeleton. [32] Researchers have also studied producing other polygons from simple polygons using their offset curves, [33] unions and intersections, [11] and Minkowski sums, [34] 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. [11]

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. [35]

The black polygon is the shortest loop connecting every red dot, a solution to the traveling salesperson problem. GLPK solution of a travelling salesman problem.svg
The black polygon is the shortest loop connecting every red dot, a solution to the traveling salesperson problem.

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. [36] Connecting points to form a polygon in this way is called polygonalization. [37]

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 -sided polygon into this representation can be performed in time . [38]

The visibility graph of a simple polygon connects its vertices by edges representing the sides and diagonals of the polygon. [3] 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. [39]

See also

Related Research Articles

<span class="mw-page-title-main">Convex hull</span> Smallest convex set containing a given set

In geometry, the convex hull or convex envelope or convex closure of a shape is the smallest convex set that contains it. The convex hull may be defined either as the intersection of all convex sets containing a given subset of a Euclidean space, or equivalently as the set of all convex combinations of points in the subset. For a bounded subset of the plane, the convex hull may be visualized as the shape enclosed by a rubber band stretched around the subset.

<span class="mw-page-title-main">Convex polygon</span> Polygon that is the boundary of a convex set

In geometry, a convex polygon is a polygon that is the boundary of a convex set. This means that the line segment between two points of the polygon is contained in the union of the interior and the boundary of the polygon. In particular, it is a simple polygon. Equivalently, a polygon is convex if every line that does not contain any edge intersects the polygon in at most two points.

<span class="mw-page-title-main">Polygon triangulation</span> Partition of a simple polygon into triangles

In computational geometry, polygon triangulation is the partition of a polygonal area P into a set of triangles, i.e., finding a set of triangles with pairwise non-intersecting interiors whose union is P.

<span class="mw-page-title-main">Triaugmented triangular prism</span> Convex polyhedron with 14 triangle faces

The triaugmented triangular prism, in geometry, is a convex polyhedron with 14 equilateral triangles as its faces. It can be constructed from a triangular prism by attaching equilateral square pyramids to each of its three square faces. The same shape is also called the tetrakis triangular prism, tricapped trigonal prism, tetracaidecadeltahedron, or tetrakaidecadeltahedron; these last names mean a polyhedron with 14 triangular faces. It is an example of a deltahedron and of a Johnson solid.

<span class="mw-page-title-main">Arrangement of lines</span> Subdivision of the plane by lines

In geometry, an arrangement of lines is the subdivision of the plane formed by a collection of lines. Problems of counting the features of arrangements have been studied in discrete geometry, and computational geometers have found algorithms for the efficient construction of arrangements.

<span class="mw-page-title-main">Euclidean minimum spanning tree</span> Shortest network connecting points

A Euclidean minimum spanning tree of a finite set of points in the Euclidean plane or higher-dimensional Euclidean space connects the points by a system of line segments with the points as endpoints, minimizing the total length of the segments. In it, any two points can reach each other along a path through the line segments. It can be found as the minimum spanning tree of a complete graph with the points as vertices and the Euclidean distances between points as edge weights.

The art gallery problem or museum problem is a well-studied visibility problem in computational geometry. It originates from the following real-world problem:

"In an art gallery, what is the minimum number of guards who together can observe the whole gallery?"

<span class="mw-page-title-main">Convex polytope</span> Convex hull of a finite set of points in a Euclidean space

A convex polytope is a special case of a polytope, having the additional property that it is also a convex set contained in the -dimensional Euclidean space . Most texts use the term "polytope" for a bounded convex polytope, and the word "polyhedron" for the more general, possibly unbounded object. Others allow polytopes to be unbounded. The terms "bounded/unbounded convex polytope" will be used below whenever the boundedness is critical to the discussed issue. Yet other texts identify a convex polytope with its boundary.

<span class="mw-page-title-main">Pseudotriangle</span>

In Euclidean plane geometry, a pseudotriangle (pseudo-triangle) is the simply connected subset of the plane that lies between any three mutually tangent convex sets. A pseudotriangulation (pseudo-triangulations) is a partition of a region of the plane into pseudotriangles, and a pointed pseudotriangulation is a pseudotriangulation in which at each vertex the incident edges span an angle of less than π.

In geometry, a vertex is a point where two or more curves, lines, or edges meet or intersect. As a consequence of this definition, the point where two lines meet to form an angle and the corners of polygons and polyhedra are vertices.

In polyhedral combinatorics, a branch of mathematics, Steinitz's theorem is a characterization of the undirected graphs formed by the edges and vertices of three-dimensional convex polyhedra: they are exactly the 3-vertex-connected planar graphs. That is, every convex polyhedron forms a 3-connected planar graph, and every 3-connected planar graph can be represented as the graph of a convex polyhedron. For this reason, the 3-connected planar graphs are also known as polyhedral graphs.

In computational geometry and computer science, the minimum-weight triangulation problem is the problem of finding a triangulation of minimal total edge length. That is, an input polygon or the convex hull of an input point set must be subdivided into triangles that meet edge-to-edge and vertex-to-vertex, in such a way as to minimize the sum of the perimeters of the triangles. The problem is NP-hard for point set inputs, but may be approximated to any desired degree of accuracy. For polygon inputs, it may be solved exactly in polynomial time. The minimum weight triangulation has also sometimes been called the optimal triangulation.

The Alexandrov uniqueness theorem is a rigidity theorem in mathematics, describing three-dimensional convex polyhedra in terms of the distances between points on their surfaces. It implies that convex polyhedra with distinct shapes from each other also have distinct metric spaces of surface distances, and it characterizes the metric spaces that come from the surface distances on polyhedra. It is named after Soviet mathematician Aleksandr Danilovich Aleksandrov, who published it in the 1940s.

In computational geometry, a constrained Delaunay triangulation is a generalization of the Delaunay triangulation that forces certain required segments into the triangulation as edges, unlike the Delaunay triangulation itself which is based purely on the position of a given set of vertices without regard to how they should be connected by edges. It can be computed efficiently and has applications in geographic information systems and in mesh generation.

In graph drawing and geometric graph theory, a Tutte embedding or barycentric embedding of a simple, 3-vertex-connected, planar graph is a crossing-free straight-line embedding with the properties that the outer face is a convex polygon and that each interior vertex is at the average of its neighbors' positions. If the outer polygon is fixed, this condition on the interior vertices determines their position uniquely as the solution to a system of linear equations. Solving the equations geometrically produces a planar embedding. Tutte's spring theorem, proven by W. T. Tutte (1963), states that this unique solution is always crossing-free, and more strongly that every face of the resulting planar embedding is convex. It is called the spring theorem because such an embedding can be found as the equilibrium position for a system of springs representing the edges of the graph.

<span class="mw-page-title-main">Opaque set</span> Shape that blocks all lines of sight

In discrete geometry, an opaque set is a system of curves or other set in the plane that blocks all lines of sight across a polygon, circle, or other shape. Opaque sets have also been called barriers, beam detectors, opaque covers, or opaque forests. Opaque sets were introduced by Stefan Mazurkiewicz in 1916, and the problem of minimizing their total length was posed by Frederick Bagemihl in 1959.

<span class="mw-page-title-main">Two ears theorem</span> Every simple polygon with more than three vertices has at least two ears

In geometry, the two ears theorem states that every simple polygon with more than three vertices has at least two ears, vertices that can be removed from the polygon without introducing any crossings. The two ears theorem is equivalent to the existence of polygon triangulations. It is frequently attributed to Gary H. Meisters, but was proved earlier by Max Dehn.

<span class="mw-page-title-main">Fan triangulation</span> Method of triangulating complex polygons

In computational geometry, a fan triangulation is a simple way to triangulate a polygon by choosing a vertex and drawing edges to all of the other vertices of the polygon. Not every polygon can be triangulated this way, so this method is usually only used for convex polygons.

<span class="mw-page-title-main">Polygonalization</span> Polygon through a set of points

In computational geometry, a polygonalization of a finite set of points in the Euclidean plane is a simple polygon with the given points as its vertices. A polygonalization may also be called a polygonization, simple polygonalization, Hamiltonian polygon, non-crossing Hamiltonian cycle, or crossing-free straight-edge spanning cycle.

Reverse-search algorithms are a class of algorithms for generating all objects of a given size, from certain classes of combinatorial objects. In many cases, these methods allow the objects to be generated in polynomial time per object, using only enough memory to store a constant number of objects. They work by organizing the objects to be generated into a spanning tree of their state space, and then performing a depth-first search of this tree.

References

  1. Milnor, John W. (1950). "On the total curvature of knots". Annals of Mathematics, 2nd Series. 52: 248–257. doi:10.2307/1969467.
  2. 1 2 3 4 5 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.
  3. 1 2 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.
  4. 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.
  5. Malkevitch, Joseph (2016). "Are precise definitions a good idea?". AMS Feature Column. American Mathematical Society.
  6. 1 2 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.
  7. 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.
  8. 1 2 3 Meisters, G. H. (1975). "Polygons have ears". The American Mathematical Monthly . 82 (6): 648–651. doi:10.2307/2319703. JSTOR   2319703. MR   0367792.
  9. 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 . University of Białystok. 10 (23).
  10. 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.
  11. 1 2 3 4 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.
  12. 1 2 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.
  13. 1 2 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.
  14. 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.
  15. Snoeyink, Jack (1999). "Cross-ratios and angles determine a polygon". Discrete & Computational Geometry . 22 (4): 619–631. doi: 10.1007/PL00009481 . MR   1721028.
  16. Toussaint, Godfried (1991). "Anthropomorphic polygons". The American Mathematical Monthly . 98 (1): 31–35. doi:10.2307/2324033. JSTOR   2324033. MR   1083611.
  17. 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 .
  18. 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.
  19. Schirra, Stefan (2008). "How reliable are practical point-in-polygon strategies?" (PDF). In Halperin, Dan; Mehlhorn, Kurt (eds.). Algorithms – ESA 2008, 16th Annual European Symposium, Karlsruhe, Germany, September 15–17, 2008. Proceedings. Lecture Notes in Computer Science. Vol. 5193. Springer. pp. 744–755. doi:10.1007/978-3-540-87744-8_62.
  20. 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. pp. 1005–1023.
  21. 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.
  22. 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.
  23. Chazelle, Bernard (1991). "Triangulating a simple polygon in linear time". Discrete & Computational Geometry . 6 (5): 485–524. doi: 10.1007/BF02574703 . MR   1115104.
  24. 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.
  25. 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.
  26. 1 2 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.
  27. 1 2 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.
  28. 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.
  29. 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.
  30. 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.
  31. 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.
  32. 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.
  33. 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 .
  34. 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.
  35. 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.
  36. 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.
  37. 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.
  38. 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.
  39. 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.