A Time-Space Trade-off for Computing the k-Visibility Region of a Point in a Polygon
Abstract
Let P be a simple polygon with n vertices, and let q ∈ P be a point in P. Let k ∈ \0, …, n - 1\. A point p ∈ 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 (n) bits. The algorithm can read and write O(s) additional words of workspace, where s ∈ 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 ∈ P, we present an algorithm that reports the k-visibility region of q in P in O(cn/s+cs + \ k/s n,n sn\) expected time using O(s) words of workspace. Here, c ∈ \1, …, 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.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.