Raising Roofs, Crashing Cycles, and Playing Pool: Applications of a Data Structure for Finding Pairwise Interactions
Purchase on Springer.com
$39.95 / €34.95 / £29.95*
Rent the article at a discountRent now
* Final gross prices may vary according to local VAT.
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 R 3 and answer queries asking which triangle is first hit by a query ray, and (2) maintain a changing set of rays in R 3 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 R 3 . 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.
- Raising Roofs, Crashing Cycles, and Playing Pool: Applications of a Data Structure for Finding Pairwise Interactions
Discrete & Computational Geometry
Volume 22, Issue 4 , pp 569-592
- Cover Date
- Print ISSN
- Online ISSN
- Additional Links
- Author Affiliations
- A1. Department of Information and Computer Science, University of California, Irvine, CA 92717, USA http://www.ics.uci.edu/~eppstein, firstname.lastname@example.org, US
- A2. 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, email@example.com, US