, Volume 11, Issue 4, pp 404–428

A workbench for computational geometry

  • P. Epstein
  • J. Kavanagh
  • A. Knight
  • J. May
  • T. Nguyen
  • J. -R. Sack


We describe the design and implementation of a workbench for computational geometry. We discuss issues arising from this implementation, including comparisons of different algorithms for constant factors, code size, and ease of implementation. The workbench is not just a library of computational geometry algorithms and data structures, but is designed as a geometrical programming environment, providing tools for: creating, editing, and manipulating geometric objects; demonstrating and animating geometric algorithms; and, most importantly, for implementing and maintaining complex geometric algorithms.

Key words

Algorithms Computational geometry Implementation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AE]
    F. Aurenhammer and H. Edelsbrunner, An optimal algorithm for constructing the weighted Voronoi diagram in the plane,Pattern Recognition,17 (1984), 251–275.Google Scholar
  2. [AS]
    C. R. Aragon and R. G. Seidel, Randomized binary search trees,Proc. 30th Symposium on Foundations of Computer Science, pp. 450–455, 1989.Google Scholar
  3. [AS1]
    M. D. Atkinson and J.-R. Sack, Uniform generation of combinatorial objects in parallel,J. Parallel Distributed Comput. (1993), to appear.Google Scholar
  4. [AS2]
    M. D. Atkinson and J.-R. Sack. Generating binary trees at random,Inform. Process. Lett.,41 (1992), 21–23.Google Scholar
  5. [AS3]
    M. D. Atkinson and J.-R. Sack, Uniform Generation of Forests of Restricted Height, Technical Report TR-230, School of Computer Science, Carleton University, 1993.Google Scholar
  6. [C]
    J. Culberson and G. Rawlins, Turtlegons: generating simple polygons from sequences of angles,Proc. 1st ACM Symposium on Computational Geometry, pp. 305–310, 1985.Google Scholar
  7. [D]
    L. Devroye, Private communication, McGill University, Novemeber, 1991.Google Scholar
  8. [DE]
    T. Doe and S. Edwards, Course Project: Random Generation of Polygons, Report 95.508, Carleton University, 1984.Google Scholar
  9. [DES]
    L. Devroye, P. Epstein, and J.-R. Sack, On generating random intervals and hyperrect-angles,J. Comput. Graphical Statis.,2(3) (1993), 291–307.Google Scholar
  10. [Ed]
    H. Edelsbrunner,Algorithms in Combinatorial Geometry, EATCS Monographs on Theoretical Computer Science, Vol. 10 (W. Brauer, G. Rozenberg, and A. Salomaa, eds.), Springer-Verlag, New York, 1987.Google Scholar
  11. [Ep1]
    P. Epstein, Polygon Shortest Path Algorithms and Applications, 4th year Honours Thesis, Carleton University, May 1990.Google Scholar
  12. [Ep2]
    P. Epstein, Generation of Random Geometric Objects, M.Sc. thesis, Carleton University, April 1992.Google Scholar
  13. [ES]
    P. Epstein and J.-R. Sack, Generating triangulations at random,Proc. 4th Canadian Conference in Computational Geometry, 1992, pp. 305–310.Google Scholar
  14. [F1]
    A. R. Forrest, Computational geometry and software engineering, towards a geometric computing environment, inTechniques for Computer Graphics (D. F. Rogers and R. A. Earnshaw, eds.), Springer-Verlag, New York, 1987, pp. 23–37.Google Scholar
  15. [F2]
    S. Fortune, A sweepline algorithm for Voronoi diagrams,Algorithmica,2 (1987), 153–174.Google Scholar
  16. [FM]
    A. Fournier and D. Y. Montuno, Triangulating simple polygons and equivalent problems,ACM Trans. Graphics,3 (1984), 153–174.Google Scholar
  17. [Go]
    A. Goldberg and D. Robson,Smalltalk-80: The Language and Its Implementation, Addison-Wesley, Reading, MA, 1983.Google Scholar
  18. [GHL+]
    L. Guibas, J. Hershberger, D. Leven, M. Sharir, and R. E. Tarjan, Linear time algorithms for visibility and shortest path problems inside simple polygons,Algorithmica,2(2) (1987), 209–233.Google Scholar
  19. [GJPT]
    M. Garey, D. S. Johnson, F. P. Preparata, and R. E. Tarjan, Triangulating a simple polygon,Inform. Process. Lett.,7(4) (1978), 175–180.Google Scholar
  20. [Gr]
    R. L. Graham, An efficient algorithm for determining the convex hull of a finite planar set,Inform. Process. Lett,1 (1972), 132–133.Google Scholar
  21. [HM]
    S. Huddieston and K. Mehlhorn, A new data structure for representing sorted lists,Acta Inform.,17 (1982), 157–184.Google Scholar
  22. [HMRT]
    K. Hoffman, K. Mehlhorn, P. Rosenstiehl, and R. Tarjan Sorting Jordan sequences in linear time using level-linked search trees,Inform, and Control,68 (1986), 170–184.Google Scholar
  23. [J]
    R. A. Jarvis, On the identification of the convex hull of a finite set of points in the plane,Inform. Process. Lett.,2 (1973), 18–21.Google Scholar
  24. [Ki]
    D. G. Kirkpatrick, Optimal search in planar subdivisions,SIAM J. Comput.,12(1) (1983), 28–35.Google Scholar
  25. [Kn]
    A. Knight, A Computational Geometry Workbench and Its Use in Algorithms, M.Sc. thesis, Carleton University, May 1990.Google Scholar
  26. [KS1]
    A. Knight and J.-R. Sack, Generating and Sorting Jordan Sequences, Technical Report SCS-TR-188, School of Computer Science, Carleton University, 1991.Google Scholar
  27. [KS2]
    A. Knight and J.-R. Sack, Manuscript, Carleton University, 1991.Google Scholar
  28. [L]
    D. T. Lee, Visibility of a simple polygon,Comput. Vision Graphics Image Process.,22(2) (1983), 207–221.Google Scholar
  29. [M]
    A. A. Melkman, On-line construction of the convex hull of a simple polygon,Inform. Process. Lett.,25 (1987), 11–12.Google Scholar
  30. [MN]
    K. Mehlhorn and S. Näher: LEDA, a Library of Efficient Data Types and Algorithms, Technical Report A 04/89, FB10, Universität des Saarlandes, Saarbrücken, 1989.Google Scholar
  31. [OBW]
    J. O'Rourke, H. Booth, and R. Washington, Connect-the-dots: a new heuristic,Comput. Vision Graphics Image Process.,39(2), (1987), 258–266.Google Scholar
  32. [OV]
    J. O'Rourke and M. Virmani, Generating Random Polygons, Smith Technical Report 11, August 1991.Google Scholar
  33. [P]
    F. P. Preparata, A new approach to planar point location,SIAM J. Comput.,10(3) (1981), 473–482.Google Scholar
  34. [PS]
    F. P. Preparata and M. I. ShamosComputational Geometry: An Introduction, Texts and Monographs in Computer Science (D. Gries, (ed.), Springer-Verlag, New York, 1985.Google Scholar
  35. [Sa]
    J.-R. Sack, Rectilinear Computational Geometry, Ph.D. thesis, McGill University, Montréal, 1984; Technical Report SCS-TR 54, School of Computer Science, Carleton University, 1984.Google Scholar
  36. [Sc]
    Peter Schorn, An object oriented workbench for experimental geometric computation,Proc. 2nd Canadian Conference in Computational Geometry, Ottawa, August 6–10, 1990, pp. 172–175.Google Scholar
  37. [ST]
    D. D. Sleator and R. E. Tarjan, Self-adjusting binary search trees,J. Assoc. Comput. Mach,32 (1985), 652–686.Google Scholar
  38. [Su]
    S. Suri, Minimum Link Paths in Polygons and Related Problems, Ph.D. thesis, The Johns Hopkins University, 1987.Google Scholar
  39. [TW]
    R. E. Tarjan and C. J. van Wyk, An O(n log log n)-time algorithm for triangulating a simple polygon,SIAM J. Comput.,17(1) (1988), 143–178.Google Scholar
  40. [W]
    E. Welzl, Constructing the visibility graph ofn line segmens in O(n2) time,Inform. Process. Lett.,20 (1985), 167–171.Google Scholar

Copyright information

© Springer-Verlag New York Inc 1994

Authors and Affiliations

  • P. Epstein
    • 1
  • J. Kavanagh
    • 2
  • A. Knight
    • 3
  • J. May
    • 1
  • T. Nguyen
    • 4
  • J. -R. Sack
    • 5
  1. 1.ObjecTime LimitedKanataCanada
  2. 2.AI Lab, Department of Computer ScienceUniversity of OttawaOttawaCanada
  3. 3.The Object PeopleOttawaCanada
  4. 4.Advanced Technology DevelopmentAllen Bradley Co.MilwaukeeUSA
  5. 5.School of Computer ScienceCarleton UniversityOttawaCanada

Personalised recommendations