# Point set triangulation

A triangulation of a set of points P in the plane is a triangulation of the convex hull of P, with all points from P being among the vertices of the triangulation. Template:Sfn It can alternatively be defined as a subdivision of the plane determined by a maximal set of non-crossing edges whose vertex set is P. Triangulations are special cases of planar straight-line graphs.

There are special triangulations like the Delaunay triangulation which is the geometric dual of the Voronoi diagram. Subsets of the Delaunay triangulation are the Gabriel graph, nearest neighbor graph and the minimal spanning tree.

Triangulations have a number of applications, and there is an interest to find a "good" triangulation for a given point set under some criteria. One of them is a minimum-weight triangulation. 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).[1]

Given a set of edges that connect some pairs of the points, the problem to determine whether they contain a triangulation is NP-complete .Template:Sfn

## Triangulation and convex hull

A triangulation of the set S of n-dimensional points in general position may be derived from the convex hull of a set of points S1 in the space of dimension larger by 1 which are the projections of the original point set onto the paraboloid surface ${\displaystyle x_{n+1}=x_{1}^{2}+\cdots +x_{n}^{2}}$. One has to construct the convex hull of the set S1 and project it back onto the space of S. If points are not in general position, additional effort is required to triangulate the non-tetrahedral facets.

## Complexity of the triangulation

Every triangulation of any set ${\displaystyle P}$ of n points has: ${\displaystyle 2n-h-2}$ triangles and ${\displaystyle 3n-h-3}$ edges where ${\displaystyle h}$ is the number of vertices of ${\displaystyle ch(P)}$ (the convex hull of P).[2]

## Algorithms

Triangle Splitting Algorithm : Find the convex hull of the point set P 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.[3]

Incremental Algorithm : Sort the points of P according to x-coordinates. The first three points determine a triangle. Consider the next point ${\displaystyle p}$ in the ordered set and connect it with all previously considered points ${\displaystyle \{p_{1},...,p_{k}\}}$ which are visible to p. Continue this process of adding one point of P at a time until all of P has been processed.[4]

## Time complexity of various algorithms

The following is a table of time complexity results for different kinds of optimal point set triangulations.

minimize maximize
minimum angle ${\displaystyle O(n\log n)}$
(Delaunay triangulation)
maximum ${\displaystyle O(n^{2}\log n)}$ Template:Sfn Template:Sfn
minimum area ${\displaystyle O(n^{2})}$ Template:Sfn ${\displaystyle O(n^{2}\log n)}$ Template:Sfn
maximum ${\displaystyle O(n^{2}\log n)}$ Template:Sfn
maximum degree NP-complete
for degree of 7 Template:Sfn
maximum eccentricity ${\displaystyle O(n^{3})}$ Template:Sfn
minimum edge length ${\displaystyle O(n\log n)}$
(Closest pair of points problem)
NP-complete Template:Sfn
maximum ${\displaystyle O(n^{2})}$ Template:Sfn ${\displaystyle O(n\log n)}$
(using the Convex hull)
sum of NP-hard
(Minimum-weight triangulation)
minimum height ${\displaystyle O(n^{2}\log n)}$ Template:Sfn
maximum slope ${\displaystyle O(n^{3})}$ Template:Sfn

## Notes

1. {{#invoke:citation/CS1|citation |CitationClass=book }}
2. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
3. Devadoss, O'Rourke Discrete and Computational Geometry. Princeton University Press, 2011, p. 60.
4. Devadoss, O'Rourke Discrete and Computational Geometry. Princeton University Press, 2011, p. 62.

## References

• {{#invoke:citation/CS1|citation

|CitationClass=citation }}

• {{#invoke:Citation/CS1|citation

|CitationClass=journal }}

• {{#invoke:citation/CS1|citation

|CitationClass=book }}

• {{#invoke:citation/CS1|citation

|CitationClass=book }}

• {{#invoke:citation/CS1|citation

|CitationClass=conference }}

• {{#invoke:citation/CS1|citation

|CitationClass=conference }}

|CitationClass=conference }}

• {{#invoke:citation/CS1|citation

|CitationClass=conference }}