Polygon triangulation
   HOME

TheInfoList



OR:

In
computational geometry Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems ar ...
, polygon triangulation is the partition of a polygonal area ( simple polygon) into a set of triangles, i.e., finding a set of triangles with pairwise non-intersecting interiors whose union is . Triangulations may be viewed as special cases of
planar straight-line graph In computational geometry and geometric graph theory, a planar straight-line graph, in short ''PSLG'', (or ''straight-line plane graph'', or ''plane straight-line graph'') is a term used for an embedding of a planar graph in the plane such that ...
s. When there are no holes or added points, triangulations form maximal outerplanar graphs.


Polygon triangulation without extra vertices

Over time, a number of algorithms have been proposed to triangulate a polygon.


Special cases

It is trivial to triangulate any convex polygon in
linear time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
into a
fan triangulation 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 usua ...
, by adding diagonals from one vertex to all other non-nearest neighbor vertices. The total number of ways to triangulate a convex ''n''-gon by non-intersecting diagonals is the (''n''−2)nd Catalan number, which equals :\frac, a formula found by
Leonhard Euler Leonhard Euler ( , ; 15 April 170718 September 1783) was a Swiss mathematician, physicist, astronomer, geographer, logician and engineer who founded the studies of graph theory and topology and made pioneering and influential discoveries ...
. A
monotone polygon 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 the boundary of ''P'' at most twice. Similarly, a polygonal chain ''C'' is called monotone with res ...
can be triangulated in linear time with either the algorithm of A. Fournier and D.Y. Montuno, or the algorithm of Godfried Toussaint.


Ear clipping method

One way to triangulate a simple polygon is based on the two ears theorem, as the fact that any simple polygon with at least 4 vertices without holes has at least two ' ears', which are triangles with two sides being the edges of the polygon and the third one completely inside it. The algorithm then consists of finding such an ear, removing it from the polygon (which results in a new polygon that still meets the conditions) and repeating until there is only one triangle left. This algorithm is easy to implement, but slower than some other algorithms, and it only works on polygons without holes. An implementation that keeps separate lists of convex and concave vertices will run in time. This method is known as ''ear clipping'' and sometimes ''ear trimming''. An efficient algorithm for cutting off ears was discovered by Hossam ElGindy, Hazel Everett, and Godfried Toussaint.


Monotone polygon triangulation

A simple polygon is monotone with respect to a line , if any line orthogonal to intersects the polygon at most twice. A monotone polygon can be split into two monotone ''chains''. A polygon that is monotone with respect to the y-axis is called ''y-monotone''. A monotone polygon with vertices can be triangulated in time. Assuming a given polygon is y-monotone, the greedy algorithm begins by walking on one chain of the polygon from top to bottom while adding diagonals whenever it is possible. It is easy to see that the algorithm can be applied to any monotone polygon.


Triangulating a non-monotone polygon

If a polygon is not monotone, it can be partitioned into monotone subpolygons in time using a sweep-line approach. The algorithm does not require the polygon to be simple, thus it can be applied to polygons with holes. Generally, this algorithm can triangulate a planar subdivision with vertices in time using space.


Dual graph of a triangulation

A useful graph that is often associated with a triangulation of a polygon is the dual graph. Given a triangulation of , one defines the graph as the graph whose vertex set are the triangles of , two vertices (triangles) being adjacent if and only if they share a diagonal. It is easy to observe that is a
tree In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are ...
with maximum degree 3.


Computational complexity

Until 1988, whether a simple polygon can be triangulated faster than time was an open problem in computational geometry. Then, discovered an -time algorithm for triangulation, later simplified by . Several improved methods with complexity (in practice, indistinguishable from
linear time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
) followed.
Bernard Chazelle Bernard Chazelle (born November 5, 1955) is a French-American computer scientist. He is currently the Eugene Higgins Professor of Computer Science at Princeton University. Much of his work is in computational geometry, where he is known for hi ...
showed in 1991 that any simple polygon can be triangulated in linear time, though the proposed algorithm is very complex. A simpler randomized algorithm with linear expected time is also known. Seidel's decomposition algorithm and Chazelle's triangulation method are discussed in detail in . The
time complexity In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
of triangulation of an -vertex polygon ''with'' holes has an
lower bound In mathematics, particularly in order theory, an upper bound or majorant of a subset of some preordered set is an element of that is greater than or equal to every element of . Dually, a lower bound or minorant of is defined to be an elemen ...
, in algebraic computation tree models of computation. It is possible to compute the number of distinct triangulations of a simple polygon in polynomial time using
dynamic programming Dynamic programming is both a mathematical optimization method and a computer programming method. The method was developed by Richard Bellman in the 1950s and has found applications in numerous fields, from aerospace engineering to economics. ...
, and (based on this counting algorithm) to generate uniformly random triangulations in polynomial time. However, counting the triangulations of a polygon with holes is #P-complete, making it unlikely that it can be done in polynomial time.


Related objects and problems

* Both triangulation problems are a special case of triangulation (geometry) and a special case of
polygon partition In geometry, a partition of a polygon is a set of primitive units (e.g. squares), which do not overlap and whose union equals the polygon. A polygon partition problem is a problem of finding a partition which is minimal in some sense, for exampl ...
. * Minimum-weight triangulation is a triangulation in which the goal is to minimize the total edge length. * A point-set triangulation is a polygon triangulation of the convex hull of a set of points. A Delaunay triangulation is another way to create a triangulation based on a set of points. * The associahedron is a polytope whose vertices correspond to the triangulations of a convex polygon. * Polygon triangle covering, in which the triangles may overlap. * Tiling by polygons, where the goal is to cover the entire plane with polygons of pre-specified shapes.


See also

* Nonzero-rule * Catalan number *
Planar graph In graph theory, a planar graph is a graph that can be embedded in the plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. In other words, it can be drawn in such a way that no edges cro ...
*
Flip graph In mathematics, a flip graph is a graph whose vertices are combinatorial or geometric objects, and whose edges link two of these objects when they can be obtained from one another by an elementary operation called a flip. Flip graphs are speci ...


References


External links


Demo as Flash swf
A Sweep Line algorithm.

{{DEFAULTSORT:Polygon Triangulation Triangulation (geometry)