Parabola separation queries and their application to stone throwing
Résumé
Given two sets A and B of m non-crossing line segments in the plane, we show how to compute in O(mlogm) time a data structure that uses O(m) storage and supports the following query in O(logm) time: Given a parabola \p:y=ax2+bx+c, does \p separate A and B? This structure can be used to build a data structure that stores a simple polygon and allows ray-shooting queries along parabolic trajectories with vertical main axis. For a polygon of complexity~n, we can answer such ``stone-throwing'' queries in O(log2n) time, using O(nlogn) storage and O(nlog2n) preprocessing time. This matches the best known bound for circular ray shooting in simple polygons.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...