We study the query version of constrained minimum link paths between two points inside a simple polygon $P$ with $n$ vertices such that there is at least one point on the path, visible from a query point. The method is based on partitioning $P$ into a number of faces of equal link distance from a point, called a link-based shortest path map (SPM). Initially, we solve this problem for two given points $s$, $t$ and a query point $q$. Then, the proposed solution is extended to a general case for three arbitrary query points $s$, $t$ and $q$. In the former, we propose an algorithm with $O(n)$ preprocessing time. Extending this approach for the latter case, we develop an algorithm with $O(n^3)$ preprocessing time. The link distance of a $q$-$visible$ path between $s$, $t$ as well as the path are provided in time $O(\log n)$ and $O(m+\log n)$, respectively, for the above two cases, where $m$ is the number of links.
We devise the following dynamic algorithms for both maintaining as well as querying for the visibility and weak visibility polygons amid vertex insertions and/or deletions to the simple polygon. * A fully-dynamic algorithm for maintaining the visibility polygon of a fixed point located interior to the simple polygon amid vertex insertions and deletions to the simple polygon. The time complexity to update the visibility polygon of a point $q$ due to the insertion (resp. deletion) of vertex $v$ to (resp. from) the current simple polygon is expressed in terms of the number of combinatorial change…
A deflated polygon is a polygon with no visibility crossings. We answer a question posed by Devadoss et al. (2012) by presenting a polygon that cannot be deformed via continuous visibility-decreasing motion into a deflated polygon. We show that the least n for which there exists such an n-gon is seven. In order to demonstrate non-deflatability, we use a new combinatorial structure for polygons, the directed dual, which encodes the visibility properties of deflated polygons. We also show that any two deflated polygons with the same directed dual can be deformed, one into the other, through a vi…
Visibility graph of a simple polygon is a graph with the same vertex set in which there is an edge between a pair of vertices if and only if the segment through them lies completely inside the polygon. Each pair of adjacent vertices on the boundary of the polygon are assumed to be visible. Therefore, the visibility graph of each polygon always contains its boundary edges. This implies that we have always a Hamiltonian cycle in a visibility graph which determines the order of vertices on the boundary of the corresponding polygon. In this paper, we propose a polynomial time algorithm for determi…
We investigate a practical variant of the well-known polygonal visibility path (watchman) problem. For a polygon $P$, a minimum link visibility path is a polygonal visibility path in $P$ that has the minimum number of links. The problem of finding a minimum link visibility path is NP-hard for simple polygons. If the link-length (number of links) of a minimum link visibility path (tour) is $Opt$ for a simple polygon $P$ with $n$ vertices, we provide an algorithm with $O(kn^2)$ runtime that produces polygonal visibility paths (or tours) of link-length at most $(γ+a_l/(k-1))Opt$ (or $(γ+a_l/k)Opt…
The purpose of this note is to give a simple proof for a necessary and sufficient condition for visibility paths in simple polygons. A visibility path is a curve such that every point inside a simple polygon is visible from at least one point on the path. This result is essential for finding the shortest watchman route inside a simple polygon specially when the route is restricted to curved paths.
We devise an algorithm for maintaining the visibility polygon of any query point in a dynamic polygonal domain, i.e., as the polygonal domain is modified with vertex insertions and deletions to its obstacles, we update the data structures that store the visibility polygon of the query point. After preprocessing the initial input polygonal domain to build a few data structures, our algorithm takes O(k(\lg{|VP_{\cal P'}(q)|})+(\lg{n'})^{2}+h) (resp. O(k(\lg n')^2+(\lg|VP_{\cal P'}(q)|)+h)) worst-case time to update data structures that store visibility polygon VP_{\cal P'}(q) of a query point q …
Determining visibility in planar polygons and arrangements is an important subroutine for many algorithms in computational geometry. In this paper, we report on new implementations, and corresponding experimental evaluations, for two established and one novel algorithm for computing visibility polygons. These algorithms will be released to the public shortly, as a new package for the Computational Geometry Algorithms Library (CGAL).
The VC-dimension plays an important role for the algorithmic problem of guarding art galleries efficiently. We prove that inside a simple polygon at most $5$ points can be shattered by $L_1$-visibility polygons and give an example where 5 points are shattered. The VC-dimension is exactly $5$. The proof idea for the upper bound is different from previous approaches. Keywords: Art gallery, VC-dimension, $L_1$-visibility, polygons
In this paper, we give a characterization of the visibility graphs of pseudo-polygons. We first identify some key combinatorial properties of pseudo-polygons, and we then give a set of five necessary conditions based off our identified properties. We then prove that these necessary conditions are also sufficient via a reduction to a characterization of vertex-edge visibility graphs given by O'Rourke and Streinu.
We introduce the \emph{visibility center} of a set of points inside a polygon -- a point $c_V$ such that the maximum geodesic distance from $c_V$ to see any point in the set is minimized. For a simple polygon of $n$ vertices and a set of $m$ points inside it, we give an $O((n+m) \log {(n+m)})$ time algorithm to find the visibility center. We find the visibility center of \emph{all} points in a simple polygon in $O(n \log n)$ time. Our algorithm reduces the visibility center problem to the problem of finding the geodesic center of a set of half-polygons inside a polygon, which is of independent…
In this paper we consider the problem of computing the weak visibility polygon of any query line segment $pq$ (or $WVP(pq)$) inside a given polygon $P$. Our first non-trivial algorithm runs in simple polygons and needs $O(n^3 \log n)$ time and $O(n^3)$ space in the preprocessing phase to report $WVP(pq)$ of any query line segment $pq$ in time $O(\log n + |WVP(pq)|)$. We also give an algorithm to compute the weak visibility polygon of a query line segment in a non-simple polygon with $h$ pairwise-disjoint polygonal obstacles with a total of $n$ vertices. Our algorithm needs $O(n^2 \log n)$ time…
The visibility graph of a simple polygon represents visibility relations between its vertices. Knowing the correct order of the vertices around the boundary of a polygon and its visibility graph, it is an open problem to locate the vertices in a plane in such a way that it will be consistent with this visibility graph. This problem has been solved for special cases when we know that the target polygon is a {\it tower} or a {\it spiral}. Knowing that a given visibility graph belongs to a simple polygon with at most three concave chains on its boundary, a {\it pseuodo-triangle}, we propose a lin…
We are interested in the problem of guarding simple orthogonal polygons with the minimum number of $ r $-guards. The interior point $ p $ belongs an orthogonal polygon $ P $ is visible from $ r $-guard $ g $, if the minimum area rectangle contained $ p $ and $ q $ lies within $ P $. A set of point guards in polygon $ P $ is named guard set (as denoted $ G $) if the union of visibility areas of these point guards be equal to polygon $ P $ i.e. every point in $ P $ be visible from at least one point guards in $ G $. For an orthogonal polygon, if dual graph of vertical decomposition is a path, it…
This paper considers the problem of computing the weak visibility polygon (WVP) of any query line segment pq (or WVP(pq)) inside a given simple polygon P. We present an algorithm that preprocesses P and creates a data structure from which WVP(pq) is efficiently reported in an output sensitive manner. Our algorithm needs O(n^2 log n) time and O(n^2) space in the preprocessing phase to report WVP(pq) of any query line segment pq in time O(log^2 n + |WVP(pq)|). We improve the preprocessing time and space of current results for this problem at the expense of more query time.
Given a simple polygon $P$ consisting of $n$ vertices, we study the problem of designing space-efficient algorithms for computing (i) the visibility polygon of a point inside $P$, (ii) the weak visibility polygon of a line segment inside $P$ and (iii) the minimum link path between a pair of points inside $P$. For problem (i) two algorithms are proposed. The first one is an in-place algorithm where the input array may be lost. It uses only O(1) extra space apart from the input array. The second one assumes that the input is given in a read-only array, and it needs $O(\sqrt{n})$ extra space. The…
A hidden guard set $ G $ is a set of point guards in polygon $ P $ that all points of the polygon are visible from some guards in $ G $ under the constraint that no two guards may see each other. In this paper, we consider the problem for finding minimum hidden guard sets in histogram polygons under orthogonal visibility. Two points $ p $ and $ q $ are orthogonally visible if the orthogonal bounding rectangle for $ p $ and $ q $ lies within $ P $. It is known that the problem is NP-hard for simple polygon with general visibility and it is true for simple orthogonal polygon. We proposed a linea…
For a polygon P with n vertices, the vertex guarding problem asks for the minimum subset G of P's vertices such that every point in P is seen by at least one point in G. This problem is NP-complete and APX-hard. The first approximation algorithm (Ghosh, 1987) involves decomposing P into O(n^4) cells that are equivalence classes for visibility from the vertices of P. This discretized problem can then be treated as an instance of set cover and solved in O(n^5) time with a greedy O(log n)-approximation algorithm. Ghosh (2010) recently revisited the algorithm, noting that minimum visibility decomp…
For two points in the closure of a simple polygon $P$, we say that they see each other in $P$ if the line segment uniting them does not intersect the exterior of $P$. The visibility graph of $P$ is the graph whose vertex set is the vertex set of $P$ and two vertices are joined by an edge if they see each other in $P$. The characterization of visibility graphs has been an open problem for decades, and a significant effort has been made to characterize visibility graphs of restricted polygon classes. Among them is the convex fan: a simple polygon with a convex vertex (i.e. whose internal angle i…
We present approximation algorithms with O(n^3) processing time for the minimum vertex and edge guard problems in simple polygons. It is improved from previous O(n^4) time algorithms of Ghosh. For simple polygon, there are O(n^3) visibility regions, thus any approximation algorithm for the set covering problem with approximation ratio of log(n) can be used for the approximation of n vertex and edge guard problems with O(n^3) visibility sequence. We prove that the visibility of all points in simple polygons is guaranteed by covering O(n^2) sinks from vertices and edges : It comes to O(n^3) time…
We present several algorithms for computing the visibility polygon of a simple polygon $P$ from a viewpoint inside the polygon, when the polygon resides in read-only memory and only few working variables can be used. The first algorithm uses a constant number of variables, and outputs the vertices of the visibility polygon in $O(n\Rout)$ time, where $\Rout$ denotes the number of reflex vertices of $P$ that are part of the output. The next two algorithms use $O(\log \Rin)$ variables, and output the visibility polygon in $O(n\log \Rin)$ randomized expected time or $O(n\log^2 \Rin)$ deterministic…
Given a simple polygon P in the plane, we present new algorithms and data structures for computing the weak visibility polygon from any query line segment in P. We build a data structure in O(n) time and O(n) space that can compute the visibility polygon for any query line segment s in O(k log n) time, where k is the size of the visibility polygon of s and n is the number of vertices of P. Alternatively, we build a data structure in O(n^3) time and O(n^3) space that can compute the visibility polygon for any query line segment in O(k + log n) time.
An ortho-polygon visibility representation of an $n$-vertex embedded graph $G$ (OPVR of $G$) is an embedding-preserving drawing of $G$ that maps every vertex to a distinct orthogonal polygon and each edge to a vertical or horizontal visibility between its end-vertices. The vertex complexity of an OPVR of $G$ is the minimum $k$ such that every polygon has at most $k$ reflex corners. We present polynomial time algorithms that test whether $G$ has an OPVR and, if so, compute one of minimum vertex complexity. We argue that the existence and the vertex complexity of an OPVR of $G$ are related to it…
Curve pseudo-visibility graphs generalize polygon and pseudo-polygon visibility graphs and form a hereditary class of graphs. We prove that every curve pseudo-visibility graph with clique number $ω$ has chromatic number at most $3\cdot 4^{ω-1}$. The proof is carried through in the setting of ordered graphs; we identify two conditions satisfied by every curve pseudo-visibility graph (considered as an ordered graph) and prove that they are sufficient for the claimed bound. The proof is algorithmic: both the clique number and a colouring with the claimed number of colours can be computed in polyn…
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 $Ω(\log{n})$ bits. The algorithm can read and write $O(s)$ additional words of wor…
Let $P$ be a simple polygon with $n$ vertices, and let $A$ be a set of $m$ points or line segments inside $P$. We develop data structures that can efficiently count the number of objects from $A$ that are visible to a query point or a query segment. Our main aim is to obtain fast, $O(\mathop{\textrm{polylog}} nm$), query times, while using as little space as possible. In case the query is a single point, a simple visibility-polygon-based solution achieves $O(\log nm)$ query time using $O(nm^2)$ space. In case $A$ also contains only points, we present a smaller, $O(n + m^{2 + \varepsilon}\log n…
In this paper, we characterize planar point sets that can be partitioned into disjoint polygons of arbitrarily specified sizes. We provide an algorithm to construct such a partition, if it exists, in polynomial time. We show that this problem is equivalent to finding a specified $2$-factor in the visibility graph of the point set. The characterization for the case where all cycles have length $3$ also translates to finding a $K_3$-factor of the visibility graph of the point set. We show that the generalized problem of finding a $K_k$-factor of the visibility graph of a given point set for $k \…
We study versions of cop and robber pursuit-evasion games on the visibility graphs of polygons, and inside polygons with straight and curved sides. Each player has full information about the other player's location, players take turns, and the robber is captured when the cop arrives at the same point as the robber. In visibility graphs we show the cop can always win because visibility graphs are dismantlable, which is interesting as one of the few results relating visibility graphs to other known graph classes. We extend this to show that the cop wins games in which players move along straight…
The art gallery problem enquires about the least number of guards that are sufficient to ensure that an art gallery, represented by a polygon $P$, is fully guarded. In 1998, the problems of finding the minimum number of point guards, vertex guards, and edge guards required to guard $P$ were shown to be APX-hard by Eidenbenz, Widmayer and Stamm. In 1987, Ghosh presented approximation algorithms for vertex guards and edge guards that achieved a ratio of $\mathcal{O}(\log n)$, which was improved upto $\mathcal{O}(\log\log OPT)$ by King and Kirkpatrick in 2011. It has been conjectured that constan…
In this survey paper, we present open problems and conjectures on visibility graphs of points, segments and polygons along with necessary backgrounds for understanding them.
In this paper, we study the following problem of reconstructing a simple polygon: Given a cyclically ordered vertex sequence of an unknown simple polygon P of n vertices and, for each vertex v of P, the sequence of angles defined by all the visible vertices of v in P, reconstruct the polygon P (up to similarity). An O(n^3 log n) time algorithm has been proposed for this problem. We present an improved algorithm with running time O(n^2), based on new observations on the geometric structures of the problem. Since the input size (i.e., the total number of input visibility angles) is O(n^2) in the…
This thesis focuses on two concepts which are widely studied in the field of computational geometry. Namely, visibility and unit disk graphs. In the field of visibility, we have studied the conflict-free chromatic guarding of polygons, for which we have described a polynomial-time algorithm that uses $O(n \log^2 n)$ colors to guard a polygon in a conflict-free setting, and proper coloring of polygon visibility graphs, for which we have described an algorithm that returns a proper 4-coloring for a simple polygon. Besides, we have shown that the 5-colorability problem is NP-complete on visibilit…
We consider extending visibility polygon $(VP)$ of a given point $q$ $(VP(q))$, inside a simple polygon $¶$ by converting some edges of $¶$ to mirrors. We will show that several variations of the problem of finding mirror-edges to add at least $k$ units of area to $VP(q)$ are NP-complete, or NP-hard. Which $k$ is a given value. We deal with both single and multiple reflecting mirrors, and also specular or diffuse types of reflections. In specular reflection, a single incoming direction is reflected into a single outgoing direction. In this paper diffuse reflection is regarded as reflecting lig…
We address the following problem: Given a simple polygon $P$ with $n$ vertices and two points $s$ and $t$ inside it, find a minimum link path between them such that a given target point $q$ is visible from at least one point on the path. The method is based on partitioning a portion of $P$ into a number of faces of equal link distance from a source point. This partitioning is essentially a shortest path map (SPM). In this paper, we present an optimal algorithm with $O(n)$ time bound, which is the same as the time complexity of the standard minimum link paths problem.
We consider a variant of two-point Euclidean shortest path query problem: given a polygonal domain, build a data structure for two-point shortest path query, provided that query points always lie on the boundary of the domain. As a main result, we show that a logarithmic-time query for shortest paths between boundary points can be performed using O~ (n^5) preprocessing time and O(n^5) space where n is the number of corners of the polygonal domain and the O~ notation suppresses the polylogarithmic factor. This is realized by observing a connection between Davenport-Schinzel sequences and our pr…
Given a simple polygon $ \mathcal {P} $ of $ n $ vertices in the Plane. We study the problem of computing the visibility area from a given viewpoint $ q $ inside $ \mathcal {P} $ where only sub-linear variables are allowed for working space. Without any memory-constrained, this problem was previously solved in $ O(n) $-time and $ O(n) $-variables space. In a newer research, the visibility area of a point be computed in $ O(n) $-time, using $ O(\sqrt{n}) $ variables for working space. In this paper, we present an optimal-time algorithm, using $ O(c/\log n) $ variables space for computing visibi…
In this paper we are proving the following fact. Let P be an arbitrary simple polygon, and let S be an arbitrary set of 15 points inside P. Then there exists a subset T of S that is not "visually discernible", that is, T is not equal to the intersection of S with the visibility region vis(v) of any point v in P. In other words, the VC-dimension d of visibility regions in a simple polygon cannot exceed 14. Since Valtr proved in 1998 that d \in [6,23] holds, no progress has been made on this bound. By epsilon-net theorems our reduction immediately implies a smaller upper bound to the number of g…
An ortho-polygon visibility representation $Γ$ of a $1$-plane graph $G$ (OPVR of $G$) is an embedding preserving drawing that maps each vertex of $G$ to a distinct orthogonal polygon and each edge of $G$ to a vertical or horizontal visibility between its end-vertices. The representation $Γ$ has vertex complexity $k$ if every polygon of $Γ$ has at most $k$ reflex corners. It is known that $3$-connected $1$-plane graphs admit an OPVR with vertex complexity at most twelve, while vertex complexity at least two may be required in some cases. In this paper, we reduce this gap by showing that vertex …
We study unit disk visibility graphs, where the visibility relation between a pair of geometric entities is defined by not only obstacles, but also the distance between them. That is, two entities are not mutually visible if they are too far apart, regardless of having an obstacle between them. This particular graph class models real world scenarios more accurately compared to the conventional visibility graphs. We first define and classify the unit disk visibility graphs, and then show that the 3-coloring problem is NP-complete when unit disk visibility model is used for a set of line segment…
Let $s$ be a point in a polygonal domain $\mathcal{P}$ of $h-1$ holes and $n$ vertices. We consider a quickest visibility query problem. Given a query point $q$ in $\mathcal{P}$, the goal is to find a shortest path in $\mathcal{P}$ to move from $s$ to see $q$ as quickly as possible. Previously, Arkin et al. (SoCG 2015) built a data structure of size $O(n^22^{α(n)}\log n)$ that can answer each query in $O(K\log^2 n)$ time, where $α(n)$ is the inverse Ackermann function and $K$ is the size of the visibility polygon of $q$ in $\mathcal{P}$ (and $K$ can be $Θ(n)$ in the worst case). In this paper,…
For a set $S$ of $n$ disjoint line segments in $\mathbb{R}^{2}$, the visibility counting problem is to preprocess $S$ such that the number of visible segments in $S$ from any query point $p$ can be computed quickly. There have been approximation algorithms for this problem with trade off between space and query time. We propose a new randomized algorithm to compute the exact answer of the problem. For any $0<α<1$, the space, preprocessing time and query time are $O_ε(n^{4-4α})$, $O_ε(n^{4-2α})$ and $O_ε(n^{2α})$, respectively. Where $O_ε(f(n)) = O(f(n)n^ε)$ and $ε>0$ is an arbitrary constant n…
Two planar sets are circularly separable if there exists a circle enclosing one of the sets and whose open interior disk does not intersect the other set. This paper studies two problems related to circular separability. A linear-time algorithm is proposed to decide if two polygons are circularly separable. The algorithm outputs the smallest separating circle. The second problem asks for the largest circle included in a preprocessed, convex polygon, under some point and/or line constraints. The resulting circle must contain the query points and it must lie in the halfplanes delimited by the qu…
Everett et al. introduced several varieties of stabbing information for the lines determined by pairs of vertices of a simple polygon P, and established their relationships to vertex visibility and other combinatorial data. In the same spirit, we define the ``zero-parity (ZP) stabbing information'' to be a natural weakening of their ``weak stabbing information,'' retaining only the distinction among {zero, odd, even>0} in the number of polygon edges stabbed. Whereas the weak stabbing information's relation to visibility remains an open problem, we completely settle the analogous questions for …
We address recently proposed chromatic versions of the classic Art Gallery Problem. Assume a simple polygon $P$ is guarded by a finite set of point guards and each guard is assigned one of $t$ colors. Such a chromatic guarding is said to be conflict-free if each point $p\in P$ sees at least one guard with a unique color among all guards visible from $p$. The goal is to establish bounds on the function $χ_{cf}(n)$ of the number of colors sufficient to guarantee the existence of a conflict-free chromatic guarding for any $n$-vertex polygon. Bärtschi and Suri showed $χ_{cf}(n)\in O(\log n)$ (Algo…
Many problems in Discrete and Computational Geometry deal with simple polygons or polygonal regions. Many algorithms and data-structures perform considerably faster, if the underlying polygonal region has low local complexity. One obstacle to make this intuition rigorous, is the lack of a formal definition of local complexity. Here, we give two possible definitions and show how they are related in a combinatorial sense. We say that a polygon $P$ has point visibility width $w=pvw$, if there is no point $q\in P$ that sees more than $w$ reflex vertices. We say that a polygon $P$ has chord visibil…
We study the following range searching problem: Preprocess a set $P$ of $n$ points in the plane with respect to a set $\mathcal{O}$ of $k$ orientations % , for a constant, in the plane so that given an $\mathcal{O}$-oriented convex polygon $Q$, the convex hull of $P\cap Q$ can be computed efficiently, where an $\mathcal{O}$-oriented polygon is a polygon whose edges have orientations in $\mathcal{O}$. We present a data structure with $O(nk^3\log^2n)$ space and $O(nk^3\log^2n)$ construction time, and an $O(h+s\log^2 n)$-time query algorithm for any query $\mathcal{O}$-oriented convex $s$-gon $Q$…
Let $p$ and $q$ be two imprecise points, given as probability density functions on $\mathbb R^2$, and let $\cal R$ be a set of $n$ line segments (obstacles) in $\mathbb R^2$. We study the problem of approximating the probability that $p$ and $q$ can see each other; that is, that the segment connecting $p$ and $q$ does not cross any segment of $\cal R$. To solve this problem, we approximate each density function by a weighted set of polygons; a novel approach to dealing with probability density functions in computational geometry.
Given a set $S$ of $n$ disjoint line segments in $\mathbb{R}^{2}$, the visibility counting problem (VCP) is to preprocess $S$ such that the number of segments in $S$ visible from any query point $p$ can be computed quickly. This problem can trivially be solved in logarithmic query time using $O(n^{4})$ preprocessing time and space. Gudmundsson and Morin proposed a 2-approximation algorithm for this problem with a tradeoff between the space and the query time. They answer any query in $O_ε(n^{1-α})$ with $O_ε(n^{2+2α})$ of preprocessing time and space, where $α$ is a constant $0\leq α\leq 1$, $…
Most path planning problems among polygonal obstacles ask to find a path that avoids the obstacles and is optimal with respect to some measure or a combination of measures, for example an $u$-to-$v$ shortest path of clearance at least $c$, where $u$ and $v$ are points in the free space and $c$ is a positive constant. In practical applications, such as emergency interventions/evacuations and medical treatment planning, a number of $u$-to-$v$ paths are suggested by experts and the question is whether such paths satisfy specific requirements, such as a given clearance from the obstacles. We addre…
We study the problem of colouring the vertices of a polygon, such that every viewer in it can see a unique colour. The goal is to minimise the number of colours used. This is also known as the conflict-free chromatic guarding problem with vertex guards, and is motivated, e.g., by the problem of radio frequency assignment to sensors placed at the polygon vertices. We first study the scenario in which viewers can be all points of the polygon (such as a mobile robot which moves in the interior of the polygon). We efficiently solve the related problem of minimising the number of guards and approxi…