Discrete & Computational Geometry

, Volume 7, Issue 4, pp 329–346

# Polygon triangulation inO(n log logn) time with simple data structures

• David G. Kirkpatrick
• Maria M. Klawe
• Robert E. Tarjan
Article

## Abstract

We give a newO(n log logn)-time deterministic algorithm for triangulating simplen-vertex polygons, which avoids the use of complicated data structures. In addition, for polygons whose vertices have integer coordinates of polynomially bounded size, the algorithm can be modified to run inO(n log*n) time. The major new techniques employed are the efficient location of horizontal visibility edges that partition the interior of the polygon into regions of approximately equal size, and a linear-time algorithm for obtaining the horizontal visibility partition of a subchain of a polygonal chain, from the horizontal visibility partition of the entire chain. The latter technique has other interesting applications, including a linear-time algorithm to convert a Steiner triangulation of a polygon into a true triangulation.

## Keywords

Dual Graph Simple Polygon Horizontal Edge Splitting Algorithm Polygonal Chain
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## References

1. [BT]
Bhattacharya, B. K., and Toussaint, G. T., A linear algorithm for determining the translation separability of two simple polygons, Report SOCS-86.1, School Comput. Sci., McGill University, Montreal, 1986.Google Scholar
2. [C1]
Chazelle, B., A theorem on polygon cutting with applications,Proc. 23rd Annual Symp. on Foundations of Computer Science, 1982, pp. 339–349.Google Scholar
3. [C2]
Chazelle, B., Triangulating a simple polygon in linear time, Princeton Tech. Report CS-TR-264-90, 1990.Google Scholar
4. [CI]
Chazelle, B., and Incerpi, J., Triangulation and shape complexity,ACM Trans. Graphics 3 (1984), 135–152.
5. [CTV]
Clarkson, K., Tarjan, R., and Van Wyk, C., A fast Las Vegas algorithm for triangulating a simple polygon,Proc. 4th ACM Symp. on Computational Geometry, 1988, pp. 18–22 (Princeton Tech. Report CS-TR-157-88, 1988).Google Scholar
6. [E]
H. Edelsbrunner, Dynamic data structures for orthogonal intersection queries, Report f59, Techn. Univ. Graz, Instit. Informationsverarb., Graz, 1980.Google Scholar
7. [EGS]
Edelsbrunner, H., Guibas, L. J., and Stolfi, J., Optimal point location in a monotone subdivision,SIAM J. Comput. 15 (1986), 317–340.
8. [FFR]
Fiume, E., Fournier, A., and Rudolph, L., A parallel scan conversion algorithm with anti-aliasing for a general-purpose ultra-computer,ACM Trans. Comput. Graphics 17(3) (1983), 141–150.
9. [FM]
Fournier, A., and Montuno, D. Y., Triangulating simple polygons and equivalent problems,ACM Trans. Graphics 3 (1984), 153–174.
10. [FNTV]
Fung, K. Y., Nicholl, T. M., Tarjan, R. E., and Van Wyk, C. J., Simplified linear-time Jordan sorting and polygon clipping, Princeton Tech. Report CS-TR-189-88, 1988.Google Scholar
11. [GJPT]
Garey, M. R. Johnson, D. S., Preparata, F. P., and Tarjan, R. E., Triangulating a simple polygon,Inform. Process. Lett. 7 (1978), 175–180.
12. [GHL+]
Guibas, L., Hershberger, J., Leven, D., Sharir, M., and Tarjan, R. E., Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons,Algorithmica 2 (1987), 209–233.
13. [HM]
Hertel, S., and Mehlhorn, K., Fast triangulation of a simple polygon,Proc. Conf. on Foundations of Computer Theory, Lecture Notes on Computer Science, Vol. 158, Springer-Verlag, Berlin, 1983, pp. 207–218.Google Scholar
14. [HMRT]
Hoffman, K., Mehlhorn, K., Rosenstiehl P., and Tarjan R., Sorting Jordan sequences in linear time using level-linked search trees,Inform. and Control 68 (1986), 170–184.
15. [KK]
Keil, J. M., and Kirkpatrick, D. G., Computational geometry on integer gridsProc. 19th Annual Allerton Conference on Communication Control and Computing, 1981, pp. 41–50.Google Scholar
16. [K]
Kirkpatrick, D. G., Optimal search in planar subdivisions,SIAM J. Comput. 12(1) (1983), 28–35.
17. [L]
Lee, D. T., Shading of regions on vector display devices,ACM Trans. Comput. Graphics 15(3) (1981), 34–44.Google Scholar
18. [LTL]
Liou, W. T., Tan, J. J. M., and Lee, R. C. T., Minimum partitioning simple rectilinear polygons inO(n log logn) time,Proc. 5th ACM Symp. on Computational Geometry, 1989, pp. 344–353.Google Scholar
19. [TV]
Tarjan, R. E., and Van Wyk, C. J., AnO(n log logn)-time algorithm for triangulating a simple polygon,SIAM J. Comput. 17(1) (1988), 143–178.
20. [T1]
Toussaint, G., Pattern recognition and geometrical complexity,Proc. 5th Intern. Conf. on Pattern Recognition, 1980, pp. 1324–1347.Google Scholar
21. [T2]
Toussaint, G., Computational geometry and morphology, Tech. Report SOCS-86.3, McGill University, Montreal, 1986.
22. [T3]
Toussaint, G., An output-complexity-sensitive polygon triangulation algorithm, Tech. Report SOCS-88.11, McGill University, Montreal, 1988.Google Scholar
23. [T4]
Toussaint, G. (ed.),Computational Morphology, North-Holland, Amsterdam, 1988.
24. [TA]
Toussaint, G., and Avis, D., On a convex hull algorithm for polygons and its application to triangulation problems,Pattern Recognition 15(1) (1982), 23–29.

© Springer-Verlag New York Inc. 1992

## Authors and Affiliations

• David G. Kirkpatrick
• 1
• Maria M. Klawe
• 1
• Robert E. Tarjan
• 2
• 3
1. 1.Department of Computer ScienceUniversity of British ColumbiaVancouverCanada
2. 2.Department of Computer SciencePrinceton UniversityPrincetonUSA
3. 3.NEC Research InstituteUSA