ABSTRACT

Suppose we are simulating a collection of continu­ ously moving bodies, rigid or deformable, whose in­ stantaneous motion follows known laws. As the sim­ ulation proceeds, we are interested in maintaining cer­ tain quantities of interest (for example, the separation of the closest pair of objects), or detecting certain dis­ crete 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 struc­ tures. We discuss kinetic data structures for a va­ riety of fundamental geometric problems, such as the maintenance of convex hulls, Voronoi and Delaunay diagrams, closest pairs, and intersection and visibil­ ity problems. We also briefly address the issues that arise in implementing such structures robustly and ef­ ficiently. The resulting techniques satisfy three desir­ able properties: (1) they exploit the continuity of the motion of the objects to gain efficiency, (2) the num­ ber of events processed by the algorithms is close to the minimum necessary in the worst case, and (3) any ob­ ject may change its flight plan’ at any moment with a low cost update to the simulation data structures. For computer applications dealing with motion in the phys­ ical world, kinetic data structures lead to simulation performance unattainable by other means. In addition, they raise fundamentally new combinatorial and algo­ rithmic questions whose study may prove fruitful for other disciplines as well.