This paper presents an algorithm for computing the Delaunay triangulation of 2D points. With a given number of randomly generated 2D points, this algorithm can generate Delaunay triangles to connect all points with linear time complexity.
One of the application of Delaunay triangulation is Finite Element Analysis (FEA). After FEA computation, the coordinations of mesh may be very different with original coordinations. Delaunay triangulation can help to re-construct the relations between coordinations.
The steps of this algorithm is:
Divide the whole point distributed area into grids with around the same number of grids and points. Based on the coordination of points, put all points into corresponsing grids.
Find the point somewhere near by the middle to start, finding its nearest to form a edge. Scan the right side of this edge, finding the point which has the largest angle between that point and two end of the edge. Then scanning the are of circle which passing the ends of edge and the point, if there is point inside the circle, use that point to form another circle and scan again until no point inside circle.
Find out all Delaunay triangle based on above algorithm. While looking for triangles, putting all new edges of found triangles into a queue and remove the edges which used by two triangle or knwon is a boundary edge out from the queue. repeat the process until the queue is empty, then the triangulation is finished.
The algorithm is very easy for implementation, but there is no extension for 3D points.