Raising Roofs, Crashing Cycles, and Playing Pool: Applications of a Data Structure for Finding Pairwise Interactions

Abstract. The straight skeleton of a polygon is a variant of the medial axis introduced by Aichholzer et al., defined by a shrinking process in which each edge of the polygon moves inward at a fixed rate. We construct the straight skeleton of an n -gon with r reflex vertices in time O(n1+ε + n8/11+εr9/11+ε) , for any fixed ε >0 , improving the previous best upper bound of O(nr log n) . Our algorithm simulates the sequence of collisions between edges and vertices during the shrinking process, using a technique of Eppstein for maintaining extrema of binary functions to reduce the problem of finding successive interactions to two dynamic range query problems: (1) maintain a changing set of triangles in R3 and answer queries asking which triangle is first hit by a query ray, and (2) maintain a changing set of rays in R3 and answer queries asking for the lowest intersection of any ray with a query triangle. We also exploit a novel characterization of the straight skeleton as a lower envelope of triangles in R3 . The same time bounds apply to constructing non-self-intersecting offset curves with mitered or beveled corners, and similar methods extend to other problems of simulating collisions and other pairwise interactions among sets of moving objects.

[1]  John F. Canny,et al.  Impulse-based simulation of rigid bodies , 1995, I3D '95.

[2]  David Eppstein,et al.  Fast hierarchical clustering and other applications of dynamic closest pairs , 1999, SODA '98.

[3]  Leonidas J. Guibas,et al.  Kinetic data structures: a state of the art report , 1998 .

[4]  Robert J. Lang,et al.  A computational algorithm for origami design , 1996, SCG '96.

[5]  Timothy M. Chan Fixed-dimensional linear programming queries made easy , 1996, SCG '96.

[6]  Mark H. Overmars,et al.  Batched Dynamic Solutions to Decomposable Searching Problems , 1985, J. Algorithms.

[7]  F. Bookstein The line-skeleton , 1979 .

[8]  Jorge Urrutia,et al.  Galleries, Light Matchings and Visibility Graphs , 1989, WADS.

[9]  Micha Sharir,et al.  Applications of a new space-partitioning technique , 1993, Discret. Comput. Geom..

[10]  Gábor Lukács,et al.  Pocket machining based on contour-parallel tool paths generated by means of proximity maps , 1994, Comput. Aided Des..

[11]  Cristopher Moore,et al.  Life Without Death is P-complete , 1997, Complex Syst..

[12]  Mark de Berg,et al.  Efficient ray shooting and hidden surface removal , 1991, SCG '91.

[13]  Erik D. Demaine,et al.  Folding and Cutting Paper , 1998, JCDCG.

[14]  Jon Louis Bentley,et al.  Decomposable Searching Problems I: Static-to-Dynamic Transformation , 1980, J. Algorithms.

[15]  Philip M. Hubbard,et al.  Collision Detection for Interactive Graphics Applications , 1995, IEEE Trans. Vis. Comput. Graph..

[16]  Pravin M. Vaidya Geometry helps in matching , 1988, STOC '88.

[17]  Micha Sharir,et al.  Ray Shooting Amidst Spheres in Three Dimensions and Related Problems , 1997, SIAM J. Comput..

[18]  Rolf Klein,et al.  Concrete and Abstract Voronoi Diagrams , 1990, Lecture Notes in Computer Science.

[19]  David Eppstein,et al.  Dynamic Euclidean minimum spanning trees and extrema of binary functions , 1995, Discret. Comput. Geom..

[20]  L. Nackman,et al.  Automatic mesh generation using the symmetric axis transformation of polygonal domains , 1992, Proc. IEEE.

[21]  P. J. Vermeer Medial axis transform to boundary representation conversion , 1994 .

[22]  Martin Held,et al.  Voronoi diagrams and offset curves of curvilinear polygons , 1998, Comput. Aided Des..

[23]  Franz Aurenhammer,et al.  A Novel Type of Skeleton for Polygons , 1996 .

[24]  L. Chew Building Voronoi Diagrams for Convex Polygons in Linear Expected Time , 1990 .

[25]  David Eppstein,et al.  Raising roofs, crashing cycles, and playing pool: applications of a data structure for finding pairwise interactions , 1998, SCG '98.

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

[27]  Francis Y. L. Chin,et al.  Finding the Medial Axis of a Simple Polygon in Linear Time , 1995, ISAAC.

[28]  Leonidas J. Guibas,et al.  A linear-time algorithm for computing the voronoi diagram of a convex polygon , 1989, Discret. Comput. Geom..

[29]  Timothy M. Chan Geometric Applications of a Randomized Optimization Technique , 1998, SCG '98.

[30]  Jirí Matousek,et al.  Ray Shooting and Parametric Search , 1993, SIAM J. Comput..

[31]  Vincent Hayward,et al.  The use of awareness in collision prediction , 1990, Proceedings., IEEE International Conference on Robotics and Automation.

[32]  W. E. Hartnett,et al.  Shape Recognition, Prairie Fires, Convex Deficiencies and Skeletons , 1968 .

[33]  Mikhail J. Atallah,et al.  P-complete geometric problems , 1993, Int. J. Comput. Geom. Appl..

[34]  Leonidas J. Guibas,et al.  A Singly Exponential Stratification Scheme for Real Semi-Algebraic Varieties and its Applications , 1991, Theor. Comput. Sci..

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

[36]  T. Tam,et al.  2D finite element mesh generation by medial axis subdivision , 1991 .

[37]  Fritz B. Prinz,et al.  Box-skeletons of discrete solids , 1996, Comput. Aided Des..

[38]  Jirí Matousek,et al.  Reporting Points in Halfspaces , 1992, Comput. Geom..

[39]  D. T. Lee,et al.  Medial Axis Transformation of a Planar Shape , 1982, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[40]  David Eppstein Offline Algorithms for Dynamic Minimum Spanning Tree Problems , 1994, J. Algorithms.

[41]  Franz Aurenhammer,et al.  Straight Skeletons for General Polygonal Figures in the Plane , 1996, COCOON.

[42]  David G. Kirkpatrick,et al.  A compact piecewise-linear voronoi diagram for convex sites in the plane , 1996, Discret. Comput. Geom..

[43]  Jirí Matousek,et al.  On range searching with semialgebraic sets , 1992, Discret. Comput. Geom..

[44]  David P. Dobkin,et al.  Maintenance of geometric extrema ∈ , 1991, JACM.

[45]  Nimrod Megiddo,et al.  Applying parallel computation algorithms in the design of serial algorithms , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[46]  Michael Ian Shamos,et al.  The New Illustrated Encyclopedia Of Billiards , 1993 .

[47]  Chee-Keng Yap,et al.  A "Retraction" Method for Planning the Motion of a Disc , 1985, J. Algorithms.

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

[49]  Olivier Devillers Randomization yields simple O(n log* n) algorithms for difficult Omega(n) problems , 1992, Int. J. Comput. Geom. Appl..

[50]  Dinesh Manocha,et al.  I-COLLIDE: an interactive and exact collision detection system for large-scale environments , 1995, I3D '95.

[51]  James A. Storer,et al.  Shortest paths in the plane with polygonal obstacles , 1994, JACM.