Visibility Extension via Reflective Edges to an Exact Quantity

by   Arash Vaezi, et al.
Sharif Accelerator

We consider extending the visibility polygon of a given point q, inside a simple polygon P by converting some edges of P to mirrors. We will show that several variations of the problem of finding mirror-edges to add precisely k units of area to VP(q) are NP-complete. The optimal cases are NP-hard. We are unaware of any result on adding an exact number to a polygon, or covering an area with an exact surface. We deal with both single and multiple reflecting mirrors for both specular or diffuse types of reflections.



There are no comments yet.


page 1

page 2

page 3

page 4


Expanding Visibility Polygons by Mirrors upto at least K units

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

Guarding Path Polygons with Orthogonal Visibility

We are interested in the problem of guarding simple orthogonal polygons ...

Visibility Extension via Reflection

This paper studies a variant of the Art-gallery problem in which "walls"...

Minimum Hidden Guarding of Histogram Polygons

A hidden guard set G is a set of point guards in polygon P that all ...

Art Gallery Problem with Rook Vision

We introduce rook visibility, which is a new model of visibility for the...

The Hierarchical Chinese Postman Problem: the slightest disorder makes it hard, yet disconnectedness is manageable

The Hierarchical Chinese Postman Problem is finding a shortest traversal...

The multi-vehicle covering tour problem: building routes for urban patrolling

In this paper we study a particular aspect of the urban community polici...
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

The visibility problem has undergone an extensive analysis in the literature. Linear-time algorithms have been proposed to obtain the visibility polygon(region) of a point within a simple polygon  [9], or when the viewer is a segment [6].

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 [8]. 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 exist a dark point [10].

It was shown in 2010 that of a given point or segment can be computed in the presence of a mirror in time [11], with respect to the complexity of .

Visibility with mirrors subject to different types of reflection also has been studied before [5]. There are two reflection effects for the mirror-edges that we consider in this paper, diffuse-reflection to reflect light with all possible angles from a given surface and, the 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. Some have also specified the maximum number of allowed reflections via mirrors in between [4].

1.1 Our Results

We initiate the study of an optimization problem in a setting related to the art gallery problem. In this setting, the polygon edges can be converted to mirrors(reflectors). A guard can see a point if it is directly visible to it or if it is mirror-visible via one or more reflections. This is a natural and non-trivial extension of the classical art gallery setting. This setting has been considered before in few papers [2, 3, 4, 5]. The problem considered in this paper is to find a minimum number of edges that can be converted to mirrors so that the visibility region of a given point gets expanded by an area of . Depending on the reflection type (specular or diffuse) and number (single or multiple) one can consider four cases. In this paper, we have proved NP-completeness of the problem for all the cases except the specular multiple reflection case.

There are many variations of this theme. Reflections from mirrored edges may be required to obey Snell’s law (”specular mirrors”), or they may simply connect any pair of rays incident to the same point on the mirror (”diffuse mirrors”). Rays may be permitted to bounce a limited number of times or travel through a limited number of edges. The viewpoint may become a segment inside [2].

This article considers the following problem: given a polygon , a point inside , and positive integer , does there exist a subset of edges of that can be turned into mirrors so that increases in an area by exactly units? Two problems are considered, one with specular mirrors and one with diffuse mirrors.

We present polynomial-time reductions from the NP-complete Subset-Sum problem to our problem and show that each solution for an arbitrary instance of the problem is verifiable for correctness in polynomial time. Thus, the primary NP-completeness results follow. We are working on another paper regarding optimization problems with monotone properties [1].

We dealt with another version of the problem of extending visibility polygons in another paper [3] and we improved our results in [2]. In those papers, we had a given object (a point or a segment) as a target inside a simple polygon . This target is not visible to the given viewer (a point). In order to make the target mirror-visible to the viewer, we converted some edges of to mirrors. Different types of segment visibility were considered. We proposed a linear time algorithm which finds all mirror-edges that make the target mirror-visible to the viewer, and reveals precisely which part of the target is mirror-visible through each mirror-edge.

In this paper, we do not have a target. To add an exact amount to of a given viewer, the problem is more intricate and tricky.

2 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.

Consider a market where the owner cannot afford many cameras to guard the whole place. A simple way is to buy a high-resolution camera and to install it somewhere safe and accessible. And then, the owner can install some mirrors around the market. The minimum number of mirrors that can guard the whole place will minimize the overall cost. In this example, in order to have a better video quality, it is better to allow only one reflection for the mirrors. To keep the beauty of the place the mirrors may be installed on the wall of the store. The owner needs to find all the walls that a mirror should be installed on them, the location of each mirror on its corresponding wall, and the exact size of the mirror.

To present an ideal example, 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 reflectors 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 reflectors are not ordinarily capable of reflecting the signals in all directions.

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.

Here, we simplify the problem. There is a simple polygon , and a viewer . The viewer has a visibility polygon and is capable of seeing in all directions. Also, there is no distance limitation for the viewer to see anything. We intend to find the minimum number of reflectors. These reflectors have no distance limitation too. They can reflect signals (or lights) coming from the viewer in a specific direction considering the specular type of reflection, or in all directions considering the diffuse type of reflection. These reflectors are installed on the edges of the polygon, and we assumed that no mirror can be inside the polygon. In fact, we can assume that we convert some part of an edge to a reflector. The problem is to find the place of the minimum number of reflectors to cover either the whole polygon or some pre-specified regions inside .

3 Notations

Suppose is a simple polygon where denotes its 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 , consists of all points of visible to .

Every edge of has the potential of converting into a mirror. We can assume that all edges are mirrors. However, the viewer can only see some edges of . From now on, when we talk about an edge, and we need to consider it as a mirror in order to compute or check something (such as its mirror-visibility area), we call it mirror-edge. Two points and inside can see each other through , if and only if they are directly visible with a kind of reflection.

Since only an interval of a mirror-edge is useful, we can consider the whole edge as a mirror, and there is no need to split an edge. Since is a simple polygon, the viewer inside can only see a contiguous (possibly empty) portion of any edge in . In other words, only one contiguous part of every edge of is visible for the viewer. We need to find this part, and also make sure that it is visible to the target segment too.

Two points or segments are ”mirror-visible” if and only if they can see each other through a mirror-edge.

In our reductions we will use the variation of the Subset-Sum problem in which the target() and all the values are non-negative, this variation is NP-Complete due to [7].

4 Expanding exactly units

We begin this section by the following theorem which is in fact the main contribution of this paper.

Theorem 4.1

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

1. Specular-reflection type regarding single reflections.

2. Diffuse-reflection type regarding either single or finite-multiple reflections.

Considering the assumption that the above theorem is true, on the subject of the minimum , all of the cases mentioned above are NP-hard (The optimal case of the problem is NP-hard).

By checking each edge mirror-visibility, in polynomial time, a given solution can easily be verified if it adds precisely units to . Therefore, the problem is in NP. According to [11] we can check each edge mirror-visibility in linear time, and we can compute the area of the union of all mirror-visibility areas in polynomial time.

Note that, the overall structure of the polygons we construct in our reductions can be created in a way that all the coordinates become a rational number. That is because we can easily re-scale the polygon so that all the angles remain constant, or also, we can shift the gadgets in the polygons without any damage to the construction of the reduction.

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

We will discuss the details of our reductions in the following subsections.

4.1 Specular type of reflections

Consider an instance of a 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, which their summation equals to .

The main contribution of the reduction is the structure of the polygon, which provides some features for the polygon. We use a simple polygon (similar to the one in Fig. 2) where there is only one edge of the constructed polygon that allows to completely see one specific quadrangular spike opposite to its bottom edge. Note that every edge of the polygon has the potential of getting converted to a mirror-edge but for every spike in the polygon (illustrated in 2) there is only one edge which can make that spike mirror-visible. In this Subsection, we only consider the specular type of reflection. And, spikes and their corresponding mirror-edges are in the same order from right to left. Moreover, no other edge of can see even a area of a spike except for its corresponding mirror-edge in the order from right to left. Each area of those spikes equals to a value in .

For obtaining exactly units of additional area, some mirror-edges facing their corresponding quadrangular spikes need to be selected and converted to mirrors. The set corresponding to quadrangular spikes seen by a set of selected opposing edges to be converted to mirrors in order to add exactly units of area to the visibility polygon of will correspond to a solution for the specified instance of the Subset-Sum problem, and the reduction is complete.

In this reduction, each quadrangular 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 (Two rays demonstrated in 2 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. Please see appendix for more details.

To be more precise on the structure of the polygon , see Fig. 1, the reduction polygon consists of two main components. The first component illustrated in Fig. 1(A) is a vertical rectangular. , , and are the name of four vertices of this rectangular. Two other vertices of this part of the polygon are and , which these vertices are on the unique line which contains segment . Between and , there is no line.

We choose integer coordinates for all the mentioned above vertices of .

If we imagine a line parallel to the segment , which starts from inside the polygon, (the viewer) should be on this line. The more is close to the smaller the reduction polygon will be. However, the position of on this imaginary segment has a considerable effect on the coordinates of the vertices of the other component of the polygon.

Imagine another segment which crosses and parallel to . The two imaginary segments, parallel to the edges of the rectangular, create four sub-rectangular spaces in the polygon. Fig. 1(A) reveals how the rays emitted from , via one specular reflection, can be reflected in each of these sub-rectangular spaces. The main rectangular provides such kind of space that cannot see anything via one specular reflection except on the left side of and via upward rays.

Fig. 1(B) illustrates the other component of the reduction polygon. This component has vertices on its top and vertices on its bottom ( is the number of the values of ).

On the top of the polygon, there are mirror-edges. Each mirror-edge has the potential of adding an area to the visibility polygon of . These mirror-edges are numbered from right to left. The vertices of every mirror-edge are on a unique line which starts from (or ), and ends at . can see every point on this line. So, we select integers to be the coordinates of the mirror-edges.

Every segment lies on a ray emitted from . And, every segment is perpendicular to the next mirror-edge ( ).

On the bottom of the component shown in Fig. 1(B), there is a line starting from and parallel to the line containing the mirror-edges on the top of this component. The underneath line contains vertices, and there are windows. We call this line; the window-line. The windows on the window-line are numbered from right to left. Every window corresponds to the mirror-edge , . The ray reflected from on reaches the window-line on a point denoted as . And, the ray reflected on intersects the window-line on a point denoted as . The window-line starts at and ends at .

Consider a segment , if the coordinates of either or is not rational, then we lessen the size of the corresponding window and choose the first rational number on that window. For example, if the coordinates of was not a rational number then we move to the left on the window-line and select a point with rational coordinates. Note that as we select integer coordinates for the vertices of every mirror-edge, the size of each window is more than one unit (the space between two consecutive integers). So, there is enough space to move or inside the interval on window. Also, there is enough space between two windows, and no mirror-edge can disturb the functionality of another one. That is the region behind each window is only and entirely visible to its corresponding mirror-edge.

By joining the two aforementioned components, we can construct a simple polygon which is, in fact, the reduction polygon.

See Fig. 2, cannot see any invisible region through , , , , and edges.

Figure 1: Two main components of the reduction polygon is illustrated.
Figure 2: Reduction Polygon. There is a quadrangular region behind each window. And the surface area of this region corresponds to a value of . This figure contains five first values 3, 1, 5, 4, 2.

Finally, we need to put a quadrangular region with an area equal to units of area, behind the (for ) window so that can see that region entirely through the corresponding mirror-edge, and no other edge can make this region visible even a little bit.

To set up the quadrangular region behind a window , after computing the correct positions for the and corresponding vertices, we find the reflected rays form on and . We need to extend these rays to provide a quadrangular region. Every quadrangular region has four vertices; and and two other on a segment lower than the window-line. This lower segment of each quadrangular region is parallel to the window-line. Since the height of each quadrangular region is flexible, we can set any surface area for that region.

Note that both base and height of a quadrangular region are variable.

Furthermore, the reduction is from Subset-Sum problem, which is weakly NP-hard. Therefore, the integer coordinates should be polynomially bounded in the values and .

4.1.1 Multiple Reflections

The multiple reflection case of this version of the problem is still open.

Fig. 1(B) illustrates a ray reflected from , after finite number of reflections this ray cannot get back to the bottom of the polygon.

However, as Figure 2 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. Also, this mirror-edge can see the area behind its own corresponding window.

Considering multiple reflections, on the left side of the polygon the segment may disarrange the functionality of some mirror-edge, too.

4.2 Diffuse type of reflections

This version of the problem is more intricate. And, we cannot use the same polygonal structure used for the previous case. The reason is that in diffuse type of reflections, rays are reflected to the all directions and can be reflected into wrong spikes (a spike which should get mirror-visible via another mirror-edge). Considering multiple plausible reflections the problem gets even harder. These rays have to be excluded by an appropriate arrangement of the polygon’s edges. In this subsection, We will present a completely different construction in compare with the construction created in the previous subsection. The construction presented in this subsection works in the case of multiple reflections, too. However, again we reduce the Subset-Sum problem to our problem.

The construction is as the following:

Consider the single reflection first. The reduction polygon consists of some gadgets. We have one gadget for each value in the given instance of the Subset-Sum problem (denoted as ). So, we need to set gadgets. Each gadget has a window. And, (the viewer) can not see behind that window directly.

Every gadget has a specific edge that can make the area behind the window entirely mirror-visible to via diffuse type of reflection; we call this edge as the mirror-edge (or later the main-mirror-edge). Other edges of a gadget should not see any area behind the window via a single diffuse type of reflection.

Figure 3: Gadget for each value in the given Subset-Sum instance. (A) Illustrates the gadget structure. The gray region reveals the wide mirror-visible area behind the window. This area can become mirror-visible through the mirror-edge via diffuse type of reflection. (B) Shows an example that reveals that the coordinates of the vertices of a gadget can be rational.

See Fig. 3.(A). In this gadget, , , , vertices, and the given point lie on one unique line. , , and vertices lie on another line. Also, , , and vertices lie on a parallel line with . is connected to . In each gadget, can play the same role as a mirror-edge in the previous reduction presented in the previous subsection. In other words, consider a gadget in the final polygon, and suppose a solution chooses to convert the edge to a mirror. Then, there will be one specific spike (area) which is only and entirely mirror-visible through this edge. And this area should be behind a window segment.

is the window in each gadget. The arrangement of other edges of a gadget is in a way that no edge except for can make any area behind mirror-visible to .

Since should not make any part of the gray region mirror-visible, should be on the left side of . This way, and vertices block ’s mirror-visibility for not to see the gray region behind the window.

Lemma 1

The coordinates of a gadget can be computed in polynomial time in a Turing machine.


Consider one gadget like the one illustrated in Fig. 3. First, we select integer coordinates for all the vertices. Fig. 3(B) exhibits an example. We will see that the vertical and horizontal distances between the vertices of a gadget, and also between and these vertices are flexible.

Since we consider the diffuse reflection type, the size of the mirror-edge is flexible, and can move to be close enough to by changing the size of the mirror-edge. And, these movements will not change the visibility of the mirror-edge on the other side of the window.

In particular, consider the following examples;

  1. If we move to a lower position with rational coordinates will move to its right side.

  2. If we move to a lower position, will move to a lower position too.

  3. We can change the position of to the left or right, and will move accordingly.

  4. has a more flexible position. If we fix the position of , by moving to the left or right we can change the size of the window. Also, The position of , , and vertices is highly flexible too.

Now suppose that we construct gadgets with rational coordinates independently. In the final structure of the polygon, we need to put these gadgets in different positions and connect them. We will see how to do this after Lemma 1 in the rest of the paper. However, we may rotate or move a gadget to another place, and the coordinates of its vertices will change accordingly. By keeping the overall arrangement of a gadget, we can change the positions of its vertices to have rational coordinates.

We can change the position of , and to provide a constant condition for the area behind the window.

Here, we count on as a vertex of the gadget, but later in the final structure of the polygon, we will replace it with a vertex of another gadget. As the coordinates of all the vertices of all gadgets are rational, this change will keep all the coordinates rational.

See Fig. 4, if any edge of the final polygon stands in front of the dark gray area (the dark gray triangle which has , , , , on its boundary), then it has the potential of making a part of the area behind the window mirror-visible to . This part is unavoidable to be directly visible through an edge rather than the specified mirror-edge of the gadget. We denote this small mirror-visible area as . In Fig. 4 this region in shown in green.

The reason that the area is unavoidable to get mirror-visible by another edge rather than the predetermined mirror-edge is this: There must be at least one edge (say ) in front of the area (or in front of the dark gray area shown in Fig. 4) for the final constructed polygon to be a connected and simple polygon.

For every gadget, we set one edge on the opposite side of the polygon that can make the entire area mirror-visible to .

Figure 4: The area is illustrated. Any edge of the main polygon in the dark gray area can see at least a part of the little green area.

In the worst case, base on the position of the and vertices, the surface area of this mirror-visible part is restricted to be the little area. This area is illustrated clearly in Fig. 5. The mirror-visibility of the edge shown in Fig. 5 covers the area completely.

Figure 5: The little region is shown in green. Every -edge can make an entire and only one region mirror-visible to .
Lemma 2

The size of the surface of the area is flexible.


As we mentioned earlier, the positions and sizes of vertices and segments are variable in many ways. In particular, considering a specific gadget, can move readily between and , or can move to a lower position. Moreover, we can set the angle between and accordingly. Therefore, we can set the surface of the area to cover any small predetermined units of area.

4.2.1 The Two-Gadget Structure

The dark gray region is between two segments; and . To make sure no gadget disturbs another one, we need to know that no part of a gadget is in front of the region between and of another gadget.

Suppose that the number of the values of is even. We place every two gadgets head-on to each other in a way that , , , vertices of each gadget, and , lie in one line. Also, in every such construction of two gadgets, one gadget is upside-down in compare with the other one (see Fig. 6). We call this structure a two-gadget structure. Based on this structure, no dark gray region of any two gadget faces any edge of another one internally (from the inside of the gadget). This arrangement (the two-gadget construction) helps us to use -edges practically. We will discuss these edges later.

Figure 6: We place every two gadgets head-on to each other in a way that the half-lines containing segments lie on one line.

4.2.2 Assembling the Two-Gadget Structures

All the two-gadget structures will be assembled in the way as Fig. 7(A) illustrates. The two half-lines containing the segments of every two-gadget should cross vertices of two other gadgets in the top and bottom of a two-gadget.

Thus, no edge of any gadget can place in the dark gray area of other gadgets. Now, we add reliably all these two-gadget patterns one by one to the polygon. The gadgets will be around circularly.

Note that, we can set various distances between the gadgets of the polygon by applying appropriate length to the segments and . And also, the angle between each mirror-edge and its corresponding is adjustable.

Figure 7: (A) Shows how to attach gadgets to each other, and (B) Illustrates 8 gadgets. As we can see, the polygon is not completely constructed yet.

The segments , and of a gadget are not in the dark gray region of another one. Therefore, these segments cannot disturb the functionality of the gadgets. In other words, in the constructed polygon up to this step, no edge except for the specified mirror-edge in each gadget can make any part of the region behind a window mirror-visible to .

4.2.3 (

-edges) Fig. 7(B) demonstrates assembling of 8 gadgets in a polygonal space. The reduction polygon is not completely constructed. The gadgets are not connected. And, this is not a simple polygon yet. Any edge that fixes an unconstructed part can make one specific area on the opposite side completely mirror-visible to . That is because any such edge will cover the entire dark gray area from the front side (the same as the edge illustrated in Fig. 5). So, the area will be covered entirely.

As Fig. 8, shows, we fill the unconstructed regions of the polygon by -edges. Each -edge makes exclusively an entire area of another gadget mirror-visible to the viewer. This area corresponds to a pattern head-on the -edge across .

Figure 8: The -edges connect the gadgets to each other. These edges can see a particular part of the region behind the windows (the little area).

4.2.4 The Area of the Regions

The construction of the polygon and the gadgets should be in a way that, the summation of the surface area of all the regions gets equal to a value lower than 1 unit of area. This is practically feasible because we know the number of values in our given Subset-Sum instance is , and also because the positions of and vertices of the gadgets are variable. So, we can adjust the surface area of every region. Assume that the summation of the surface area of all the regions is equal to (lower than 1 unit).

4.2.5 Quadrangular Regions

In the next step, we create quadrangular regions; each one has a surface area equal to one of the values of the given instance of the Subset-Sum problem (). There might be not enough space in front of each window in the gadgets to put any quadrangular region with any shape. However, we already know that the type of reflections is diffuse, and the reflected rays from the mirror-edge are directed in all directions. So, behind a window, we have a wide range of space in different angles that can provide enough space for the quadrangle to be expanded to the outside of the polygon (see Fig. 9). In fact, this is the reason why we cannot use this reduction if we consider the specular type of reflections.

To have a more precise discussion on the quadrangular region see the following:

A quadrangular region with a predetermined surface area can be placed behind (the window) of any gadget in a way that the whole invisible region of the quadrangular region gets visible to its corresponding mirror-edge. Behind a window, there is a quadrangular region whose surface area equals to a value of plus a . This equals to the area of the corresponding area behind that window. See Fig. 9(A). In this figure for the quadrangular regions to be clearer, we illustrate the areas in green. The gray-quadrangular regions are the quadrangular regions that their surface area equal to the values of .

The area is a triangle with three vertices; , , and . The position of is adjustable, but it provides different surfaces for the corresponding area. See Fig. 9(B).

The gray-quadrangular area starts from . Two other vertices on the other side can provide a quadrangle. The surface area of this gray-quadrangle is adjustable and flexible. The position of the four vertices of this quadrangle can be set to provide any surface area for it. Also, this flexibility ensures us that the coordinate of the vertices can be set to be rational.

Figure 9: (A) At the end, we add the gray-quadrangular regions to the polygon. (B)The gray-quadrangular region may expand to the outside of the polygon to provide any surface area which is required in a value of .

4.2.6 The Additional Space

We set the target of our problem to , which is the target value of . And, is the summation of the surface areas of all the regions in all gadgets. So, We need all the areas to be mirror-visible.

Every area can be visible for through a -edge or a mirror-edge (). When we select a mirror-edge to make visible the area behind its corresponding window, it is not required to choose the corresponding -edge. However, in such a case that a mirror-edge is not selected, the corresponding -edge has to be chosen so that the whole surface gets covered.

4.2.7 Odd Number of Values

If the given Subset-Sum instance (

) has an odd number of values, then we can easily add one artificial gadget to our structure. First, we generate a two-gadget structure. Then, we can put an extra edge between

and vertices of one of its gadgets, and eliminate that one.

Note that according to our previous discussions all vertices have rational coordinates so eliminating a gadget in this way does not affect our reduction.

Since this edge is not in the dark gray area of any other gadget (the area between the two lines that include and segments in a gadget), its mirror-visibility cannot disturb anything in our final constructed polygon. And, the reduction will work fine.

4.2.8 Reduction Analysis

There are values in the given instance of the Subset-Sum problem ()

Each area is a triangle. So, we can compute the complete surface area of all the areas in time. Also, the surface area of each gray-quadrangular region (the area behind a window minus the area) can be set to be equivalent to a value in . To do this, we use a quadrangular shape and set its base and height appropriately as we mentioned previously. We can extend the gray-quadrangle to the outside of the polygon.

We call the mirror-edges () used in the above reduction, as the main-mirror-edges. To expand by exactly units of area, any solution needs to contain a subset of these main-mirror-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 mirror-edges. In that case, the useless -edges and other unnecessary edges should not be chosen to be converted to mirrors. However, those main-mirror-edges corresponding to the solution of are required to be selected to be converted into mirrors. Based on the solution, if in a gadget the main mirror-edge is not selected the - edge on the opposite side should be converted to mirror so that all the area become mirror-visible to . Note that as we look for the optimal solution, we need to select the best subset of the main mirror-edges. So, the optimal version of the problem is NP-hard.

4.2.9 Multiple Reflections

As Fig. 9(B) illustrates, every area has an edge () which is not directly visible to . Consider a gadget, we call the segment the “second-mirror-edge”. We can easily construct a gray-quadrangle region so that it becomes entirely mirror-visible to both the main mirror-edge and the second-mirror-edge. That is because we consider the diffuse type of reflections. We only need to make sure that gray-quadrangular region is in front of or at least alongside the second-mirror-edge, and it is not behind the second-mirror-edge. That is because the second-mirror-edge cannot see its behind.

Consider two reflections, can see a gray-quadrangular region through one -edge and its corresponding second-mirror-edge on the opposite side gadget. Therefore, considering more than one reflections, can see a gray-quadrangular region either by a main-mirror-edge, or a second-mirror-edge. However, if the main -mirror-edge is not selected, for the second-mirror-edge to work we need to convert a -edge on the opposite side of that gadget too.

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-mirror-edge and the second-mirror-edge. We see if either one of these mirror-edges is selected, then we choose the corresponding value of .

4.2.10 Optimal Version of Multiple Reflections

If we look for the minimum number of mirror-edges, the previous reduction works. That is because the main-mirror-edge costs only one edge to be converted into a mirror, but the second-mirror-edge requires two mirror-edges in the middle.

Here again, if a area is covered by a main-mirror-edge, there is no need to convert the corresponding -edge to mirror.

No matter how many multiple reflections are allowed, cannot see any invisible gray-quadrangular region except by using either the main mirror-edge or the second-mirror-edge as reflectors. And, if we select either one of these mirror-edges, the entire corresponding invisible gray-quadrangular region gets mirror-visible to (remember that for the second-mirror-edge to works individually the -edge) needs to be converted to mirror too).

5 Discussion

In this paper we have obtained complexity results for the problem of adding exactly k units of area to the visibility polygon of a point within a single polygon. Diffuse and Specular type of reflections as well as single or multiple reflections have been carefully considered and addressed. These are the very first result of its kind on this problem to the best of authors knowledge. We intend to investigate the problem of adding at least k units of area to the visibility polygon of a point within a simple polygon in further steps. Also, proposing an approximation algorithm for any version of the problem would be priceless.

The specular version considering multiple reflections is still open.


  • [1]
  • [2] A. Vaezi, M. Ghodsi. How to Extend Visibility Polygons by Mirrors to Cover Invisible Segments. In: WALCOM, 42–53, 2017.
  • [3] A. Vaezi, M. Ghodsi. Extending Visibility Polygons by Mirrors to Cover Specific Targets. In: EuroCG, 13–16, 2013.
  • [4] 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.
  • [5] B. Aronov, A. R. Davis, T. K. Dey, S. P. Pal, D. Prasad. Visibility with one reflection. Discrete & computational Geometry, 19: 553–574, 1998.
  • [6] 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.
  • [7] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2009.
  • [8] V. Klee. Is every polygonal region illuminable from some point? Computational Geometry: Amer.Math. Monthly, 76: 180, 1969.
  • [9] D. T. Lee. Visibility of a simple polygon. Computer Vision, Graphics, and Image Processing, 22: 207–221, 1983.
  • [10] G. T. Tokarsky. Polygonal rooms not illuminable from every point. American Mathematical Monthly, 102: 867–879, 1995.
  • [11] 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.