🤖 AI Summary
This study addresses the problem of efficiently computing the visibility polygon of an arbitrary query point inside a simple polygon. The authors propose a novel polygon decomposition technique that, when integrated with carefully designed geometric data structures and space–time trade-offs, significantly improves query performance under varying space budgets. Specifically, they achieve optimal query time $O(\log n + k)$ using $O(n^{2+\varepsilon})$ space, and—more notably—in the practically relevant $O(n \log n)$ space regime, they improve upon the previous $O(k \log n)$ query time to $O(n^{1/2+\varepsilon} + k)$, thereby attaining sublinear query complexity for the first time within subquadratic space. These results establish state-of-the-art query complexities across multiple space constraints.
📝 Abstract
Given a simple polygon $P$ with $n$ vertices, we consider the problem of constructing a data structure for visibility queries: for any query point $q \in P$, compute the visibility polygon of $q$ in $P$. To obtain $O(\log n + k)$ query time, where $k$ is the size of the visibility polygon of $q$, the previous best result requires $O(n^3)$ space. In this paper, we propose a new data structure that uses $O(n^{2+ε})$ space, for any $ε> 0$, while achieving the same query time. If only $O(n^2)$ space is available, the best known result provides $O(\log^2 n + k)$ query time. We improve this to $O(\log n \log \log n + k)$ time. When restricted to $o(n^2)$ space, the only previously known approach, aside from the $O(n)$-time algorithm that computes the visibility polygon without preprocessing, is an $O(n)$-space data structure that supports $O(k \log n)$-time queries. We construct a data structure using $O(n \log n)$ space that answers visibility queries in $O(n^{1/2+ε} + k)$ time. In addition, for the special case in which $q$ lies on the boundary of $P$, we build a data structure of $O(n \log n)$ space supporting $O(\log^2 n + k)$ query time; alternatively, we achieve $O(\log n + k)$ query time using $O(n^{1+ε})$ space. To achieve our results, we propose a new method for decomposing simple polygons, which may be of independent interest.