Visibility Queries and Maintenance in Simple Polygons
Visibility Queries and Maintenance in Simple Polygons
复制标题
DOI:
10.1007/s00454-001-0089-9
复制
发表时间:
2002
影响因子:
0.8
通讯作者:
B. Aronov;L. Guibas;M. Teichmann;Li Zhang
中科院分区:
文献类型:
--
作者:
B. Aronov;L. Guibas;M. Teichmann;Li Zhang
In this paper we explore some novel aspects of visibility for stationary and moving points inside a simple polygonP. We provide a mechanism for expressing the visibility polygon from a point as the disjoint union of logarithmically many canonical pieces using a quadratic-space 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 insideP, 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 off 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 insidePin output-sensitive time.