Visibility Extension via Reflection

by   Arash Vaezi, et al.
Sharif Accelerator
IIT Kharagpur

This paper studies a variant of the Art-gallery problem in which "walls" can be replaced by reflecting-edges, which allows the guard to see further and thereby see a larger portion of the gallery. The art-gallery is a simple closed polygon P, a guard is a point p in P, and a guard sees another point q in P if the segment pq is contained in the interior of P. The visibility region of p is the set of points q in P that are visible from p. If we let an edge of the polygon allow reflections, then the visibility region should be changed accordingly. We study visibility with specular and diffuse reflections. Moreover, the number of times a ray can be reflected can be taken as a parameter. For vertex guarding polygons with k diffuse reflections, we establish an upper bound on the optimum solution. For this problem, we generalize the O(logn)-approximation ratio algorithm of the Art Gallery Problem. For a bounded k, the generalization gives a polynomial-time algorithm with O(log n)-approximation ratio for both cases diffuse and specular reflections. Furthermore, We show that several cases of the generalized problem are NP-hard. We also illustrate that if P is a funnel or a weak visibility polygon, then the problem becomes more straightforward and can be solved in polynomial time.



There are no comments yet.


page 1

page 2

page 3

page 4


The Visibility Center of a Simple Polygon

We introduce the visibility center of a set of points inside a polygon –...

Art Gallery Plus Single Specular-reflection

Given a simple polygon P, in the Art Gallery problem, the goal is to fin...

Art Gallery Localization

We study the problem of placing a set T of broadcast towers in a simple ...

A Comparison of I/O-Efficient Algorithms for Visibility Computation on Massive Grid Terrains

Given a grid terrain T and a viewpoint v, the viewshed of v is the set o...

Visibility Extension via Reflective Edges to an Exact Quantity

We consider extending the visibility polygon of a given point q, inside ...

Expanding Visibility Polygons by Mirrors upto at least K units

We consider extending visibility polygon (VP) of a given point q (VP(q))...

Finite-resolution hidden surface removal

We propose a hybrid image-space/object-space solution to the classical h...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Visibility is the state of being able to see or be seen by a viewer. Given a set of obstacles in the Euclidean space, two points in the space are said to be visible to each other, if the line segment that joins them does not intersect any obstacles. The problem of visibility determination is the process of deciding what surfaces can be seen by a certain viewer.

Consider a simple polygon with vertices and a viewer inside . Suppose denotes ’s interior. Two points and are visible to each other, if and only if the relatively open line segment lies completely in . The visibility polygon of a point in , denoted as , consisting of all points of visible to . Many problems concerning visibility polygons have been studied so far. There are linear time algorithms to compute  (2 ,1 ).

If some of the edges of are made into mirrors, then each may enlarge. Visibility in the presence of mirrors was first introduced by Klee in 1969 3 . He asked whether every polygon whose edges are all mirrors is illuminable from every interior point. In 1995 Tokarsky constructed an all-mirror polygon inside which there exists a dark point 4 . It was shown in 2010 that the VP of a given point or segment can be computed in the presence of one mirror-edge in time 6 , with respect to the complexity of .

The visibility of a query point can be extended considerably if some of the edges of are made to reflect the visibility rays incident on them. Visibility with such reflecting-edges subject to different types of reflections has also been studied earlier 5 . There are two types of reflections for the edges, namely diffuse-reflection to reflect light with all possible angles from a given surface and, specular-reflection which is the mirror-like reflection of light from a surface. In specular-reflection, a single incoming direction is reflected into a single outgoing direction. The direction in which light is reflected is defined by the law-of-reflection. Since we are working in the plane, this law states that the angle of incidence and the angle of reflection of the visibility rays with the normal through the polygonal edge are the same. In each type of reflection, we may count on a single reflection or multiple reflections per visibility ray. Some papers have specified the maximum number of allowed reflections via mirrors in between ad .

Note that considering diffuse reflection we assume that a reflecting-edge can only make a half-plane reflected-visible to a viewer. This half-plane contains the viewer too.

Edges of that are not edges of are called window. The weak visibility polygon of a segment , denoted as , is the maximal sub-polygon of visible to at least one point (not the endpoints) of .

Every edge of has the potential of converting into a reflector. We can assume that all edges are reflecting-edges. However, the viewer can only see some edges of . When we talk about an edge, and we need to consider it as a reflector we call it a reflecting-edge (or a mirror-edge considering specular reflections). Each reflecting-edge has the potential of getting converted into a reflecting-edge in a final solution of a visibility extension problem (we use the words “reflecting-edge” and “reflected” in general, but the word “mirror” is used only when we deal with specular reflections). with a reflecting-edge , is the maximal sub-polygon of visible to either directly or via . Two points and inside can see each other through , if and only if they are directly visible with a kind of reflection. We call these points reflected-visible (or mirror-visible). Sometimes to be more specific we use -reflected-visible (or -mirror-visible). Since only an interval of a reflecting-edge is useful, we can consider the whole edge as a reflecting-edge, and there is no need to split an edge into other smaller edges. However, in order to compute -reflected-visibility area only the visible part of should be taken into account.

An area inside the polygon which is not directly visible to and we intend to add it to the surface area of using some reflecting-edges is called a spike.

In computational geometry, art gallery problems are motivated by the question, “How many security cameras are required to guard an art gallery?” The art gallery is modeled as a connected polygon . A camera, which we will henceforth call a guard, is modeled as a point in the polygon. The Art Gallery Problem is to determine the minimum number of guards that are sufficient to see every point in the interior of an art gallery room. The art gallery can be viewed as a polygon of vertices, and the guards are stationary points in . If guards are placed at vertices of , they are called vertex guards ComGeoBook . If guards are placed at any point of , they are called point guards. If guards are allowed to be placed along the boundary of , they are called boundary-guards (on the perimeter). Since guards placed at points or vertices are stationary, they are referred to as stationary guards. If guards are mobile along a segment inside , they are referred to as mobile guards. If mobile guards move along edges of , they are referred to as edge guards. For more details on the history of this problem see cite:2000 .

The art gallery problem was proved to be NP-complete first for polygons with holes by cite:rou&sup . For guarding simple polygons it was proved to be NP-complete for vertex guards by lee . This proof was generalized to work for point guards by cite:aggarval . For guarding simple polygons, the article cite:Eidenbenz proved that the problem is APX-complete, meaning that we cannot do better than a constant-factor approximation algorithm unless . For guarding polygons with holes, cite:Eidenbenz2 proved that if there is no restriction on the number of holes, the minimization problem is as hard to approximate as SET COVER in general. It therefore follows from results about the inapproximability of SET COVER by cite:Feige ; cite:Raz&Safra that, for polygons with holes, it is NP-hard to find a -approximation. These hardness results hold whether we are dealing with vertex guards, perimeter guards, or point guards.

Ghosh cite:Ghosh provided an -approximation algorithm for guarding polygons with or without holes with vertex guards. His algorithm decomposes the input polygon into a polynomial number of cells such that each point in a given cell is seen by the same set of vertices. Applying methods for SET COVER developed after Ghosh’s algorithm, the article cite:k obtained an approximation factor of for vertex guarding simple polygons or for vertex guarding a polygon with holes. Their presented an -approximation algorithm for guarding simple polygons, using either vertex guards or perimeter guards, and the running time is polynomial in n and the number of potential guard locations.

In 2007 article cite:pslogn proposed A pseudopolynomial Time -approximation algorithm. Later, in 2011 the article cite:roy settles the conjecture for the polygons that are weakly visible from an edge and contain no holes by presenting a -approximation algorithm for finding the minimum number of vertex guards. Assuming integer coordinates and a specific general position on the vertices of , the article cite:logopt presented the first -approximation algorithm for the point guard problem.

For the vertex guard and the point guard variants of the art gallery problem, cite:2020 ruled out any algorithm, where is the number of guards, for any computable function , unless the exponential time hypothesis fails. These lower bounds almost match the algorithms that exist for both versions of the problem.

An interesting result about the art gallery problem cite:stoc : The complexity status of the art gallery problem had not been resolved for many years. It has long been known that the problem is NP-hard, but no one has been able to show that it lies in NP. Recently, the computational geometry community became more aware of the complexity class , which has been studied earlier by other communities. The class consists of problems that can be reduced in polynomial time to the problem of deciding whether a system of polynomial equations with integer coefficients and any number of real variables has a solution. It can be easily seen that . The article cite:stoc proved that the art gallery problem is -complete, implying that (1) any system of polynomial equations over the real numbers can be encoded as an instance of the art gallery problem, and (2) the art gallery problem is not in the complexity class NP unless .

1.1 Our Settings

A guard can see a point if it is directly visible to it or if it is reflected-visible via one or more reflections. This is a natural and non-trivial extension of the classical art gallery setting. Some articles tcs ; walcom ; euro ; ad ; 5 illustrated that combining reflection with the well-known art gallery problem may be beneficial. For example, we already know that making an invisible target visible via reflection costs only linear time regarding the complexity of tcs ; walcom ; euro . Specifically, the article tcs proposed a linear time algorithm that finds all mirror-edges that make a target mirror-visible to the viewer. Their algorithm reveals precisely which part of the target is mirror-visible through every edge if gets converted to a mirror. These results reveal that our setting may have advantages for a user who need to deal with a special case of the art gallery problem.

In Section 2, we prove that if diffuse reflections are allowed, then an upper bound on the number of guards required to view a polygon is , where is the number of guards required to guard without reflections. Sections 3 and 4 study the problem of extending the visibility polygon of a guard (query point) inside a polygon by means of reflecting-edges. Section 3 considers the scenario in which the edges of allow diffuse reflection, and Section 4 considers specular reflections for the edges of . The problem of extending the visibility region of a given point by a region of area at least with diffuse reflector edges, NP-hardness is shown by a reduction from 3-SAT adapted from an NP-hardness proof for the art gallery problem. We also proved that it is NP-complete to determine whether the visibility region can be extended by a region of area exactly using mirrors with each ray reflected at most once. Other versions of the problem of extending a visibility region by reflection are still open. We reduce a specific version of the Subset-Sum problem to ours in those proofs.

The Subset-Sum problem is to find subset of elements that are selected from a given set whose sum adds up to a given number . Here, we consider the set contains non-negative values.

Section 5 contains more details about the problems stated in sections 3 and 4, also this section covers a discussion on extending visibility polygons inside a weakly visible polygon or a funnel. We define a pseudo-triangle to be the simply connected any three mutually tangent convex sets. A funnel is a pseudo-triangle one side of which has to be only one edge. This side is denoted as the “chord” of the funnel.

Section 6 illustrates a few applications of the overall problem of extending visibility regions by reflections. Finally, Section 7 covers a summary discussion about the results presented in the paper.

2 Reflective vs Regular Visibility

Under some settings, visibility with reflections can be seen as a general case of regular visibility. For example, consider guarding a polygon with vertex guards, where all the edges of the polygons are diffuse reflecting-edges, and reflections are allowed for each ray. Let be the set of guards in an optimal solution, if we don’t consider reflection. Consider any guard . The visibility polygon of must have at least one window. Otherwise, is the only guard of . Consider such a window, say, . Then there must be another guard such that lies in both and . Then an edge of adjacent to must see . This edge () must also be a polygonal edge since is constructed. So, can see by diffuse reflection through this edge. If is a convex vertex, then through another diffuse reflection by any of the two incident rays of , can see the whole of .

Theorem 1

If (a given polygon possibly with holes) can be guarded by guards without reflections, then can be guarded by at most guards when diffuse reflections are permitted.

Proof. To prove this theorem see the following lemmas first:

Lemma 2

If there cannot be a single guard that sees the whole of a polygon , then for every optimum vertex guard set guarding , if , then there is a such that and can see each other through one diffuse reflection. Furthermore, and can fully see each other’s visibility polygons with four diffuse reflections.

Proof. Consider any vertex of . Since, by our assumption, cannot see the whole of , must have a window. This window must intersect the boundary of to describe a vertex (say, ) of (see Figure 1). Since by definition, visibility polygons are closed regions, the visibility polygon of some other vertex guard (say, ) of must contain and a non-zero region around . So, making a polygonal edge of containing a reflecting-edge result in a diffuse reflection through which can see .

Two edges contain the vertex guard . Since sees a small region around , must see a non-zero portion of the interior of at least one of these two edges. If sees a non-zero portion of both edges’ interiors, then through diffuse reflections on both edges, sees . Now suppose that sees a non-zero portion of the interiors of only one edge (say, ) containing . Call the other edge , considering a vertex of as its other endpoint. Extend the ray . Suppose that hits the boundary of at a point (see Figure 1). Then an interior point of the edge containing , very near to , is visible from the interior of . So, by a diffuse reflection through a polygonal edge containing , is visible from via three diffuse reflections. Hence, by turning into a reflecting-edge, becomes visible to via four diffuse reflections. ∎

Figure 1: is visible from via four diffuse reflections. The reflecting-edges are drawn in red.

Now we build a graph as follows. We consider the vertex guards in as the vertices of , and add an edge between two vertices of if and only if the two corresponding vertex guards in can see each other directly or through at most one reflection. We have the following Lemma.

Lemma 3

The graph is connected.

Proof. Consider any two guards and of . Draw a polygonal path from to . The path begins at and ends at . Since sees the whole of , always travels through the visibility polygon of some or the other guard in . Then can travel through two neighboring visibility polygons if and only if it travels through their intersection. This means, by Lemma 2 and the definition of , that if travels consecutively through the visibility polygons of two guards in , then the corresponding vertices are adjacent in . Thus, there is a graphical path between every pair of vertices in . So, is connected. ∎

Consider any optimum solution of the Art Gallery Problem on the polygon , where . Build a graph with the vertex guards in as its vertices, and add an edge between two vertices of if and only if the two corresponding vertex guards in can see each other directly or through at most one reflection. Due to Lemma 3, is connected. Find a spanning tree of and root it at any vertex. Denote the level of vertices of by . Given a value of , divide the levels of into classes, such that the class contains all the vertices of all levels of of the form , where . By the Pigeon Hole Principle, one of these classes will have at most vertices. Again, by Lemma 2, given any vertex class of , all of can be seen by the vertices of . The theorem follows. ∎

Corollary 4

The above bound holds even if the guards are allowed to be placed anywhere on the boundary of the polygon.

Proof. The proof follows directly from the proof of Theorem 1 since Lemmas 2 and 3 are valid for boundary guards as well. ∎

However, this bound does not hold in the case of point guards. See Figure 2. The two guards, colored red, see the whole of the polygons. Clearly, if we seek to replace them with one guard and allow one reflection, then the new guard must lie somewhere near the polygon’s lowest vertex. From there, it can see both the red guards. On the left and right sides of the red guards are two funnels whose apices are visible only from certain edges of their respective opposite funnels. These edges are not visible to any point near the lowest vertex of the polygon. So, it is impossible for only one guard to see the whole polygon through one reflection. For any given k, the funnels can be made narrower so that even reflections are not enough to see the whole polygon.

Figure 2: Two point guards cannot be replaced by one despite allowing reflections.

To find an approximate solution to the vertex guard problem with diffuse reflections, we have a straight-forward generalization of Ghosh’s discretization algorithm in artgal .

Theorem 5

For vertex guards, the art gallery problem considering -reflection, for both the diffuse and specular reflection are solvable in time giving an approximation ratio of .

Proof. We begin by drawing all possible windows and decomposing the polygon into convex polygons, as in artgal . Denote the set of these convex polygons by . Denote the set of vertices of these convex polygons of , that lie on the boundary of by . Note that in the initial step, zero diffuse reflections are concerned. In the next step, allow a single diffuse reflection for each ray. Each vertex’s visibility polygons are extended and have new points on the boundary of as their vertices. Join all such pairs of vertices, whenever possible, by drawing windows, to get a new larger set of convex polygons. Denote the set of convex polygons so obtained by , and the set of all their vertices lying on the boundary of by . Analogously, we associate with diffuse reflections the sets and .

For diffuse reflections, as before, draw all possible windows from and compute the minimal convex polygons formed as a result. Note that this operation takes time. Update to and then update to by updating their constituent convex polygons and their vertices lying on the boundary of , respectively. The new cardinalities of and are at most the cardinalities of and raised to the powers of and , respectively. Hence, by the argument in artgal , the algorithm takes a total time of and gives an approximation ratio of . ∎

3 Expanding at least units of area

In this section, we modify the reduction of Lee and Lin lee and use it to prove that the problem of extending the visibility region of a given point by a region of area at least (a given amount) with the minimum number of reflecting-edges is NP-hard. We assume that all edges of the polygon are reflecting-edges, but only some pre-specified edges can make an invisible region (a spike) entirely reflection-visible to the viewer (reflecting-edges). The correct subset of these reflecting-edges is the optimal solution for the problem and a corresponding 3-SAT instance.

The 3-SAT problem is defined like this; Given a boolean formula in conjunctive normal form, with each clause having exactly three variables, can any assignment of the variables satisfy the formula? In our reduction,, we assume that clauses with one variable and its complement, and also clauses with two variables have already been removed.

The specular-reflection cases of the problem are still open. However, it was shown by Aronov 5 in 1998 that in such a polygon that all of its edges are mirrors, the visibility polygon of a point can contain holes. And also, when we consider at most specular reflections for every ray, we can compute the visibility polygon of a point inside that within of time complexity and of space complexity ad .

3.1 Diffuse reflections

Theorem 6

Given a simple polygon , and a query point inside the polygon, can of the edges of the polygon be turned to reflecting-edges so that the area added to through a single diffuse-reflection is at least units?

Claim: The problem is NP-hard, and so is its multiple reflection version.

Proof. The construction uses the method of reduction of the 3-SAT problem to the Art gallery problem with vertex guards, by Lee et al lee . In the original reduction, for a given 3-SAT formula with variables and clauses, a simple polygon was constructed, which would require a minimum of exactly vertex-guards to be completely seen if and only if the given 3-SAT formula was satisfiable.

In the original construction, there are several spikes, for which it would be necessary to turn certain vertices into vertex-guards if the whole polygon is to be made visible from only vertices. We call these the candidate-vertices. In our construction, we replace the candidate-vertices for vertex-guards with small edges that we call reflecting-edges. These are marked in red in Figure 8.

Figure 3: Modified-Art-Gallery-polygon. The red edges are reflecting-edges. These reflecting-edges can reflect light only to their front side.

We also need an extra reflecting-edge at the top-left corner of the polygon, required to see the main rectangular region (the region that contains ) so that the query point sees both the whole surfaces of the rectangular regions and all corresponding reflecting-edges. We set to be the difference between the area of the polygon and the area of . Based on the analysis used in lee , this makes the polygon to require reflecting-edges to be covered if and only if the given 3-SAT formula is satisfiable.

3.1.1 Multiple reflections

Since there are some areas which we can make visible just through the specified reflecting-edges, which we should choose to expand the visibility polygon at least units of area–no matter how many reflections are allowed–these minimum number of reflecting-edges are required to get to at least units. Therefore, the previous reduction works in the case of multiple reflections, too. ∎

In Subsection 5.1, we investigate more details about visibility via diffuse reflection. We consider a funnel or a weak visible polygon as the given polygon , and the problem is to extend visibility polygons via the minimum number of diffuse-reflections. We will show that a constant number of reflections is enough for any query point inside to be capable of seeing the whole polygon.

4 Expanding by exactly square units

We begin this section by the following theorem, and the whole section covers the proof of this theorem.

Theorem 7

Given a simple polygon , , and an integer , the problem of choosing reflecting-edges of in order to expand exactly sq. units of area is NP-complete in the following cases:

1. Specular-reflection where a ray can be reflected only once.

2. Diffuse-reflection where a ray can be reflected any number of times.

Clearly, it can be verified in polynomial time if a given solution adds precisely units to . Therefore, the problem is in NP.

Consider an instance of the Subset-Sum problem (), which has non-negative integer values, and a target number . The Subset-Sum problem is to look for a subset of these values, such that the sum of its constituent elements equals to . The Subset-Sum problem is known to be NP-complete.

In the following subsections, we will show that the Subset-Sum problem is reducible to this problem in polynomial time. Thus, we deduce that our problem in the cases mentioned above is NP-complete.

4.1 NP-hardness for specular reflections

The reduction polygon consists of two rectangular chambers attached side by side. The chamber to the right is taller, while the chamber to the left is shorter but quite broad. The query point is located in the right chamber (see Figure 4). The left chamber has left-leaning triangles attached to its top and bottom edges. In the reduction from Subset Sum, the areas of the bottom spikes correspond to the weights of the sets (the values of ). The top triangles are narrow and have negligible areas. Their main purpose is to house the edges which may be turned into reflecting-edges so that can see the bottom spikes.

To describe the construction formally, consider . Denote the value of the set by and the sum of the values till the set, , by . We construct the reduction polygon in the following steps:

  1. Place the query point at the origin .

  2. Consider the x-axis as the bottom edge of the left rectangle.

  3. Denote the left, right and bottom points of the bottom spike by , and respectively. Set the coordinates for at , at , and those for at .

  4. The horizontal polygonal edges between the top triangles are good choices for mirrors, so we call them mirror-edges. The mirror-edge lies between the and top spikes. Denote the left and right endpoints of the mirror-edge by and respectively. Set the coordinates of at , and those of at .

  5. Denote the topmost point of the top spike by and set its coordinates at .

See subsection 5.3 to see more properties of the above-mentioned reduction.

Figure 4: Two main components of the reduction polygon is illustrated.

4.2 NP-hardness for diffuse reflections

The diffuse case is where the angle between the incident and reflected ray may assume all possible values between and . Considering diffuse reflection, since rays can be reflected into wrong spikes (a spike which should get reflection-visible via another reflecting-edge) the previous reduction does not work. Considering multiple plausible reflections, the problem becomes even harder. These rays have to be excluded by an appropriate structure of the polygonal boundary.

The construction presented in this subsection works in the case of multiple reflections, too. Again we reduce the Subset-Sum problem to our problem.

Figure 5: A schema of the reduction polygon. The main polygon is a rectangle, with gadgets on its top edge. The green region plus the grey region are in one triangle which its surface area equals to a value of .

As before, we place the query point at the origin, . The main polygon used for the reduction is primarily a big rectangle, with around two thirds of it being to the right of (see Figure 5). On top of this rectangle are “double triangle” structures. Each double triangle structure consists of triangles sharing some of their interiors. The lower among these two triangles, referred to as the second triangles, are right angled, and have their base on the main rectangle, with their altitude to the right, and hypotenuse to the left. The upper triangle, referred to as the “top triangle”, is inverted, i.e., its base or horizontal edge is at the top. One of its vertices is the top vertex of the second triangle, and another of its vertices merges into the hypotenuse of the second triangle. Its third vertex juts out far to the left, at the same vertical level of the top vertex of the second triangle, making the top triangle a very narrow triangle. The area of the top triangle equals to the value of the th set in the Subset-Sum problem ().

Formally, denote the th top and second triangles by and respectively. Denote the top, left and right vertices of by , and respectively. Denote the sum of values of all subsets of the Subset-Sum problem by . In general, the triangle has a base length of units, and its base is units distance away from those of and . Therefore the coordinates of and are given by and respectively. For any vertex of the reduction polygon, let us denote the and coordinates of by and respectively. The vertex is obtained by drawing a ray originating at and passing through , and having it intersect with the vertical line passing through . This point of intersection is with coordinates .

Denote the leftmost and bottom-most vertices of by and respectively. Recall that lies on the hypotenuse of , and has the same -coordinate as . Moreover, we place in such a way, that the sum of the total regions of all top triangles seen from the base of the main rectangle (the edge) is less than . Intuitively, divides the hypotenuse of in the ratio. Accordingly, the coordinates of are: .

Next we set coordinates of to have the total area of equal the value of the th subset. Denote the value of the th subset by . Then, the coordinates of are given by . Finally, the coordinates of the four vertices of the main rectangle holding all the double triangle gadgets, are given by , , and .

Lemma 8

The reduction stated in subsection 4.2 proves that the problem of adding exactly units of area to a visibility polygon via only a single reflection per ray, is NP-complete. The reduction polygon has rational coordinates with size polynomial with respect to .

Proof. We consider a Subset-Sum problem on subsets, and construct the polygon as mentioned in subsection 4.2.

Firstly, it is easy to see that the coordinates are rational and linear in terms of . This is because has a representation linear in , and each double triangle gadget is derived by computing a sum of order , and using only a constant number of the intersection of lines or rays passing through such points. Therefore, polygon can be constructed in polynomial time.

Before proceeding further, we prove that the area of is square units. The length of the base of is , and its altitude is . So, the area of is given by


To show that is a simple polygon, it is enough to show that no top triangle intersects with or where . Due to the relative positions of consecutive double triangles, it suffices to show that the coordinate of is greater than the coordinate of . To show this, we first prove that the height of each second triangle is greater than . Due its coordinates, triangle is similar to the triangle formed by the points , and the point with coordinates . Therefore the altitude of is

which is always at least .

This means that the altitude of is at least , implying that the length of the base of is at most . Since the right vertices of consecutive second triangles are a distance units apart, this implies that can never intersect with or .

We now show that if there is a solution for a given in , then there is a solution for in , i.e. it is possible to extend the visibility polygon of in by exactly square units through single reflections of rays. But this follows readily from the fact (proved above) that each has an area of , because due to this, if the th subset is chosen in a solution of , we can make the altitude of a reflective edge in the corresponding solution for , and have see an extra area of square units.

We finally show the opposite direction, i.e. if there is no solution for a given in , then there will be no solution for in either. To show this, it suffices to prove that the sum over the portions of all top triangles seen by the base of the main rectangle, is a fraction less than one. This works because the only regions that does not see directly are the top triangles, and there are only two ways of seeing the top triangles; either sees them whole via a reflection on the altitude of the corresponding second triangle, or just partially via a reflection on the base of . The left and right sides of the main rectangle constituting cannot see any due to their faraway -coordinates. So, excluding the unique and trivial case where the altitude of each is chosen, choosing the base of as a reflecting-edge always yields a fractional value of the extra area added, which contradicts the integral value of .

Consider any . Let the point on the altitude of sharing the same y coordinate as denoted by . Consider the small triangle formed by these two points and and denote it by . Naturally, the base of is parallel to the base of , since both are parallel to the x - axis. Again, since the ratio between and is , the ratio between the areas of and must be .

Our computations above show that the area of any is , upper bounded by . Therefore the total area of for all second triangles is upper bounded by . It follows from basic geometrical considerations that for each , the region of seen by the base of is upper bounded by the region of cut off by the ray originating at and passing through , and hence, twice the area of . So, the sum total of the regions of the top triangles seen by the base of cannot exceed . This concludes the reduction. ∎

We can use the above-mentioned reduction in case multiple reflection is allowed. See the following corollary.

Corollary 9

The reduction stated in subsection 4.2:

  1. works if the minimum number of reflecting-edges is required.

  2. works if multiple reflections is allowed. The optimal version of the multiple reflection case is NP-hard again.

Proof. We call the reflecting-edges () used in the above reduction, as the main-reflecting-edges. To expand by exactly units of area, any solution needs to contain a subset of these main-reflecting-edges, and this subset exists if and only if there exists an equivalent subset in . Thus, we can reduce this problem to the Subset-Sum problem in polynomial time.

The reduction also works if we look for the minimum number of reflecting-edges. In that case, the main-reflecting-edges corresponding to the solution of are required to be selected to be converted into reflecting-edges. Note that as we look for the optimal solution, since we need to find the best subset of the main-reflecting-edges, the optimal version of the problem is NP-hard.

Multiple Reflections: See Figure 6 consider the edge that has the point on it. We denote this edge as the “second-reflecting-edge”. Every green area includes a part of this edge (). The segment is not directly visible to . A triangular spike is entirely reflection-visible to both its corresponding main-reflecting-edge and the second-reflecting-edge.

Figure 6: In the multiple reflection case of the problem we should count on two edges as the reflecting-edges: main-reflecting-edge and second-reflecting-edge.

Consider two reflections, can see a triangular spike through the -edge and its corresponding second-reflecting-edge in the gadget. Therefore, considering more than one reflections, can see a triangular spike either by a main-reflecting-edge, or a second-reflecting-edge.

Now, we can use a reduction similar to the one used in the single reflection case, except that here we need to count on both the main-reflecting-edge and the second-reflecting-edge. We see if either one of these reflecting-edges is selected, then we choose the corresponding value of in the final solution.

Optimal Version of Multiple Reflections: If we look for the minimum number of reflecting-edges, the previous reduction works. That is because the main-reflecting-edge costs only one edge to be converted into a reflecting-edge, but the second-reflecting-edge requires two reflecting-edges in the middle. Moreover, no matter how many multiple reflections are allowed, cannot see any invisible gray-triangular region except by using either the main-reflecting-edge or the second-reflecting-edge as reflecting-edges. If we select either one of these reflecting-edges, the entire corresponding invisible triangular spikes gets reflection-visible to (remember that for the second-reflecting-edge to work individually the -edge needs to be converted to reflecting-edge too). ∎

5 Details of the Proofs

This section covers more details and further explanations about the above-mentioned results.

5.1 Extending visibility polygons inside Funnels or Weak Visible Polygons considering diffuse reflection

First, consider the problem of expanding visibility polygons by at least units of area with diffuse reflections inside funnels.

Here, we study the problem of increasing the visibility polygon of a given query point () inside a given funnel through reflections.

A funnel is weakly visible from its chord edge, and it has a kernel (point) on its chord edge, which can see the whole polygon. So, a whole funnel can be made visible through one diffuse-reflection through the kernel.

Later we assume that we are not allowed to turn the chord into a reflecting-edge. This assumption may help in the future generalization of two-way funnels based on a chord.

Solutions with diffuse-reflections: Consider a funnel with chord and apex (see Figure 7). The left and right chains of are denoted by and respectively. A query point inside can see the chord edge, and the chord can make the whole -mirror-visible to . So, only one edge is enough to be converted to a reflecting-edge.

Figure 7: A funnel.

However, later we want to use a generalization method. So, we do not count on the chord edge of . Again suppose that we are given a query point in a given funnel . We intend to find the minimum number of mirror-edges so that can see the whole . First, we compute in . Without loss of generality, assume that is closer to the left chain of the funnel. Hence, the upper tangent of to touches at , and at . The lower tangent of to touches at . The lower tangent of to touches at (see Figure 7). We have the following lemma.

Lemma 10

If is extended by single reflection through any number of edges of contained in , the extra area covered must be a subset of the area added by reflection by an edge containing one of the points among , , and .

Proof. See Figure 7. Consider any edge of contained in . Its upper tangent to must touch at a point below the touching point of the upper tangent of to . Its upper tangent to must touch at a point below the touching point of the upper tangent of to . Its lower tangent to must touch at a point below the touching point of the lower tangent of to . Its lower tangent to must touch at a point below the touching point of the lower tangent of to . Since these tangents define the area added to by the reflection, the lemma holds. ∎

Observation 1

Consider single diffuse-reflection and a funnel (regardless of the chord edge) as a given polygon. The problem of investigating the minimum number of edges to be converted into reflecting-edges so that a given viewer inside sees completely can be solved in constant time.

Proof. Due to Lemma 10, this can be done by considering the constant number of combinations of at most four edges, two from and two from . ∎

5.2 Weak Visible Polygons

There might not be a single point in a general weak visibility polygon that sees the whole polygon. So, there might not be a kernel. However, there is a chord edge that can see the whole weak visible polygon.

We consider two cases; First, a case where a whole edge can be considered as a reflecting-edge. Consider a funnel. In this case, the first reflecting-edge is the chord of the funnel. Since the chord sees all points in the funnel, this covers the whole funnel. The same logic holds for weak visible polygons in general. The whole weak visible polygon is visible by its chord.

Now, consider the case where only the part of an edge that has received the rays via some reflection can be considered as a reflecting-edge.

Observation 2

If only single reflection is allowed the best choice for an edge to be converted to a reflecting-edge is the chord of the weak visible polygon.

Proof. Suppose the contrary that choosing some other edge rather than the chord gives us the optimum solution. Then, there must be two non chord points and , such that does not see , but sees both and . lies on one of our chosen reflecting-edges, and no chord point seen by can see .

Also, without loss of generality, assume that is to the right side of . See Figure 8. Now consider the rightmost base point that sees . Call this point . For the time being, assume that is on the boundary of the polygon. The blocker between and must come from the boundary between and . is the blocker reflex vertex. As Figure 8 illustrates, the black interval on the chord is the interval visible by . To the right of , the line is indeed on the top of , so must be visible to the black interval, too.

Hence, again in a weak visible polygon, we only need one reflecting-edge, which is the chord of the weak visible polygon. ∎

Figure 8: When only one reflection is allowed, the best choice for an edge to be converted to a mirror in weak visible polygon is always its chord. And, of course it only takes constant time to find the optimal solution and time to find the extra area added by the chord as a mirror.

Multiple Reflections: For funnels, again, a part of the chord is the first reflecting-edge. For the second reflecting-edge, we consider the closest edge to the chord. This edge sees the whole chord, which becomes our third reflection. Thus, the whole funnel is visible, with only three reflections and two reflecting-edges. The same holds for weak visibility polygons due to the following lemma.

Lemma 11

In weak visibility polygons, there is always an edge which sees the whole chord via multiple diffuse reflections. So, only three reflections is required to cover a weak visible polygon.

Proof. Call the chord (i.e. weak visibility edge) where is the clockwise next vertex of on the boundary of the weak visibility polygon WVP. Let be the clockwise next vertex of on the boundary of WVP. Then is such an edge. To see this, observe that there must be a point (say, ) in the interior of that sees , otherwise the boundary of WVP must touch once in the interior of . Then, the segment sees the whole of . ∎

5.3 Properties of the reduction polygon

In this subsection we discuss properties that follow from the above construction of the reduction polygon. We have the following lemmas.

Lemma 12

The query point can see the region enclosed by the bottom spike only through a specular reflection through the mirror edge.

Proof. See Figure 9. The x-coordinate of the left and rightmost points of the bottom spike is twice that of the mirror edge, and the mirror edge is horizontal. Also, the choice of coordinates ensures that the angle is less than the angle . Thus, cannot see the interior of the bottom spike if the mirror edge is not chosen as a reflecting-edge. Moreover, sees the whole of the interior of the bottom spike if the mirror edge is chosen as a reflecting-edge. ∎

Lemma 13

All coordinates of the reduction polygon are rational and take polynomial time to compute.

Proof. This too follows from the construction, as the number of sums used is linear, and each coordinate is derived by at most one division from such a sum. ∎

Lemma 14

The exactly-k specular reflection case of the problem, involving single reflections, is NP-hard.

Proof. From 12 it follows that a solution for the problem exists if an only if a solution exists for the corresponding Subset-Sum problem. From 13 it follows that the reduction can be carried out in polynomial time, thus proving the claim. ∎

Figure 9: This figure illustrates how rational coordinates are guaranteed for the vertices of the spikes.
Remark 1

The multiple reflection case of the first case of the problem mentioned in Theorem 7 is still open. That is the above-mentioned reduction (presented in subsection 4.1) does not work if more than one reflection is allowed.

Proof. In the reduction presented in subsection 4.1, each spike is totally and only visible through one mirror-edge, which is why this reduction and construction does not work in the case of multiple reflections (as an example, the red ray demonstrated in Figure 10 within the polygon reveals that this reduction does not work in the case of multiple reflections). Even if tiny little units of an area from different spikes were partially visible through some other potential mirror-edges (except for their corresponding mirror-edges), their summation could be a large number and the reduction might fail.

Figure 10: The multiple reflection case of the exact problem is still open.

As Figure 10 shows the multiple reflection rays may disturb the functionality of the mirror-edges. Even after two reflections the segment may cause a mirror-edge to see some area behind another window. On the left side of the polygon the vertical edge of the polygon may disarrange the functionality of some mirror-edge, too. ∎

6 Practicability and Applications

The Art gallery problem originates from a real-world problem of guarding an Art gallery with the minimum number of guards who together can observe the whole gallery. However, in some cases, it is not possible to use guards just anywhere in the gallery. There might be security reasons, or the building might be too old to install many guards where ever we need.

To come up with some practical situations, see the following examples:

  1. Where to place wireless access points to support maximum wireless performance is an important question in wireless network designing. When it comes to wireless network design, simply relying on a software to determine the placement of the required access points is not going to cut it. Also, to minimize the total cost of covering a place for a wireless network, the problem of wireless access point placement plays an important role. However, if we consider a wireless source as a viewer and the access points as reflectors the problem becomes related to the setting presented in this paper.

  2. Consider a market where its owner intends to minimized the number of cameras required to cover the whole place for the sake of security. To do this the owner tries installing mirrors on the walls of the place. The minimum number of high resolution cameras and required mirrors will minimize the overall cost for the owner. Suppose to keep the beauty of the place the mirrors are only allowed to be install on the walls. The owner needs to find all the walls that a mirror should be installed on, the location of each mirror on its corresponding wall, the exact size of the mirrors, and more importantly the minimum number of cameras.

  3. To represent another example, consider a place with only one entry (guard), or with a few entries that every two entries have a long distance from each other. For instance, consider a subway or a studio under the ground, assume that the telecommunication signals can only be received from an outside source by an antenna in the entry of the subway. The telecommunication signals should be transmitted from one place to another started from the entry. Some reflecting-edges should amplify these signals and reflect them in various directions to ensure that the whole place is covered successfully. So, one can be sure that his/her cell phone works under the ground effectively. These reflecting-edges are not ordinarily capable of reflecting the signals in all directions. In this example, there is no way to add any guard, and we need to cover the place in another way.

    A base transceiver station (BTS) is a piece of equipment that facilitates wireless communication between user equipment (UE) and a network. UEs are devices like mobile phones, computers with wireless internet connectivity. Though the term BTS can apply to any of the wireless communication standards, it is generally associated with mobile communication technologies. An antenna is a structure that the BTS lies underneath; it can be installed as it is or disguised in some way. The signal quality of an antenna is much better in one specific direction around the antenna. The minimum number of these antennas and their places is extremely important.

  4. Another paper deals with a variant of the Art gallery problem in which guards are deployed to track a mobile intruder trackintruder . In this paper, there are some guards equipped with omnidirectional cameras deployed to a bounded speed intruder inside a simply connected polygonal environment. In fact, we can think of these guards as some edges with moving cameras on them. Based on the position of the intruder inside the polygon there is at least one camera that can trace that intruder. Here in this paper, we replace the reflecting-edges with edges that can reflect signals in the same direction that a real reflecting-edge may do. We suppose that these edges (reflecting-edges) are on the boundary of the polygon. Since in the real-world problems it is hard to install any instrument in the middle of a place, this assumption makes the problem more applicable. However, we can extend the problem to a version that considers polygons with holes.

7 Concluding Remarks

In this paper, we showed that problems of finding the reflecting-edges which can extend the visibility polygon of a given point are generally NP-complete. Specifically, the aim was to add a space with a size of units of area. A related problem that considered all polygonal edges as mirrors, was discussed in 1998 ad . We can investigate to see if they can add units, or more than that to the surface area of the visibility polygon in time, where at most specular reflections are allowed. Nonetheless, we proved in the paper that considering diffuse reflections, the problem of investigating the optimal number of reflecting-edges is NP-Hard.

The complexity results (the NP-hardness results) of this paper work for the following:

  • Specular version considering single reflection for the problem of adding precisely units of area to a viewer visibility polygon inside a simple polygon.

  • Diffuse version considering single and multiple reflections for the problem of adding either precisely or at least units of area to the surface area of the visibility polygon of a viewer inside a simple polygon.

Other cases of the problem are still open.

Assume that we are allowed to have diffuse reflections, and we want to expand the visibility polygon of a viewer more than a given amount. We showed that if is a funnel or a weak visible polygon, we can trivially find reflecting-edges in constant time. Also, considering the multiple reflection case, we can cover the whole polygon through at most three reflecting-edges.

As far as covering extra area is concerning, we dealt with the problem in an other way too. Considering a simple polygon , assume that all edges of can reflect rays diffusely, we empowered the art gallery problem by reflection. That is if can get covered by guards without reflection, diffuse reflections decrease the number of required guards to . Furthermore, for vertex guarding version of the art gallery problem, the problem of covering a simple polygon when reflections is permitted (either diffuse or specular) is solvable in time with an approximation factor of . However, it would be interesting to improve the result into a -approximation strategy.


  • [1] É. BONNET, T. Miltzow. Parameterized Hardness of Art Gallery Problems. ACM Transactions on Algorithms,, 16(4) ,2020.
  • [2] A. Vaezi, M. Ghodsi, Visibility extension via mirror-edges to cover invisible segments. Theoretical Computer Science,, 2019.
  • [3] M. Abrahamsen, A. Adamaszek, T. Miltzow. The Art Gallery Problem is -complete.

    Proceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing, STOC

    , 65–-73, 2018.
  • [4] É. Bonnet, T. Miltzow. An Approximation Algorithm for the Art Gallery Problem. Proceedings of the 33rd International Symposium on Computational Geometry (SoCG’17) Article 20, DOI:, 15 pages, 2017.
  • [5] A. Vaezi, M. Ghodsi. How to Extend Visibility Polygons by Mirrors to Cover Invisible Segments. WALCOM, 42–53, 2017.
  • [6] H. Emadi, T.Gao, S. Bhattacharya. Visibility-Based Target-Tracking Game: Bounds and Tracking Strategies. In: IEEE Robotics and Automation Letters, DOI: 10.1109/LRA.2017.2714980 , 1917-1924, 2017.
  • [7] P. Bhattacharyay, S. K. Ghosh, B. Roy. Vertex Guarding in Weak Visibility Polygons. Algorithms and Discrete Applied Mathematics, Springer, Cham, vol 8959, 45–57, 2015.
  • [8] L. Barba, S. Langerman. Optimal detection of intersections between convex polyhedra. arXiv:1312.1001, 2015.
  • [9] A. Vaezi, Ghodsi, M. Extending Visibility Polygons by Mirrors to Cover Specific Targets. EuroCG, 13–16, 2013.
  • [10] J. King, D. Kirkpatrick. Improved Approximation for Guarding Simple Galleries from the Perimeter. Discrete Comput Geom,, 46, 252–269 2011.
  • [11] S. K. Ghosh. Approximation algorithms for Art gallery problems in polygons. Discrete Applied Mathematics, 158(6): 718–722, 2010.
  • [12] B. Kouhestani, M. Asgaripour, S. S. Mahdavi, A. Nouri, and A. Mohades. Visibility Polygons in the Presence of a Mirror Edge. In Proc. 26th European Workshop on Computational Geometry, 26: 209–212, 2010.
  • [13] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2009.
  • [14] M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf Computational Geometry Algorithms and Applications. Springer, third edition Department of Computer Science Utrecht University, 13,14 2008.
  • [15] A. Deshpande, T. Kim, E. D. Demaine, S. E. Sarma. A pseudopolynomial time -approximation algorithm for art gallery problems. Algorithms and Data Structures, 10th International Workshop, WADS 2007, Halifax, Canada, 163–174, 2007.
  • [16] S. Eidenbenz, C. Stamm, P. Widmayer. Inapproximability results for guarding polygons and terrains. Algorithmica, 31(1), 79–-113, 2001.
  • [17] J. Urrutia, Art Gallery and Illumination Problems. Handbook of Computational Geometry,, 973–1027, 2000.
  • [18] B. Aronov, A. R. Davis, T. K. Day, S. P. Pal, D. Prasad. Visibility with one reflection. Discrete & computational Geometry, 19: 553–574, 1998.
  • [19] B. Aronov, A. R. Davis, T. K. Dey, S. P. Pal, D. Prasad. Visibility with multiple specular reflections. Discrete & computational Geometry, 20: 61–78, 1998.
  • [20] S. Eidenbenz. Inapproximability results for guarding polygons without holes. Proc. 9th Int. Symp. Algorithms and Computation. Lecture Notes in Computer Science, vol. 1533, 427-–436, 1998.
  • [21] U. Feige. A threshold of ln n for approximating set cover. J. ACM, 45(4), 634–-652, 1998.
  • [22]

    R. Raz, S. Safra. A sub-constant error-probability low-degree-test and a sub-constant errorprobability PCP characterization of NP.

    Proc. 29th ACM Symp. Theory of Computing. El Paso,TX, 475–-484, 1997.
  • [23] G. T. Tokarsky. Polygonal rooms not illuminable from every point. American Mathematical Monthly, 102: 867–879, 1995.
  • [24] L. J. Guibas, J. Hershberger, D. Leven, M. Sharir, and R. E. Tarjan. Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons. Algorithmica, 2: 209–233, 1987.
  • [25] D. T. Lee. Visibility of a simple polygon. Computer Vision, Graphics, and Image Processing, 22: 207–221, 1983.
  • [26] Approximation algorithms for art gallery problems. Proc. Canadian Information Processing Society Congress, 429-–436, 1987.
  • [27] D.T. Lee and A.K. Lin. Computational complexity of Art gallery problems. IEEE Transactions on Information Theory, 32: 276–282, 1986.
  • [28] A. Aggarwal. The art gallery theorem: its variations, applications and algorithmic aspects. Ph.D. thesis, The Johns Hopkins University, Baltimore, MD, 1984.
  • [29] J. O’Rourke, K. Supowit. Some NP-hard polygon decomposition problems. IEEE Trans. Inf. Theory, 29(2), 181–-189, 1983.
  • [30] D. Avis, G. T. Toussaint. An optional algorithm for determining the visibility of a polygon from an edge. IEEE Transactions on Computers, C-30: 910-1014, 1981.
  • [31] D. Avis, G. T. Toussaint. An optional algorithm for determining the visibility of a polygon from an edge. IEEE Transactions on Computers, 30: 910-1014, 1981.
  • [32] Ch. Bernard and D. P. Dobkin. Detection is easier than computation. Proceedings of the 12th Annual ACM Symposium on Theory of Computing, STOC, 1980.
  • [33] V. Klee. Is every polygonal region illuminable from some point? Computational Geometry: Amer.Math. Monthly, 76: 180, 1969.