The Delauney Triangulation

The Delauney Triangulation is the dual to the Voronoi Diagram, and may be defined as follows.

Let P be a set of points in the plane, and let C be the Convex Hull of the points. Then, draw straight lines (not crossing each other) from points on the interior to points on the boundary of the convex hull (or to each other), until the whole convex hull is divided into a set of polygons, with all vertices being elements of P. Then, if any of the polygons are not triangles, divide them into triangles by drawing more lines between vertices of the polygons. This will give a triangulation of the set of points.

There are many ways to draw a triangulation, since there are many different ways to choose the lines we draw in the above procedure. Amongst all the different triangulations, there will be one which has the smallest possible total edge length. This one is the Delauney Triangulation.

The DotPlacer Applet (on this site) allows you to place a set of points on the screen, and have it draw the delauney triangulation for you. You can even move the points around, and watch the figure change. Try it!

I used the following algorithm to draw the delauney triangulation. Most of the calculations are the same as used to draw the voronoi diagram. First of all, for each set of three points, I calculate the orthocentre of the three points. That is, I calculate the point which is equidistant from all three points. Then, for each orthocentre x, I check all the points in P, to make sure that the three points used to find x are the three closest points of P to x. If they are not, I reject x from consideration. It is not needed to draw the voronoi diagram. Then, for each orthocentre x not rejected, I draw lines between the points that were used to find this orthocentre. Roughly speaking, that's it.

The algorithm used is certainly not the most efficient one available for constructing the delauney triangulation, but it works. Furthermore, the cost is almost zero if the applet is drawing the voronoi diagram also.

For more information on the delauney triangulation, see this World of Mathematics article. Or perhaps you'd like a solid text on the subject? Clicking the book on the left will allow you to get one that covers the Delauney Triangulation, and other topcis, in depth. The book on the right, with code samples and good explanations, is regarded by many as one of the best books around for applying java (and smalltalk) to numerical methods.

File translated from TEX by TTH, version 2.25.