A Time-Space Trade-off for Computing the k-Visibility Region of a Point in a Polygon (1603.02853v3)
Abstract: Let $P$ be a simple polygon with $n$ vertices, and let $q \in P$ be a point in $P$. Let $k \in {0, \dots, n - 1}$. A point $p \in P$ is $k$-visible from $q$ if and only if the line segment $pq$ crosses the boundary of $P$ at most $k$ times. The $k$-visibility region of $q$ in $P$ is the set of all points that are $k$-visible from $q$. We study the problem of computing the $k$-visibility region in the limited workspace model, where the input resides in a random-access read-only memory of $O(n)$ words, each with $\Omega(\log{n})$ bits. The algorithm can read and write $O(s)$ additional words of workspace, where $s \in \mathbb{N}$ is a parameter of the model. The output is written to a write-only stream. Given a simple polygon $P$ with $n$ vertices and a point $q \in P$, we present an algorithm that reports the $k$-visibility region of $q$ in $P$ in $O(cn/s+c\log{s} + \min{\lceil k/s \rceil n,n \log{\log_s{n}}})$ expected time using $O(s)$ words of workspace. Here, $c \in {1, \dots, n}$ is the number of critical vertices of $P$ for $q$ where the $k$-visibility region of $q$ may change. We generalize this result for polygons with holes and for sets of non-crossing line segments.
Collections
Sign up for free to add this paper to one or more collections.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.