Abstract

Let PP be a simple polygon with nn vertices, and let AA be a set of mm points or line segments inside PP. We develop data structures that can efficiently count the number of objects from AA that are visible to a query point or a query segment. Our main aim is to obtain fast, O(polylognmO(\mathop{\textrm{polylog}} nm), query times, while using as little space as possible. In case the query is a single point, a simple visibility-polygon-based solution achieves O(log⁡nm)O(\log nm) query time using O(nm2)O(nm^2) space. In case AA also contains only points, we present a smaller, O(n+m2+εlog⁡n)O(n + m^{2 + \varepsilon}\log n)-space, data structure based on a hierarchical decomposition of the polygon. Building on these results, we tackle the case where the query is a line segment and AA contains only points. The main complication here is that the segment may intersect multiple regions of the polygon decomposition, and that a point may see multiple such pieces. Despite these issues, we show how to achieve O(log⁡nlog⁡nm)O(\log n\log nm) query time using only O(nm2+ε+n2)O(nm^{2 + \varepsilon} + n^2) space. Finally, we show that we can even handle the case where the objects in AA are segments with the same bounds.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.