Generating Delaunay triangulations


Triangle's default behavior is to find the Delaunay triangulation of a set of points. Store the points in a .node file, such as spiral.node, illustrated below. The command
triangle spiral
will produce the Delaunay triangulation, also illustrated below.

To triangulate a PSLG instead, describe the geometry of the region you wish to mesh in a .poly file, such as face.poly, illustrated below. Use the -p switch to specify that the input is a PSLG (.poly file) rather than a point set (.node file). The command

triangle -p face
will produce the constrained Delaunay triangulation, with holes and concavities removed. (The mouth and eye holes are specified in the input file; the concavities are removed automatically.)

The automatic removal of concavities from the triangulation will be detrimental if you have not taken care to surround the area to be triangulated with segments. In the next example, the input file box.poly defines an open region, so the -c switch must be used to prevent the automatic removal of concavities (which would eliminate the whole triangulation).

triangle -pc box
produces the constrained Delaunay triangulation illustrated below. The -c switch causes Triangle to triangulate the convex hull of the PSLG.

A conforming Delaunay triangulation of a PSLG can be generated by use of the -q or -a switch (in addition to the -p switch). If you don't wish to enforce any angle or area constraints, use `-q0', which requests quality meshing with a minimum angle of zero. The result is demonstrated below.

triangle -pq0 face

Return to Triangle home page.
jrs@cs.cmu.edu