# Delaunay Triangulation

Pseudo-code for triangulation:

subroutine triangulate input : vertex list output : triangle list initialize the triangle list determine the supertriangle add supertriangle vertices to the end of the vertex list add the supertriangle to the triangle list for each sample point in the vertex list initialize the edge buffer for each triangle currently in the triangle list calculate the triangle circumcircle center and radius if the point lies in the triangle circumcircle then add the three triangle edges to the edge buffer remove the triangle from the triangle list endif endfor delete all doubly specified edges from the edge buffer this leaves the edges of the enclosing polygon only add to the triangle list all triangles formed between the point and the edges of the enclosing polygon endfor remove any triangles from the triangle list that use the supertriangle vertices remove the supertriangle vertices from the vertex list end

source: http://paulbourke.net/papers/triangulate/

### Codes

https://triangle.codeplex.com/

http://miconvexhull.codeplex.com/

http://www.cs.cmu.edu/~quake/triangle.html

https://code.google.com/p/nettopologysuite/source/browse/#svn/trunk/NetTopologySuite/Triangulate