Quadtrees for embedded surface visualization: constraints and efficient data structures
The quadtree data structure is widely used in digital image processing and computer graphics for modeling spatial segmentation of images and surfaces. A quadtree is a tree in which each node has four descendants. Since most algorithms based on quadtrees require complex navigation between nodes, efficient traversal methods as well as efficient storage techniques are of great interest. In this paper we first propose an efficient indexing scheme for a linear (pointerless) quadtree data structure. Such a quadtree is stored using a unidimensional array of nodes. Our indexing scheme has the property that the navigation between any pair of nodes can be computed in constant time. Moreover the navigation across multiple quadtrees can be achieved at the same cost. We illustrate our results on applications in computer graphics. We first show how the problem of computing a so-called restricted quadtree can be solved at optimal cost, e.g. with a computational complexity having the order of magnitude of the problem size. Then, we explain how this problem can be solved in the case of surfaces modeled using multiple quadtrees. Finally, we show how a tessellated sphere can be implemented and navigated using our data structure.