Simple traversal of a subdivision without extra storage

In this paper we show how to traverse a subdivision and to report all cells, edges and vertices, without making use of mark bits in the structure or a stack. We do this by performing a depth-first search on the subdivision, using local criteria for deciding what is the next cell to visit. Our method is extremely simple and provably correct. The algorithm has applications in the field of geographic information systems (GIS), where traversing subdivisions is a common operation, but modifying the database is unwanted or impossible. We show how to adapt our algorithm to answer related queries, such as windowing queries and reporting connected subsets of cells that have a common attribute. Finally, we show how to extend our algorithm such that it can handle convex threedimensional subdivisions.

[1]  David Avis,et al.  Reverse Search for Enumeration , 1996, Discret. Appl. Math..

[2]  Komei Fukuda,et al.  Combinatorial Face Enumeration in Convex Polytopes , 1994, Comput. Geom..

[3]  David Avis,et al.  A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra , 1991, SCG '91.

[4]  D F Marble,et al.  Technical description of the DIME System , 1990 .

[5]  Herbert Edelsbrunner,et al.  An acyclicity theorem for cell complexes in d dimensions , 1989, SCG '89.

[6]  P. Pizor Principles of Geographical Information Systems for Land Resources Assessment. , 1987 .

[7]  David P. Dobkin,et al.  Primitives for the manipulation of three-dimensional subdivisions , 1987, SCG '87.

[8]  Christopher M. Gold,et al.  Spatially ordered networks and topographic reconstructions , 1987, Int. J. Geogr. Inf. Sci..

[9]  P. Burrough Principles of Geographical Information Systems for Land Resources Assessment , 1986 .

[10]  Leonidas J. Guibas,et al.  Optimal Point Location in a Monotone Subdivision , 1986, SIAM J. Comput..

[11]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[12]  L. Guibas,et al.  Primitives for the manipulation of general subdivisions and the computation of Voronoi , 1985, TOGS.

[13]  Leonidas J. Guibas,et al.  Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams , 1983, STOC.

[14]  David E. Muller,et al.  Finding the Intersection of two Convex Polyhedra , 1978, Theor. Comput. Sci..

[15]  C. M. Gold,et al.  Automated contour mapping using triangular element data structures and an interpolant over each irregular triangular domain , 1977, SIGGRAPH '77.