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 determining such a Hamiltonian cycle for a pseudo-triangle polygon from its visibility graph.
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…
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 study the problem of finding maximum-area triangles that can be inscribed in a polygon in the plane. We consider eight versions of the problem: we use either convex polygons or simple polygons as the container; we require the triangles to have either one corner with a fixed angle or all three corners with fixed angles; we either allow reorienting the triangle or require its orientation to be fixed. We present exact algorithms for all versions of the problem. In the case with reorientations for convex polygons with $n$ vertices, we also present $(1-\varepsilon)$-approximation algorithms.
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…
We study the problem of computing the minimum area triangle that circumscribes a given $n$-sided convex polygon touching edge-to-edge. In other words, we compute the minimum area triangle that is the intersection of 3 half-planes out of $n$ half-planes defined by a given convex polygon. Building on the Rotate-and-Kill technique {Arxiv:1707.04071}, we propose an algorithm that solves the problem in $O(n)$ time, improving the best-known $O(n\log n)$ time algorithms given in [A. Aggarwal et. al. DCG94; B. Schieber. SODA95}. Our algorithm computes all the locally minimal area circumscribing triang…
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.
This report presents a new, algorithmic approach to the distributions of the distance between two points distributed uniformly at random in various polygons, based on the extended Kinematic Measure (KM) from integral geometry. We first obtain such random Point Distance Distributions (PDDs) associated with arbitrary triangles (i.e., triangle-PDDs), including the PDD within a triangle, and that between two triangles sharing either a common side or a common vertex. For each case, we provide an algorithmic procedure showing the mathematical derivation process, based on which either the closed-form…
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…
A basic and an improved ear clipping based algorithm for triangulating simple polygons and polygons with holes are presented. In the basic version, the ear with smallest interior angle is always selected to be cut in order to create fewer sliver triangles. To reduce sliver triangles in further, a bound of angle is set to determine whether a newly formed triangle has sharp angles, and edge swapping is accepted when the triangle is sharp. To apply the two algorithms on polygons with holes, "Bridge" edges are created to transform a polygon with holes to a degenerate polygon which can be triangula…
We revisit the following problem: Given a convex polygon $P$, find the largest-area inscribed triangle. We show by example that the linear-time algorithm presented in 1979 by Dobkin and Snyder for solving this problem fails. We then proceed to show that with a small adaptation, their approach does lead to a quadratic-time algorithm. We also present a more involved $O(n\log n)$ time divide-and-conquer algorithm. Also we show by example that the algorithm presented in 1979 by Dobkin and Snyder for finding the largest-area $k$-gon that is inscribed in a convex polygon fails to find the optimal so…
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…
A high-level description of an algorithm which computes the minimum perimeter triangle enclosing a convex polygon in linear time exists in the literature. Besides that an implementation of the algorithm is given in the subsequent work. However, that implementation is incomplete and omits certain common cases. This note's contribution consist of a modern treatment of the algorithm and its consequent simple and robust implementation.
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.
Given the n vertices of a convex polygon in cyclic order, can the triangle of maximum area inscribed in P be determined by an algorithm with O(n) time complexity? A purported linear-time algorithm by Dobkin and Snyder from 1979 has recently been shown to be incorrect by Keikha, Löffler, Urhausen, and van der Hoog. These authors give an alternative algorithm with O(n log n) time complexity. Here we give an algorithm with linear time complexity.
A shape visibility representation displays a graph so that each vertex is represented by an orthogonal polygon of a particular shape and for each edge there is a horizontal or vertical line of sight between the polygons assigned to its endvertices. Special shapes are rectangles, L, T, E and H-shapes, and caterpillars. A flat rectangle is a horizontal bar of height $ε>0$. A graph is 1-planar if there is a drawing in the plane such that each edge is crossed at most once and is IC-planar if in addition no two crossing edges share a vertex. We show that every IC-planar graph has a flat rectangle v…
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 …
In this extended abstract, we present a PTAS for guarding the vertices of a weakly-visible polygon $P$ from a subset of its vertices, or in other words, a PTAS for computing a minimum dominating set of the visibility graph of the vertices of $P$. We then show how to obtain a PTAS for vertex guarding $P$'s boundary.
TřiVis: Versatile, Reliable, and High-Performance Tool for Computing Visibility in Polygonal Environments
Czech Institute of Informatics, Robotics and Cybernetics, Czech Technical University in Prague(捷克布拉格技术大学捷克信息学、机器人学与控制论学院);Department of Cybernetics, Faculty of Electrical Engineering, Czech Technical University in Prague(捷克布拉格技术大学电气工程学院控制论系)
本文提出 C++ 可见性计算库 TřiVis,采用三角扩展算法,在复杂多边形环境中以低依赖实现多种查询,基准测试显示其速度较现有库快至少一个数量级且运行更可靠。
This paper presents Polylidar, an efficient algorithm to extract non-convex polygons from 2D point sets, including interior holes. Plane segmented point clouds can be input into Polylidar to extract their polygonal counterpart, thereby reducing map size and improving visualization. The algorithm begins by triangulating the point set and filtering triangles by user configurable parameters such as triangle edge length. Next, connected triangles are extracted into triangular mesh regions representing the shape of the point set. Finally each region is converted to a polygon through a novel boundar…
There is an old conjecture by Shermer \cite{sher} that in a polygon with $n$ vertices and $h$ holes, $\lfloor \dfrac{n+h}{3} \rfloor$ vertex guards are sufficient to guard the entire polygon. The conjecture is proved for $h=1$ by Shermer \cite{sher} and Aggarwal \cite{aga} seperately. In this paper, we prove a theorem similar to the Shermer's conjecture for a special case where the goal is to guard the vertices of the polygon (not the entire polygon) which is equivalent to finding a dominating set for the visibility graph of the polygon. Our proof also guarantees that the selected vertex guard…
Let $V$ be a finite set of vertices in the plane and $S$ be a finite set of polygonal obstacles, where the vertices of $S$ are in $V$. We show how to construct a plane $2$-spanner of the visibility graph of $V$ with respect to $S$. As this graph can have unbounded degree, we modify it in three easy-to-follow steps, in order to bound the degree to $7$ at the cost of slightly increasing the spanning ratio to 6.
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…