There are several ways by which to triangulate any given set of points:
The Delaunay triangulation of a given set of points is defined by the following property:
To generate the Delaunay triangulation, we chose to implement a "divide and conquer" algorithm presented by Guibas and Stolfi , in:
Guibas, L. and Stolfi, J., "Primitives for the Manipulation of General Subdivisions and the Computation of Voronoi Diagrams", ACM Transactions on Graphics, Vol.4, No.2, April 1985, pages 74-123.
Examples of Delaunay Triangulations
Slide 8
Next, the constraints are added to the Delaunay triangulation. To adjust for the constraint, we need to delete all triangles which have an edge that intersects the constraint.
Examples of Constrained Delaunay Triangulations
For calculating the Delaunay triangulation, we used a modified version of the triangular data structure given by Jonathan Richard Shewchuk, in his paper, "Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator."
This data structure allows for a triangulation to remain connected (that is all triangles can be accessed starting with any given triangle), even when it is incomplete.
A New Data Structure: The Polygon