| | |
Summary: Visibility Queries and Maintenance in Simple Polygons #
Boris Aronov + Leonidas J. Guibas # Marek Teichmann § Li Zhang ¶
Abstract
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 e#ciently. By exploring the connection between visibility polygons and shortestpath
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 or in the flight plan of the point. The combination of the static and kinetic algorithms
leads to a new static algorithm in which we can trade o# space for increased overhead in the
query time. As another application, we obtain an algorithm which computes the weak visibility
polygon from a query segment inside P in outputsensitive time.
# Boris Aronov was partially supported by NSF Grant CCR9211541 and a Sloan Research Fellowship. Leonidas
Guibas and Li Zhang were partially supported by NSF grants CCR9623851, CCR9910633, U.S. Army Research O#ce
MURI grant DAAH049610007, and DARPA TMR grant DAAE0798L027. Marek Teichmann was supported by
the National Science and Engineering Council of Canada.
|