Robust, Generic and Efficient Construction of Envelopes of Surfaces in Three-Dimensional Spaces

  • Michal Meyerovitch
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4168)

Abstract

Lower envelopes are fundamental structures in computational geometry, which have many applications, such as computing general Voronoi diagrams and performing hidden surface removal in computer graphics. We present a generic, robust and efficient implementation of the divide-and-conquer algorithm for computing the envelopes of surfaces in IR3. To the best of our knowledge, this is the first exact implementation that computes envelopes in three-dimensional space. Our implementation is based on Cgal (the Computational Geometry Algorithms Library) and is designated as a Cgal package. The separation of topology and geometry in our solution allows for the reuse of the algorithm with different families of surfaces, provided that a small set of geometric objects and operations on them is supplied. We used our algorithm to compute the lower and upper envelope for several types of surfaces. Exact arithmetic is typically slower than floating-point arithmetic, especially when higher order surfaces are involved. Since our implementation follows the exact geometric computation paradigm, we minimize the number of geometric operations, and by that significantly improve the performance of the algorithm in practice. Our experiments show interesting phenomena in the behavior of the divide-and-conquer algorithm and the combinatorics of lower envelopes of random surfaces.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agarwal, P.K., Matoušek, J.: Ray shooting and parametric search. SIAM J. Comput. 22(4), 794–806 (1993)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Agarwal, P.K., Schwarzkopf, O., Sharir, M.: The overlay of lower envelopes and its applications. Discrete Comput. Geom. 15, 1–13 (1996)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Agarwal, P.K., Sharir, M.: Arrangements and their applications. In: Sack, J.-R., Urrutia, J. (eds.) Handbook of Computational Geometry, pp. 49–119. Elsevier Science Publishers B.V., North-Holland, Amsterdam (2000)CrossRefGoogle Scholar
  4. 4.
    Alon, N., Halperin, D., Nechushtan, O., Sharir, M.: The complexity of the outer face in arrangements of random segments (manuscript, 2006)Google Scholar
  5. 5.
    Austern, M.H.: Generic Programming and the STL. Addison-Wesley, Reading (1999)Google Scholar
  6. 6.
    Berberich, E., Meyerovitch, M.: Computing envelopes of quadrics. In preparationGoogle Scholar
  7. 7.
    Boissonnat, J.-D., Dobrindt, K.T.G.: On-line construction of the upper envelope of triangles and surface patches in three dimensions. Comput. Geom. Theory Appl. 5(6), 303–320 (1996)MATHMathSciNetGoogle Scholar
  8. 8.
    de Berg, M.: Ray Shooting, Depth Orders and Hidden Surface Removal. LNCS, vol. 703. Springer, Heidelberg (1993)MATHCrossRefGoogle Scholar
  9. 9.
    de Berg, M., Halperin, D., Overmars, M., Snoeyink, J., van Kreveld, M.: Efficient ray shooting and hidden surface removal. Algorithmica 12, 30–53 (1994)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Flato, E., Halperin, D., Hanniel, I., Nechushtan, O., Ezra, E.: The design and implementation of planar maps in Cgal. J. of Experim. Alg. 5, 1–23 (2000)MathSciNetGoogle Scholar
  11. 11.
    Fogel, E., et al.: An empirical comparison of software for constructing arrangements of curved arcs. Technical Report ECG-TR-361200-01, Tel-Aviv Univ. (2004)Google Scholar
  12. 12.
    Halperin, D., Sharir, M.: New bounds for lower envelopes in three dimensions, with applications to visibility in terrains. Discrete Comput. Geom. 12, 313–326 (1994)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Karamcheti, V., Li, C., Pechtchanski, I., Yap, C.: A core library for robust numeric and geometric computation. In: Proc. Symp. on Computational Geometry 1999, pp. 351–359 (1999)Google Scholar
  14. 14.
    Katz, M.J., Overmars, M.H., Sharir, M.: Efficient hidden surface removal for objects with small union size. Comput. Geom. Theory Appl. 2, 223–234 (1992)MATHMathSciNetGoogle Scholar
  15. 15.
    Kettner, L., Mehlhorn, K., Pion, S., Schirra, S., Yap, C.: Classroom examples of robustness problems in geometric computations. In: Albers, S., Radzik, T. (eds.) ESA 2004. LNCS, vol. 3221, pp. 702–713. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    Mehlhorn, K., Näher, S.: Leda: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, Cambridge (2000)Google Scholar
  17. 17.
    Meyerovitch, M.: Robust, generic and efficient construction of envelopes of surfaces in three-dimensional space. M.Sc. thesis, School of Computer Science, Tel Aviv University, Tel Aviv, Israel (July 2006)Google Scholar
  18. 18.
    Mulmuley, K.: An efficient algorithm for hidden surface removal, II. J. Comput. Syst. Sci. 49(3), 427–453 (1994)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Myers, N.: “Traits”: A new and useful template technique. In: Lippman, S.B. (ed.) C++ Gems. SIGS Reference Library, vol. 5, pp. 451–458 (1997)Google Scholar
  20. 20.
    Schirra, S.: Robustness and precision issues in geometric computation. In: Sack, J.-R., Urrutia, J. (eds.) Handbook of Computational Geometry, pp. 597–632. Elsevier Science Publishers B.V., North-Holland, Amsterdam (1999)Google Scholar
  21. 21.
    Sharir, M.: Almost tight upper bounds for lower envelopes in higher dimensions. Discrete Comput. Geom. 12, 327–345 (1994)MATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Sharir, M., Agarwal, P.K.: Davenport-Schinzel Sequences and Their Geometric Applications. Cambridge University Press, Cambridge (1995)MATHGoogle Scholar
  23. 23.
    Wein, R., Fogel, E., Zukerman, B., Halperin, D.: Advanced programming techniques applied to Cgal’s arrangement package. In: Proc. Library-Centric Software Design (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Michal Meyerovitch
    • 1
  1. 1.School of Computer ScienceTel Aviv University 

Personalised recommendations