Advertisement

Geometric data structures for computer graphics: an overview

  • Mark H. Overmars
Part of the NATO ASI Series book series (volume 40)

Abstract

In computational geometry many sophisticated data structures have been designed for storing geometric objects. Many of these structures might be very useful for solving a number of problems in computer graphics and, hence, it is important that people in computer graphics know these data structures. In this paper we discuss a number of such geometric data structures and indicate their advantages and uses, especially in computer graphics. The structures we consider are:
  • The quad-tree is probably the most well-known data structure in computer graphics. Quad-trees can be used to store planar objects, both in image space and in object space. They use little storage and often allow for fast retrieval of geometric information.

  • Range trees are a clear example of so-called multi-dimensional data structures. They allow for very fast searching to locate e.g. the points in a set lying in a given rectangle.

  • Segment trees store intervals in an efficient way. They can be used for solving problems concerning e.g. line segments.

  • Many geometric data structures are static, i.e., they don’t allow for insertions and deletions of objects. Some general dynamisation techniques will be discussed that can be used for turning static data structures into dynamic structures. With the description of the different data structures examples are given to show how the structures can be used for solving actual geometric problems. For example we will show how the segment tree can be used to solve the windowing problem efficiently.

With the description of the different data structures examples are given to show how the structures can be used for solving actual geometric problems. For example we will show how the segment tree can be used to solve the windowing problem efficiently.

Keywords

Computer Graphic Internal Node Image Space Object Space Range Query 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Bentley, J.L., Multidimensional binary search trees used for associated searching, C. ACM 18 (1975), 509–517.CrossRefMATHGoogle Scholar
  2. [2]
    Bentley, J.L., Multidimensional binary search trees in database applications, IEEE Trans. on Software Eng. SE-5 (1979), 333–340.Google Scholar
  3. [3]
    Bentley, J.L., Decomposable searching problems, Inform. Proc. Lett. 8 (1979), 244–251.CrossRefMATHMathSciNetGoogle Scholar
  4. [4]
    Bentley, J.L., and J.H. Friedman, Data structures for range searching, ACM Comput. Surveys 11 (1979), 397–409.CrossRefGoogle Scholar
  5. [5]
    Bentley, J.L., and H.A. Maurer, Efficient worst-case data structures for range searching, Acta Inform. 13 (1980), 155–168.CrossRefMATHMathSciNetGoogle Scholar
  6. [6]
    Bentley, J.L., and J.B. Saxe, Decomposable searching problems I: static to dynamic transformations, J. Algorithms 1 (1980), 301–358.CrossRefMATHMathSciNetGoogle Scholar
  7. [7]
    Bentley, J.L. and D.F. Stanat, Analysis of range searches in quad-trees, Inform Proc. Lett. 3 (1975), 170–173.CrossRefMATHGoogle Scholar
  8. [8]
    Bentley, J.L., and D. Wood, An optimal algorithm for reporting intersections of rectangles, IEEE Trans. on Computers C-29 (1980), 571–577.MathSciNetGoogle Scholar
  9. [9]
    Edelsbrunner, H., A note on dynamic range searching, Bull of the EATCS 15 (1981), 34–40.Google Scholar
  10. [10]
    Edelsbrunner, H., Intersection problems in computational geometry ,Techn. Rep. F93, Inst. f. Information Processing, TU Graz, 1982.Google Scholar
  11. [11]
    Edelsbrunner, H., and J. van Leeuwen, Multidimensional data structures and algorithms: a bibliography ,Techn. Rep. F105, Inst. f. Information Processing, TU Graz, 1982.Google Scholar
  12. [12]
    Finkel, R.A., and J.L. Bentley, Quad-trees; a data structure for retrieval on composite keys, Acta Inform. 4 (1974), 1–9.CrossRefMATHGoogle Scholar
  13. [13]
    Kersten, M.L., and P. van Emde Boas, Local optimizations of quad-trees ,Techn. Rep. IR-51, Free University Amsterdam, 1979.Google Scholar
  14. [14]
    Lueker, G.S., A data structure for orthogonal range queries, Proc. 19th IEEE Symp. on Foundations of Computer Science ,1978, 28–34.Google Scholar
  15. [15]
    McCreight, E.M., Priority search trees, SIAM J. Computing 14 (1985), 257–276.CrossRefMATHMathSciNetGoogle Scholar
  16. [16]
    Mehlhorn, K., Data structures and algorithms 3: Multi-dimensional searching and computational geometry ,Springer-Verlag, Berlin, 1984.MATHGoogle Scholar
  17. [17]
    Overmars, M.H., The design of dynamic data structures ,Lect. Notes in Computer Science 156, Springer-Verlag, 1983.Google Scholar
  18. [18]
    Overmars, M.H., Range searching in a set of line segments, Proc. 1st ACM Symp. on Computational Geometry ,1985, 177–185.Google Scholar
  19. [19]
    Overmars, M.H., Geometric data structures for computer graphics, in: R.A. Earnshaw (ed.), Fundamental algorithms for computer graphics ,NATO ASI Series F Vol 17, Springer-Verlag, Berlin, 1985, 919–931.CrossRefGoogle Scholar
  20. [20]
    Overmars, M.H., Dynamization of order decomposable set problems, J. Algorithms 2 (1981), 245–260.CrossRefMATHMathSciNetGoogle Scholar
  21. [21]
    Overmars, M.H., and J. van Leeuwen, Dynamic multi-dimensional data structures based on quad-and k-d trees, Acta Inform. 17 (1982), 267–285.CrossRefMATHMathSciNetGoogle Scholar
  22. [22]
    Preparata, F.P., and M.I. Shamos, Computational geometry ,Springer-Verlag, New York, 1985.Google Scholar
  23. [23]
    Rogers, D.F., Procedural elements for computer graphics ,McGraw-Hill, New York, 1985.Google Scholar
  24. [24]
    Samet, H., Deletion in two dimensional quad trees, C. ACM23 (1980), 703–10.Google Scholar
  25. [25]
    Samet, H., Bibliography on quadtrees and related hierarchical data structures, in: L. Kessenaar, F. Peters and M. van Lierop (Ed.), Data structures for raster graphics ,Springer-Verlag, Berlin, 1986, 181–201.CrossRefGoogle Scholar
  26. [26]
    Samet, H., C.A. Shaffer and R.E. Webber, Using linear quadtrees to store vector data, in: L. Kessenaar, F. Peters and M. van Lierop (Ed.), Data structures for raster graphics ,Springer-Verlag, Berlin, 1986, 91–123.CrossRefGoogle Scholar
  27. [27]
    Scholten, H.W., and M.H. Overmars, Genereal methods for adding range restrictions to decomposable searching problems ,Techn. Rep. RUU-CS-85-21, Dept. of Comp. Science, University of Utrecht, 1985.Google Scholar
  28. [28]
    Silva-Filho, Y.V., Average case analysis of region search in balanced k-d trees, Inform. Proc. Lett. 8 (1979), 219–223.CrossRefMATHMathSciNetGoogle Scholar
  29. [29]
    Warnock, J.E., A hidden line algorithm for halftone picture representation ,Techn. Rep. 4–5, Computer Science Dept., University of Utah, 1968.Google Scholar
  30. [30]
    Warnock, J.E., A hidden-surface algorithm for computer generated halftone pictures ,Techn. Rep. 4–15, Computer Science Dept., University of Utah, 1969.Google Scholar
  31. [31]
    Willard, D.E., Predicate-oriented database search algorithms ,Garland Publishing Company, New York, 1979.Google Scholar
  32. [32]
    Willard, D.E., New data structures for orthogonal range queries, SIAM J. Computing 14 (1985), 232–253.CrossRefMATHMathSciNetGoogle Scholar
  33. [33]
    Willard, D.E., and G.S. Lueker, Adding range restriction capability to dynamic data structures, J. ACM 32 (1985), 597–617.CrossRefMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Mark H. Overmars

There are no affiliations available

Personalised recommendations