Point set triangulation
A triangulation of a set of points [math]\displaystyle{ \mathcal{P} }[/math] in the Euclidean space [math]\displaystyle{ \mathbb{R}^d }[/math] is a simplicial complex that covers the convex hull of [math]\displaystyle{ \mathcal{P} }[/math], and whose vertices belong to [math]\displaystyle{ \mathcal{P} }[/math].[1] In the plane (when [math]\displaystyle{ \mathcal{P} }[/math] is a set of points in [math]\displaystyle{ \mathbb{R}^2 }[/math]), triangulations are made up of triangles, together with their edges and vertices. Some authors require that all the points of [math]\displaystyle{ \mathcal{P} }[/math] are vertices of its triangulations.[2] In this case, a triangulation of a set of points [math]\displaystyle{ \mathcal{P} }[/math] in the plane can alternatively be defined as a maximal set of non-crossing edges between points of [math]\displaystyle{ \mathcal{P} }[/math]. In the plane, triangulations are special cases of planar straight-line graphs.
A particularly interesting kind of triangulations are the Delaunay triangulations. They are the geometric duals of Voronoi diagrams. The Delaunay triangulation of a set of points [math]\displaystyle{ \mathcal{P} }[/math] in the plane contains the Gabriel graph, the nearest neighbor graph and the minimal spanning tree of [math]\displaystyle{ \mathcal{P} }[/math].
Triangulations have a number of applications, and there is an interest to find the "good" triangulations of a given point set under some criteria as, for instance minimum-weight triangulations. Sometimes it is desirable to have a triangulation with special properties, e.g., in which all triangles have large angles (long and narrow ("splinter") triangles are avoided).[3]
Given a set of edges that connect points of the plane, the problem to determine whether they contain a triangulation is NP-complete.[4]
Regular triangulations
Some triangulations of a set of points [math]\displaystyle{ \mathcal{P}\subset\mathbb{R}^d }[/math] can be obtained by lifting the points of [math]\displaystyle{ \mathcal{P} }[/math] into [math]\displaystyle{ \mathbb{R}^{d+1} }[/math] (which amounts to add a coordinate [math]\displaystyle{ x_{d+1} }[/math] to each point of [math]\displaystyle{ \mathcal{P} }[/math]), by computing the convex hull of the lifted set of points, and by projecting the lower faces of this convex hull back on [math]\displaystyle{ \mathbb{R}^d }[/math]. The triangulations built this way are referred to as the regular triangulations of [math]\displaystyle{ \mathcal{P} }[/math]. When the points are lifted to the paraboloid of equation [math]\displaystyle{ x_{d+1} = x_1^2+\cdots+x_d^2 }[/math], this construction results in the Delaunay triangulation of [math]\displaystyle{ \mathcal{P} }[/math]. Note that, in order for this construction to provide a triangulation, the lower convex hull of the lifted set of points needs to be simplicial. In the case of Delaunay triangulations, this amounts to require that no [math]\displaystyle{ d+2 }[/math] points of [math]\displaystyle{ \mathcal{P} }[/math] lie in the same sphere.
Combinatorics in the plane
Every triangulation of any set [math]\displaystyle{ \mathcal{P} }[/math] of [math]\displaystyle{ n }[/math] points in the plane has [math]\displaystyle{ 2n - h - 2 }[/math] triangles and [math]\displaystyle{ 3n - h - 3 }[/math] edges where [math]\displaystyle{ h }[/math] is the number of points of [math]\displaystyle{ \mathcal{P} }[/math] in the boundary of the convex hull of [math]\displaystyle{ \mathcal{P} }[/math]. This follows from a straightforward Euler characteristic argument.[5]
Algorithms to build triangulations in the plane
Triangle Splitting Algorithm : Find the convex hull of the point set [math]\displaystyle{ \mathcal{P} }[/math] and triangulate this hull as a polygon. Choose an interior point and draw edges to the three vertices of the triangle that contains it. Continue this process until all interior points are exhausted.[6]
Incremental Algorithm : Sort the points of [math]\displaystyle{ \mathcal{P} }[/math] according to x-coordinates. The first three points determine a triangle. Consider the next point [math]\displaystyle{ p }[/math] in the ordered set and connect it with all previously considered points [math]\displaystyle{ \{p_1,..., p_k\} }[/math] which are visible to p. Continue this process of adding one point of [math]\displaystyle{ \mathcal{P} }[/math] at a time until all of [math]\displaystyle{ \mathcal{P} }[/math] has been processed.[7]
Time complexity of various algorithms
The following table reports time complexity results for the construction of triangulations of point sets in the plane, under different optimality criteria, where [math]\displaystyle{ n }[/math] is the number of points.
minimize | maximize | ||
---|---|---|---|
minimum | angle | [math]\displaystyle{ O(n \log n) }[/math] (Delaunay triangulation) | |
maximum | [math]\displaystyle{ O(n^2 \log n) }[/math] [8] [9] | ||
minimum | area | [math]\displaystyle{ O(n^2) }[/math] [10] | [math]\displaystyle{ O(n^2 \log n) }[/math] [11] |
maximum | [math]\displaystyle{ O(n^2 \log n) }[/math] [11] | ||
maximum | degree | NP-complete for degree of 7 [12] |
|
maximum | eccentricity | [math]\displaystyle{ O(n^3) }[/math] [9] | |
minimum | edge length | [math]\displaystyle{ O(n \log n) }[/math] (Closest pair of points problem) |
NP-complete [13] |
maximum | [math]\displaystyle{ O(n^2) }[/math] [14] | [math]\displaystyle{ O(n \log n) }[/math] (using the Convex hull) | |
sum of | NP-hard (Minimum-weight triangulation) |
||
minimum | height | [math]\displaystyle{ O(n^2 \log n) }[/math] [9] | |
maximum | slope | [math]\displaystyle{ O(n^3) }[/math] [9] |
See also
Notes
- ↑ Triangulations, Structures for Algorithms and Applications. Algorithms and Computation in Mathematics. 25. Springer. 2010.
- ↑ de Berg et al. 2008, Section 9.1.
- ↑ de Berg, Mark (2008). Computational Geometry: Algorithms and Applications. Springer-Verlag. http://www.cs.uu.nl/geobook/interpolation.pdf.
- ↑ Lloyd 1977.
- ↑ "An O(n2 log n) time algorithm for the minmax angle triangulation", SIAM Journal on Scientific and Statistical Computing 13 (4): 994–1008, 1992, doi:10.1137/0913058.
- ↑ Devadoss, O'Rourke Discrete and Computational Geometry. Princeton University Press, 2011, p. 60.
- ↑ Devadoss, O'Rourke Discrete and Computational Geometry. Princeton University Press, 2011, p. 62.
- ↑ Edelsbrunner, Tan & Waupotitsch 1990.
- ↑ 9.0 9.1 9.2 9.3 Bern et al. 1993.
- ↑ Chazelle, Guibas & Lee 1985.
- ↑ 11.0 11.1 Vassilev 2005.
- ↑ Jansen 1992.
- ↑ Fekete 2012.
- ↑ Edelsbrunner & Tan 1991.
References
- Bern, M. (1993), "Edge insertion for optimal triangulations", Discrete and Computational Geometry 10 (1): 47–65, doi:10.1007/BF02573962
- Chazelle, Bernard; Guibas, Leo J.; Lee, D. T. (1985). "The power of geometric duality". BIT (BIT Computer Science and Numerical Mathematics) 25 (1): 76–90. doi:10.1007/BF01934990. ISSN 0006-3835. http://www.cs.princeton.edu/~chazelle/pubs/PowerDuality.pdf.
- de Berg, Mark; van Kreveld, Marc; Overmars, Mark; Schwarzkopf, Otfried (2008). Computational Geometry: Algorithms and Applications (3 ed.). Springer-Verlag. http://www.cs.uu.nl/geobook/.
- O'Rourke, Joseph (2011). Discrete and Computational Geometry (1 ed.). Princeton University Press.
- Edelsbrunner, Herbert; Tan, Tiow Seng; Waupotitsch, Roman (1990). "An O(n2log n) time algorithm for the MinMax angle triangulation". Proceedings of the sixth annual symposium on Computational geometry. ACM. pp. 44–52. doi:10.1145/98524.98535. ISBN 0-89791-362-0.
- Edelsbrunner, Herbert; Tan, Tiow Seng (1991). "A quadratic time algorithm for the minmax length triangulation". 32nd Annual Symposium on Foundations of Computer Science. pp. 414–423. doi:10.1109/SFCS.1991.185400. ISBN 0-8186-2445-0.
- Fekete, Sándor P. (2012). "The Complexity of MaxMin Length Triangulation". arXiv:1208.0202v1 [cs.CG].CS1 maint: ref=harv (link)
- Jansen, Klaus (1992). "The Complexity of the Min-max Degree Triangulation Problem". 9th European Workshop on Computational Geometry. pp. 40–43. http://tizian.cs.uni-bonn.de/EuroCG93/j-cmmdt-93.pdf.
- Lloyd, Errol Lynn (1977). "On triangulations of a set of points in the plane". 18th Annual Symposium on Foundations of Computer Science. 228–240. doi:10.1109/SFCS.1977.21.
- Vassilev, Tzvetalin Simeonov (2005). Optimal Area Triangulation (PDF) (Ph.D.). University of Saskatchewan, Saskatoon. Archived from the original (PDF) on 2017-08-13. Retrieved 2013-06-15.CS1 maint: ref=harv (link)
de:Gitter (Geometrie)#Dreiecksgitter