This paper describes a new method for triangulating a simple n-sided polygon. The algorithm runs in time O(n log s), with s _< n. The quantity s measures the sinuosity of the polygon, that is, the number of times the boundary alternates between complete spirals of opposite orientation. The value of s is in practice a very small constant, even for extremely winding polygons. Our algorithm is the first method whose performance is linear in the number of vertices, up to within a factor that depends only on the shape-complexity of the polygon. Informally, this notion of shape-complexity measures how entangled a polygon is, and is thus highly independent of the number of vertices. A practical advantage of the algorithm is that it does not require sorting or the use of any balanced tree structure. Aside from the notion of sinuosity, we are also able to characterize a large class of polygons for which the algorithm can be proven to run in O(n log log n) time. The algorithm has been implemented, tested, and empirical evidence has confirmed its theoretical claim to efficiency.
[1]
Kurt Mehlhorn,et al.
Fast Triangulation of Simple Polygons
,
1983,
FCT.
[2]
Robert E. Tarjan,et al.
Triangulating a Simple Polygon
,
1978,
Inf. Process. Lett..
[3]
Donald E. Knuth,et al.
The art of computer programming: sorting and searching (volume 3)
,
1973
.
[4]
Godfried T. Toussaint,et al.
On a convex hull algorithm for polygons and its application to triangulation problems
,
1982,
Pattern Recognit..
[5]
Steven L. Tanimoto,et al.
Segmentation of pictures into regions with a tile-by-tile method
,
1982,
Pattern Recognit..
[6]
Bernard Chazelle,et al.
A theorem on polygon cutting with applications
,
1982,
23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).
[7]
Leonidas J. Guibas,et al.
Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams
,
1983,
STOC.
[8]
Godfried T. Toussaint,et al.
PATTERN RECOGNITION AND GEOMETRICAL COMPLEXITY.
,
1980
.