English

Visibility Queries in Simple Polygons

Computational Geometry 2026-05-06 v1 Data Structures and Algorithms

Abstract

Given a simple polygon PP with nn vertices, we consider the problem of constructing a data structure for visibility queries: for any query point qPq \in P, compute the visibility polygon of qq in PP. To obtain O(logn+k)O(\log n + k) query time, where kk is the size of the visibility polygon of qq, the previous best result requires O(n3)O(n^3) space. In this paper, we propose a new data structure that uses O(n2+ϵ)O(n^{2+\epsilon}) space, for any ϵ>0\epsilon > 0, while achieving the same query time. If only O(n2)O(n^2) space is available, the best known result provides O(log2n+k)O(\log^2 n + k) query time. We improve this to O(lognloglogn+k)O(\log n \log \log n + k) time. When restricted to o(n2)o(n^2) space, the only previously known approach, aside from the O(n)O(n)-time algorithm that computes the visibility polygon without preprocessing, is an O(n)O(n)-space data structure that supports O(klogn)O(k \log n)-time queries. We construct a data structure using O(nlogn)O(n \log n) space that answers visibility queries in O(n1/2+ϵ+k)O(n^{1/2+\epsilon} + k) time. In addition, for the special case in which qq lies on the boundary of PP, we build a data structure of O(nlogn)O(n \log n) space supporting O(log2n+k)O(\log^2 n + k) query time; alternatively, we achieve O(logn+k)O(\log n + k) query time using O(n1+ϵ)O(n^{1+\epsilon}) space. To achieve our results, we propose a new method for decomposing simple polygons, which may be of independent interest.

Keywords

Cite

@article{arxiv.2605.03334,
  title  = {Visibility Queries in Simple Polygons},
  author = {Sujoy Bhore and Chih-Hung Liu and Anurag Murty Naredla and Yakov Nekrich and Eunjin Oh and André van Renssen and Frank Staals and Haitao Wang and Jie Xue},
  journal= {arXiv preprint arXiv:2605.03334},
  year   = {2026}
}

Comments

To appear in ICALP 2026

R2 v1 2026-07-01T12:49:48.190Z