Planar point location using persistent search trees
Communications of the ACM
Optimal shortest path queries in a simple polygon
Journal of Computer and System Sciences
The robot localization problem in two dimensions
SODA '92 Proceedings of the third annual ACM-SIAM symposium on Discrete algorithms
A pedestrian approach to ray shooting: shoot a ray, take a walk
SODA '93 Proceedings of the fourth annual ACM-SIAM Symposium on Discrete algorithms
Data structures for mobile data
SODA '97 Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms
Design of Dynamic Data Structures
Design of Dynamic Data Structures
Maintaining Visibility of a Polygon with a Moving Point of View
Proceedings of the 8th Canadian Conference on Computational Geometry
A theorem on polygon cutting with applications
SFCS '82 Proceedings of the 23rd Annual Symposium on Foundations of Computer Science
A New Visibility Partition for Affine Pattern Matching
DGCI '00 Proceedings of the 9th International Conference on Discrete Geometry for Computer Imagery
Hi-index | 0.01 |
In this paper we explore some novel aspects of visibility for stationary and moving points inside a simple polygon P. We provide a mechanism for expressing the visibility polygon from a point as the disjoint union of logarithmically many canonical pieces using a quadraticspace data structure. This allows us to report visibility polygons in time proportional to their size, but without the cubic space overhead of earlier methods. The same canonical decomposition can be used to determine visibility within a frustum, or to compute various attributes of the visibility polygon efficiently. By exploring the connection between visibility polygons and shortest path trees, we obtain a kinetic algorithm that can track the visibility polygon as the viewpoint moves along polygonal paths inside P, at a polylogarithmic cost per combinatorial change in the visibility. The combination of the static and kinetic algorithms leads to a space query-time tradeoff for the visibility from a point problem and an output-sensitive algorithm for the weak visibility from a segment problem.