Abstract
This paper considers the topic of efficiently traingulating a simple polygon with emphasis on practical and easy-to-implement algorithms. It also describes a newadaptive algorithm for triangulating a simplen-sided polygon. The algorithm runs in timeO(n(1+t o)) witht 0<n. The quantityt 0 measures theshape-complexity of thetriangulation delivered by the algorithm. More preciselyt 0 is the number of obtained triangles contained in the triangulation that share zero edges with the input polygon and is, furthermore, related to the shape-complexity of theinput polygon. Although the worst-case complexity of the algorithm isO(n 2), for several classes of polygons it runs in linear time. The practical advantages of the algorithm are that it is simple and does not require sorting or the use of balanced tree structures. On the theoretical side, it is of interest because it is the first polygon triangulation algorithm where thecomputational complexity is a function of theoutput complexity. As a side benefit, we introduce a new measure of the complexity of a polygon triangulation that should find application in other contexts as well.
Similar content being viewed by others
References
Cairns SS (1951) An elementary proof of the Jordan-Schoenflies theorem. Proc Am Math Soc 2:860–867
Chazelle B (1982) A theorem on polygon cutting with applications. Proc IEEE Symposium, on Foundations of Computer Science, Chicago. 23:339–349
Chazelle B (1990) Triangulating a simple polygon in linear time. Technical Report, CS-TR-264-90, Department of Computer Science, Princeton University
Chazelle B, Incerpi J (1984) Triangulation and shape complexity. ACM Trans Graph 3:135–152
ElGindy HA (1985) A linear algorithm for triangulating weakly externally visible polygons. Technical Report MS-CIS-86-75, University of Pennsylvania
ElGindy H, Toussaint GT (1988) On triangulating palm polygons in linear time. Proc Comput Graph Int, Geneva. pp 308–317.
ElGindy H, Toussaint GT (1989) On geodesic properties of polygons relevant to lineartime triangulation. The Visual Computer 5(1/2):68–74
ElGindy H, Avis D, Toussaint GT (1983) Applications of a two-dimensional hiddenline algorithm to other geometric problems. Computing 31:191–202
ElGindy H, Everett H, Toussaint GT (1991) Slicing an ear in linear time. Pattern Recognition Letters (in press)
Fournier A, Montuno DY (1984) Triangulating simple polygons and equivalent problems. ACM Trans Graph 3:153–174
Feng H-YF, Pavlidis T (1975) Decomposition of polygons into simpler components: feature generation for syntactic pattern recognition. IEEE Trans Comput C 24:636–650
Forder HG (1927) The foundations of Euclidean geometry. Cambridge University Press
Garey MR, Johnson DS, Preparata FP, Tarjan RE (1978) Triangulating a simple polygon. Inf Proc Lett 7:175–179
Graham RL (1972) An efficient algorithm for determining the convex hull of a finite planar set. Inf Proc Lett 1:132–133
Hertel S, Mehlhorn K (1983) Fast triangulation of simple polygons. Proc FCT, LNCS 158:207–215
Ho W-C (1975) Decomposition of a polygon into triangles. The mathematical gazette 59:132–134
Honsberger R (1970) Ingenuity in mathematics, Random House
Kong X, Everett H, Toussaint GT (1991) The Grahan scan triangulates simple polygons. Pattern Recognition Letters (in press)
Kirkpatrick DG, Klawe MM, Tarjan RE (1990)O(n log logn) polygon triangulation with simple data structures. Symposium on Computational Geometry, Berkeley, California. 6:34–43
Knopp K (1945) Theory of functions, Part I. (Translated by F. Bagemihl from the 5th German edition) Dover; New York
Knopp K (1970) Funktionentheorie I., Sammlung Göschen Band 668. Walter de Gruyter
Lee SH, Chwa KY (1987) A new triangulation linear class of simple polygons. Int J Comput Math 22:135–147
Lennes NJ (1911) Theorems on the simple finite polygon and polyhedron. Am J Math 33:37–62
Levy LS (1970) Geometry: modern mathematics via the Euclidean plane. Prindle, Weber and Schmidt, Boston
Mandelbrot BB (1977) Fractals: form, chance, and dimension. Freeman, San Francisco
Meisters GH (1975) Polygons have ears. Am Math Monthly 82:648–651
Rupert J, Seidel R (1989) On the difficulty of tetrahedralizing 3-dimensional non-convex polyhedra. ACM Symp Computational Geometry, Saarbrücken. 5:380–392
Schoone AA, van Leeuwen J (1980) Triangulating a star-shaped polygon. Technical Report RUV-CS-80-3, University of Utrecht
Shermer T (1988) Computing bushy and thin triangulations. In: Toussaint GT (ed) Snapshots of computational and discrete geometry, Technical Report SOCS-88. 11, pp 119–133
Shermer T (1988) Generating anthropomorphick-sprials. In: Toussaint GT (ed) Snaphshots of computational and discrete geometry, Technical Report SOCS-88.11, pp 233–244
Toussaint GT (1984) A new linear algorithm for triangulating monotone polygons. Pattern Recognition Lett 2:155–158
Toussant, GT (1991) Anthropomorphic polygons. Am Math Monthly 98:31–35
Toussaint GT (1986) New results in computational geometry relevant to pattern recognition in practice. In: Gelsema ES, Kanal LN (eds) Pattern recognition in practice II. North-Holland, Amsterdam, pp 135–146
Toussaint GT (ed) (1988) Computational morphology. North-Holland, Amsterdam
Toussaint GT, Avis D (1982) On a convex hull algorithm for polygons and its application to triangulation problems. Pattern Recognition Letters 15(1):23–29
Tarjan RE, Van Wyk CJ (1988) AnO(n log logn)-time algorithm for triangulating simple polygons. SIAM J Comput 17:143–178
Woo TC, Shin SY (1985) A linear time algorithm for triangulating a point-visible polygon. ACM Trans Graph 4:60–70
Yashiro H, Takahashi T, Takikawa K (1989) AnO(n(1+t 0)) algorithm for a simple polygon triangulation and its evaluation. IEICE Technical Report PRU-89-41
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Toussaint, G. Efficient triangulation of simple polygons. The Visual Computer 7, 280–295 (1991). https://doi.org/10.1007/BF01905693
Issue Date:
DOI: https://doi.org/10.1007/BF01905693