Delaunay Triangulation Using a Uniform Grid

Cheng-Ling Lin, WPI CS Department


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:

  1. Preprocessing the data.

    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.

  2. Forming a triangle

    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.

  3. Putting the triangles together

    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.


Paper from IEEE Computer Graphics and Applications 1993-05, by Tsung-Pao Fang and Les A. piegl of University of South Florida.

[Return to CS563 '95 talks list]