Journal of Computing and Information Technology - CIT 8, 2000, 4, 319–331 319
A Contribution to Triangulation Algorithms for Simple Polygons
Marko Lamot1, Borut Zalikˇ 2
1Hermes Softlab, Ljubljana, Slovenia 2Borut Zalik,ˇ University of Maribor, Faculty of Electrical Engineering and Computer Sciences, Maribor, Slovenia
Decomposing simple polygon into simpler components widely used for tessellating curved geometries, is one of the basic tasks in computational geometry and such as those described by spline. its applications. The most important simple polygon de- composition is triangulation. The known algorithms for The paper gives a brief summary of existing polygon triangulation can be classified into three groups: triangulation techniques and a comparison be- algorithms based on diagonal inserting, algorithms based on Delaunay triangulation, and the algorithms using tween them. It is organized into eight sections. Steiner points. The paper briefly explains the most The second chapter introduces the fundamen- popular algorithms from each group and summarizes tal terminology, and in the third chapter diag- the common features of the groups. After that four onal inserting algorithms are dealt with. The algorithms based on diagonals insertion are tested: a recursive diagonal inserting algorithm, an ear cutting fourth section explains the constrained Delau- algorithm, Kong’s Graham scan algorithm, and Seidel’s nay triangulation. The fifth section describes randomized incremental algorithm. An analysis con- triangulation techniques that use Steiner points. cerning speed, the quality of the output triangles and the ability to handle holes is done at the end. The sixth section summarizes the common fea- tures of all three groups of polygon triangula- Keywords: simple polygons, simple polygon triangula- tion algorithms. The seventh section contains tion, Steiner points, constrained Delaunay triangulation the comparison of triangulation methods based on the diagonal insertion. An analysis concern- ing speed, the quality of the output triangles, and the ability to handle holes is done. The last section summarizes the work. 1. Introduction
Polygons are very convenient for computer rep- 2. Background resentation of the boundary of the objects from
the real world. Because polygons can be very Every simple polygon P a polygon is simple if
complex they can include a few thousand ver- its edges cross only in their endpoints — ver-
tices, they may be concave and may include tices with n vertices has a triangulation. The
nested holes, often there is the need to decom- key for proving the existence of the triangula- pose the polygons into simpler components that tion is the fact that every polygon has a diagonal,
can be easily and rapidly handled. There are which exists if the polygon has at least one con- many ideas how to perform this decomposition. vex vertex. We can conclude that OROU94 : Planar polygons can be, for example, decom- every polygon has at least one strictly convex posed into triangles, trapezoids or even star- vertex,
shaped polygons. Computing the triangulation of a polygon is a fundamental algorithm in the every polygon with n 4 vertices has a di- computational geometry. It is also the most agonal,
investigated partitioning method. In computer every polygon P of n vertices may be parti- graphics, polygon triangulation algorithms are tioned into triangles by adding the diagonals.
320 A Contribution to Triangulation Algorithms for Simple Polygons