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 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.
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…
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.
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 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…
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 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…
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…
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.
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.
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,…
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…
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…
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…
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 give an overview of the 2023 Computational Geometry Challenge targeting the problem Minimum Coverage by Convex Polygons, which consists of covering a given polygonal region (possibly with holes) by a minimum number of convex subsets, a problem with a long-standing tradition in Computational Geometry.
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…
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…
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…
Given a polygon and a visibility range, the Myopic Watchman Problem with Discrete Vision (MWPDV) asks for a closed path P and a set of scan points S, such that (i) every point of the polygon is within visibility range of a scan point; and (ii) path length plus weighted sum of scan number along the tour is minimized. Alternatively, the bicriteria problem (ii') aims at minimizing both scan number and tour length. We consider both lawn mowing (in which tour and scan points may leave P) and milling (in which tour, scan points and visibility must stay within P) variants for the MWPDV; even for simp…
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…
An \emph{obstacle representation} of a graph consists of a set of polygonal obstacles and a distinct point for each vertex such that two points see each other if and only if the corresponding vertices are adjacent. Obstacle representations are a recent generalization of classical polygon--vertex visibility graphs, for which the characterization and recognition problems are long-standing open questions. In this paper, we study \emph{plane outside-obstacle representations}, where all obstacles lie in the unbounded face of the representation and no two visibility segments cross. We give a combina…
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…
We provide exact and approximation methods for solving a geometric relaxation of the Traveling Salesman Problem (TSP) that occurs in curve reconstruction: for a given set of vertices in the plane, the problem Minimum Perimeter Polygon (MPP) asks for a (not necessarily simply connected) polygon with shortest possible boundary length. Even though the closely related problem of finding a minimum cycle cover is polynomially solvable by matching techniques, we prove how the topological structure of a polygon leads to NP-hardness of the MPP. On the positive side, we show how to achieve a constant-fa…
This paper presents a counterexample for the approximation algorithm proposed by Durocher and Mehrabi [1] for the general problem of finding a rectangular partition of a rectilinear polygon with minimum stabbing number.
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 …
In this paper, we discuss the algorithm engineering aspects of an O(n^2)-time algorithm [6] for computing a minimum-area convex polygon that intersects a set of n isothetic line segments.
Consider two axis-aligned rectilinear simple polygons in the domain consisting of axis-aligned rectilinear obstacles in the plane such that the bounding boxes, one for each obstacle and one for each polygon, are disjoint. We present an algorithm that computes a minimum-link rectilinear shortest path connecting the two polygons in $O((N+n)\log (N+n))$ time using $O(N+n)$ space, where $n$ is the number of vertices in the domain and $N$ is the total number of vertices of the two polygons.
Minimum Cost Polygon Overlay (MCPO) is a unique two-dimensional optimization problem that involves the task of covering a polygon shaped area with a series of rectangular shaped panels. This has a number of applications in the construction industry. This work examines the MCPO problem in order to construct a model that captures essential parameters of the problem to be solved automatically using numerical optimization algorithms. Three algorithms have been implemented of the actual optimization task: the greedy search, the Monte Carlo (MC) method, and the Genetic Algorithm (GA). Results are pr…