Discrete & Computational Geometry

, Volume 22, Issue 4, pp 569–592 | Cite as

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

  • D. Eppstein
  • J. Erickson


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(n 1+ε + n 8/11+ε r 9/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.


Data Structure Lower Intersection Fixed Rate Range Query Medial Axis 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Copyright information

© Springer-Verlag New York Inc. 1999

Authors and Affiliations

  • D. Eppstein
    • 1
  • J. Erickson
    • 2
  1. 1.Department of Information and Computer Science, University of California, Irvine, CA 92717, USA, US
  2. 2.Center for Geometric Computing, Department of Computer Science, Duke University, Durham, NC 27708, USA and Department of Computer Science, University of Illinois, Urbana, IL 61801 USA, jeffe@cs.uiuc.eduUS

Personalised recommendations