Discrete & Computational Geometry

, Volume 22, Issue 4, pp 569–592

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

  • D. Eppstein
  • J. Erickson

DOI: 10.1007/PL00009479

Cite this article as:
Eppstein, D. & Erickson, J. Discrete Comput Geom (1999) 22: 569. doi:10.1007/PL00009479

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.

Copyright information

© 1998 Springer-Verlag New York Inc.

Authors and Affiliations

  • D. Eppstein
    • 1
  • J. Erickson
    • 2
  1. 1.Department of Information and Computer Science, University of California, Irvine, CA 92717, USA http://www.ics.uci.edu/~eppstein, eppstein@ics.uci.edu 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 http://www.uiuc.edu/~jeffe, jeffe@cs.uiuc.eduUS

Personalised recommendations