Triangle

A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator.


Jonathan Richard Shewchuk
School of Computer Science
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, Pennsylvania 15213-3891
jrs@cs.cmu.edu
Created as part of the Archimedes project (tools for parallel finite element methods).
Supported in part by NSF Grant CMS-9318163 and an NSERC 1967 Scholarship.

Triangle generates exact Delaunay triangulations, constrained Delaunay triangulations, and quality conforming Delaunay triangulations. The latter can be generated with no small angles, and are thus suitable for finite element analysis.

Triangle (version 1.3) is available now (with Show Me, 138K compressed file) from Netlib in the voronoi directory. Please note that although Triangle is freely available, it is copyrighted by the author and may not be sold or included in commercial products without a license.


New features in Version 1.3 (released July 21, 1996). Faster file reading. Interface for calling Triangle from another program. Attributes that allow you to determine which (segment-bounded) region a triangle falls in. Triangle neighbor lists. Objects can be numbered from zero. Ability to suppress insertion of new points on the boundary, thus preserving compatibility with adjacent meshes. Handles duplicate input points correctly.
Of special interest. A paper about Triangle is available (in PostScript and HTML formats); this and related papers are available from the Research Credit page. Triangle's robust geometric predicates are available separately from the Robust Predicates page.

Instructions for using Triangle


A Brief Plea

If you use Triangle or Show Me, and especially if you use them to accomplish real work, I would like very much to hear from you. A short letter or email (to jrs@cs.cmu.edu) describing how you use Triangle will mean a lot to me. The more people I know are using this program, the more easily I can justify spending time on improvements and on Pyramid, the three-dimensional successor to Triangle; work that I hope will benefit you.

Also, let me know if you want me to put you on a list to receive email whenever a new version of Triangle, or another tool in the Archimedes chain, is available. This is not a public list; you won't get email from anyone but me, and you won't get it often. No need to fear a full mailbox.

If you use a mesh generated by Triangle in a publication, please include an acknowledgment as well.


For other mesh generation pointers, take a look at Robert Schneiders' Finite Element Mesh Generation page, the Mesh Generators page of Roger Young's Finite Element Resources catalogue, and Steve Owen's Meshing Research Corner. See also Nina Amenta's Directory of Computational Geometry Software.
Jonathan Shewchuk
jrs@cs.cmu.edu