Raising roofs, crashing cycles, and playing pool: Applications of a data structure for finding pairwise interactions

Citation
D. Eppstein et J. Erickson, Raising roofs, crashing cycles, and playing pool: Applications of a data structure for finding pairwise interactions, DISC COM G, 22(4), 1999, pp. 569-592
Citations number
63
Categorie Soggetti
Engineering Mathematics
Journal title
DISCRETE & COMPUTATIONAL GEOMETRY
ISSN journal
01795376 → ACNP
Volume
22
Issue
4
Year of publication
1999
Pages
569 - 592
Database
ISI
SICI code
0179-5376(199912)22:4<569:RRCCAP>2.0.ZU;2-Y
Abstract
The straight skeleton of a polygon is a variant of the medial axis introduc ed 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 skel eton of an n-gon with r reflex vertices in time O (n(1+epsilon) + n(8/11+ep silon)r(9/11+epsilon)), for any fixed epsilon > 0, improving the previous b est upper bound of O(nr log n). Our algorithm simulates the sequence of col lisions between edges and vertices during the shrinking process, using a te chnique of Eppstein for maintaining extrema of binary functions to reduce t he problem of finding successive interactions to two dynamic range query pr oblems: (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 chang ing set of rays in R-3 and answer queries asking for the lowest intersectio n of any ray with a query triangle. We also exploit a novel characterizatio n of the straight skeleton as a lower envelope of triangles in R-3. The sam e time bounds apply to constructing non-self-intersecting offset curves wit h mitered or beveled corners, and similar methods extend to other problems of simulating collisions and other pairwise interactions among sets of movi ng objects.