Kinetic data structures: a state of the art report

Suppose we are simulating a collection of continuously moving bodies, rigid or deformable, whose instantaneous motion follows known laws. As the simulation proceeds, we are interested in maintaining certain quantities of interest (for example, the separation of the closest pair of objects), or detecting certain discrete events (for example, collisions) which may, in turn, alter the motion laws of the objects. In this paper we present a general framework for addressing such problems and the tools for designing and analyzing relevant algorithms, which we call kinetic data structures. We discuss kinetic data structures for a variety of fundamental geometric problems, such as the maintenance of convex hulls, Voronoi and Delaunay diagrams, closest pairs, and intersection and visibility problems. We also brie y address the issues that arise in implementing such structures robustly and efciently. The resulting techniques satisfy three desirable properties: (1) they exploit the continuity of the motion of the objects to gain e ciency, (2) the number of events processed by the algorithms is close to the minimum necessary in the worst case, and (3) any object may change its ` ight plan' at any moment with a low cost update to the simulation data structures. For computer applications dealing with motion in the physical world, kinetic data structures lead to simulation performance unattainable by other means. In addition, they raise fundamentally new combinatorial and algorithmic questions whose study may prove fruitful for other disciplines as well.

[1]  Bruce W. Weide,et al.  Optimal Expected-Time Algorithms for Closest Point Problems , 1980, TOMS.

[2]  Mark H. Overmars,et al.  Maintenance of configurations in the plane (revised edition) , 1981 .

[3]  M. Atallah Some dynamic computational geometry problems , 1985 .

[4]  Leonidas J. Guibas,et al.  Topologically sweeping an arrangement , 1986, STOC '86.

[5]  Leslie Greengard,et al.  A fast algorithm for particle simulations , 1987 .

[6]  Herbert Edelsbrunner,et al.  Algorithms in Combinatorial Geometry , 1987, EATCS Monographs in Theoretical Computer Science.

[7]  John Hershberger,et al.  Finding the Upper Envelope of n Line Segments in O(n log n) Time , 1989, Inf. Process. Lett..

[8]  Leonidas J. Guibas,et al.  The complexity of many cells in arrangements of planes and related problems , 1990, Discret. Comput. Geom..

[9]  Enric Torres,et al.  Optimization of the Binary Space Partition Algorithm (BSP) for the Visualization of Dynamic Scenes , 1990, Eurographics.

[10]  Richard C. T. Lee,et al.  Voronoi Diagrams of Moving Points in the Plane , 1990, FSTTCS.

[11]  Carlo H. Séquin,et al.  Visibility preprocessing for interactive walkthroughs , 1991, SIGGRAPH.

[12]  S. Toledo Extremal Polygon Containment Problems and Other Issues in Parametric Searching , 1991 .

[13]  Simon Kahan,et al.  A model for data in motion , 1991, STOC '91.

[14]  Otfried Cheong,et al.  Euclidean minimum spanning trees and bichromatic closest pairs , 1991, Discret. Comput. Geom..

[15]  Bruce F. Naylor,et al.  Interactive solid geometry via partitioning trees , 1992 .

[16]  Leonidas J. Guibas,et al.  Diameter, width, closest line pair, and parametric searching , 1992, SCG '92.

[17]  Vladlen Koltun Almost tight upper bounds for lower envelopes in higher dimensions , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[18]  M. Sharir,et al.  New bounds for lower envelopes in three dimensions, with applications to visibility in terrains , 1993, SCG '93.

[19]  Ketan Mulmuley,et al.  Computational geometry : an introduction through randomized algorithms , 1993 .

[20]  Micha Sharir,et al.  Davenport-Schinzel sequences and their geometric applications , 1995, Handbook of Computational Geometry.

[21]  Hisao Tamaki,et al.  How to cut pseudo-parabolas into segments , 1995, SCG '95.

[22]  David Baraff,et al.  Interactive simulation of solid rigid bodies , 1995, IEEE Computer Graphics and Applications.

[23]  Takeshi Tokuyama,et al.  On minimum and maximum spanning trees of linearly moving points , 1995, Discret. Comput. Geom..

[24]  Dinesh Manocha,et al.  OBBTree: a hierarchical structure for rapid interference detection , 1996, SIGGRAPH.

[25]  Micha Sharir,et al.  The overlay of lower envelopes and its applications , 1996, Discret. Comput. Geom..

[26]  Jeff Erickson,et al.  New lower bounds for Hopcroft's problem , 1995, SCG '95.

[27]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[28]  Leonidas J. Guibas,et al.  Data structures for mobile data , 1997, SODA '97.

[29]  Leonidas J. Guibas,et al.  A practical evaluation of kinetic data structures , 1997, SCG '97.

[30]  Leonidas J. Guibas,et al.  Sweeping lines and line segments with a heap , 1997, SCG '97.

[31]  Leonidas J. Guibas,et al.  Proximity problems on moving points , 1997, SCG '97.

[32]  Piotr Indyk,et al.  Probabilistic analysis for combinatorial functions of moving points , 1997, SCG '97.

[33]  Leonidas J. Guibas,et al.  Maintaining the Extent of a Moving Point Set , 1997, WADS.

[34]  Leonidas J. Guibas,et al.  Kinetic binary space partitions for intersecting segments and disjoint triangles , 1998, SODA '98.

[35]  Ovidiu Daescu,et al.  Maintaining Visibility of a Polygon with a Moving Point of View , 1996, Inf. Process. Lett..

[36]  Fast Collision Detection Among Multiple Moving Spheres , 1998, IEEE Trans. Vis. Comput. Graph..

[37]  Hisao Tamaki,et al.  How to Cut Pseudoparabolas into Segments , 1998, Discret. Comput. Geom..

[38]  Leonidas J. Guibas,et al.  Cylindrical static and kinetic binary space partitions , 2000, Comput. Geom..