“Sorting in Space: Multidimensional, Spatial, and Metric Data Structures for Computer Graphics Applications” by Samet
Conference:
Type(s):
Entry Number: 29
Title:
- Sorting in Space: Multidimensional, Spatial, and Metric Data Structures for Computer Graphics Applications
Course Organizer(s):
Presenter(s)/Author(s):
Abstract:
Prerequisite
A familiarity with computer terminology and some programming experience.
Course Level
Beginner
Who Should Attend
Practitioners working in computer graphics will be given a different perspective on data structures found to be useful in most applications Game developers and technical managers will appreciate the presentation and methods described herein.
Description
The representation of spatial data is an important issue in game programming, computer graphics, visualization, solid modeling, and related areas including computer vision and geographic information systems (GIS). A wide number of representations is currently in use. Recently, there has been much interest in hierarchical data structures such as quadtrees, octrees, and pyramids which are based on image hierarchies, as well methods that make use of bounding boxes which are based on object hierarchies. The key advantage of these representations is that they provide a way to index into space. In fact, they are little more than multidimensional sorts. They are compact and depending on the nature of the spatial data they save space as well as time and also facilitate operations such as search. In this course we provide a brief overview of hierarchical spatial data structures and related algorithms that make use of them. We describe hierarchical representations of points, lines, collections of small rectangles, regions, surfaces, and volumes. For region data, we point out the dimension-reduction property of the region quadtree and octree, as how to navigate between nodes in the same tree, thereby leading to the popularity of these representations in ray tracing applications. We also demonstrate how to use these representations for both raster and vector data. In the case of nonregion data, we show how these data structures can be used to compute nearest objects in an incremental fashion so that the number of objects need not be known in advance. We also review a number of different tessellations and show why hierarchical decomposition into squares instead of triangles or hexagons is preferred. In addition a demonstration of the SAND spatial browser based on the SAND spatial database system and of the VASCO JAVA applet illustrating these methods (found at http://www.cs.umd.edu/~hjs/quadtree/index.html is presented.