Computer Science > Computational Geometry
[Submitted on 9 Mar 2016 (v1), last revised 13 Aug 2019 (this version, v3)]
Title:A Time-Space Trade-off for Computing the k-Visibility Region of a Point in a Polygon
View PDFAbstract: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.
Submission history
From: Wolfgang Mulzer [view email][v1] Wed, 9 Mar 2016 11:33:45 UTC (396 KB)
[v2] Sat, 9 Jun 2018 09:53:17 UTC (214 KB)
[v3] Tue, 13 Aug 2019 10:06:42 UTC (201 KB)
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.