Abstract
Let s be a point in a polygonal domain $${\mathcal {P}}$$ of $$h-1$$ holes and n vertices. We consider a quickest visibility query problem. Given a query point q in $${\mathcal {P}}$$ , the goal is to find a shortest path in $${\mathcal {P}}$$ to move from s to seeq as quickly as possible. Previously, Arkin et al. (SoCG 2015) built a data structure of size $$O(n^22^{\alpha (n)}\log n)$$ that can answer each query in $$O(K\log ^2 n)$$ time, where $$\alpha (n)$$ is the inverse Ackermann function and K is the size of the visibility polygon of q in $${\mathcal {P}}$$ (and K can be $$\varTheta (n)$$ in the worst case). In this paper, we present a new data structure of size $$O(n\log h + h^2)$$ that can answer each query in $$O(h\log h\log n)$$ time. Our result improves the previous work when h is relatively small. In particular, if h is a constant, then our result even matches the best result for the simple polygon case (i.e., $$h=1$$ ), which is optimal. As a by-product, we also have a new algorithm for a shortest-path-to-segment query problem. Given a query line segment $$\tau $$ in $${\mathcal {P}}$$ , the query seeks a shortest path from s to all points of $$\tau $$ . Previously, Arkin et al. gave a data structure of size $$O(n^22^{\alpha (n)}\log n)$$ that can answer each query in $$O(\log ^2 n)$$ time, and another data structure of size $$O(n^3\log n)$$ with $$O(\log n)$$ query time. We present a data structure of size O(n) with query time $$O\big (h\log \frac{n}{h}\big )$$ , which also favors small values of h and is optimal when $$h=O(1)$$ .
Highlights
Let P be a polygonal domain with h − 1 holes and a total of n vertices, i.e., there is an outer simple polygon containing h − 1 pairwise disjoint holes and each hole itself is a simple polygon
For any point q in P, its visibility polygon consists of all points of P visible to q, denoted by Vis(q)
We present a new data structure of O(n log h + h2) size with O(h log h log n) query time
Summary
Let P be a polygonal domain with h − 1 holes and a total of n vertices, i.e., there is an outer simple polygon containing h − 1 pairwise disjoint holes and each hole itself is a simple polygon. Given any point q in P, the query asks for a path to move from s to see q as quickly as possible Such a “quickest path” is a shortest path from s to all points of Vis(q). 61:2 Quickest Visibility Queries in Polygonal Domains interesting in that when h = O(1), the data structure has O(n) size and O(log n) query time, which matches the result for the simple polygon case [1] and is optimal. Given any line segment τ in P, the segment query asks for a shortest path from s to all points of τ. Given the shortest path map of s, our quickest visibility query data structure can be built in O(n log h + h2 log h) time and our segment query data structure can be built in O(n) time. Throughout the paper, whenever we talk about a query related to paths in P, the query time always refers to the time for computing the path length, and to output the actual path, it needs additional time linear in the number of edges of the path by standard techniques
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have