1 Introduction
The visibility problem has undergone an extensive analysis in the literature. Lineartime 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 allmirror 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 mirroredges that we consider in this paper, diffusereflection to reflect light with all possible angles from a given surface and, the specular reflection which is the mirrorlike 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 mirrorvisible via one or more reflections. This is a natural and nontrivial 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 NPcompleteness 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 polynomialtime reductions from the NPcomplete SubsetSum 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 NPcompleteness 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 mirrorvisible 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 mirroredges that make the target mirrorvisible to the viewer, and reveals precisely which part of the target is mirrorvisible through each mirroredge.
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 realworld 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 highresolution 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 prespecified 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 mirrorvisibility area), we call it mirroredge. 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 mirroredge 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 ”mirrorvisible” if and only if they can see each other through a mirroredge.
In our reductions we will use the variation of the SubsetSum problem in which the target() and all the values are nonnegative, this variation is NPComplete 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 mirroredges of in order to expand exactly units of area is NPcomplete in the following cases:
1. Specularreflection type regarding single reflections.
2. Diffusereflection type regarding either single or finitemultiple reflections.
Considering the assumption that the above theorem is true, on the subject of the minimum , all of the cases mentioned above are NPhard (The optimal case of the problem is NPhard).
By checking each edge mirrorvisibility, 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 mirrorvisibility in linear time, and we can compute the area of the union of all mirrorvisibility 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 rescale 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 NPcomplete SubsetSum problem is reducible to this problem in polynomial time. Thus, we can deduce that our problem in the cases mentioned above is NPcomplete.
We will discuss the details of our reductions in the following subsections.
4.1 Specular type of reflections
Consider an instance of a SubsetSum problem (), which has nonnegative integer values, and a target number . The SubsetSum 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 mirroredge but for every spike in the polygon (illustrated in 2) there is only one edge which can make that spike mirrorvisible. In this Subsection, we only consider the specular type of reflection. And, spikes and their corresponding mirroredges 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 mirroredge 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 mirroredges 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 SubsetSum problem, and the reduction is complete.
In this reduction, each quadrangular spike is totally and only visible through one mirroredge, 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 mirroredges (except for their corresponding mirroredges), 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 subrectangular spaces in the polygon. Fig. 1(A) reveals how the rays emitted from , via one specular reflection, can be reflected in each of these subrectangular 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 mirroredges. Each mirroredge has the potential of adding an area to the visibility polygon of . These mirroredges are numbered from right to left. The vertices of every mirroredge 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 mirroredges.
Every segment lies on a ray emitted from . And, every segment is perpendicular to the next mirroredge ( ).
On the bottom of the component shown in Fig. 1(B), there is a line starting from and parallel to the line containing the mirroredges on the top of this component. The underneath line contains vertices, and there are windows. We call this line; the windowline. The windows on the windowline are numbered from right to left. Every window corresponds to the mirroredge , . The ray reflected from on reaches the windowline on a point denoted as . And, the ray reflected on intersects the windowline on a point denoted as . The windowline 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 windowline and select a point with rational coordinates. Note that as we select integer coordinates for the vertices of every mirroredge, 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 mirroredge can disturb the functionality of another one. That is the region behind each window is only and entirely visible to its corresponding mirroredge.
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.
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 mirroredge, 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 windowline. This lower segment of each quadrangular region is parallel to the windowline. 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 SubsetSum problem, which is weakly NPhard. 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 mirroredges. Even after two reflections the segment may cause a mirroredge to see some area behind another window. Also, this mirroredge 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 mirroredge, 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 mirrorvisible via another mirroredge). 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 SubsetSum 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 SubsetSum 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 mirrorvisible to via diffuse type of reflection; we call this edge as the mirroredge (or later the mainmirroredge). Other edges of a gadget should not see any area behind the window via a single diffuse type of reflection.
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 mirroredge 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 mirrorvisible 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 mirrorvisible to .
Since should not make any part of the gray region mirrorvisible, should be on the left side of . This way, and vertices block ’s mirrorvisibility 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.
Proof
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 mirroredge is flexible, and can move to be close enough to by changing the size of the mirroredge. And, these movements will not change the visibility of the mirroredge on the other side of the window.
In particular, consider the following examples;

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

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

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

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 mirrorvisible to . This part is unavoidable to be directly visible through an edge rather than the specified mirroredge of the gadget. We denote this small mirrorvisible area as . In Fig. 4 this region in shown in green.
The reason that the area is unavoidable to get mirrorvisible by another edge rather than the predetermined mirroredge 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 mirrorvisible to .
In the worst case, base on the position of the and vertices, the surface area of this mirrorvisible part is restricted to be the little area. This area is illustrated clearly in Fig. 5. The mirrorvisibility of the edge shown in Fig. 5 covers the area completely.
Lemma 2
The size of the surface of the area is flexible.
Proof
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 TwoGadget 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 headon 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 upsidedown in compare with the other one (see Fig. 6). We call this structure a twogadget 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 twogadget construction) helps us to use edges practically. We will discuss these edges later.
4.2.2 Assembling the TwoGadget Structures
All the twogadget structures will be assembled in the way as Fig. 7(A) illustrates. The two halflines containing the segments of every twogadget should cross vertices of two other gadgets in the top and bottom of a twogadget.
Thus, no edge of any gadget can place in the dark gray area of other gadgets. Now, we add reliably all these twogadget 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 mirroredge and its corresponding is adjustable.
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 mirroredge in each gadget can make any part of the region behind a window mirrorvisible 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 mirrorvisible 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 mirrorvisible to the viewer. This area corresponds to a pattern headon the edge across .
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 SubsetSum 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 SubsetSum 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 mirroredge 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 mirroredge. 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 grayquadrangular 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 grayquadrangular area starts from . Two other vertices on the other side can provide a quadrangle. The surface area of this grayquadrangle 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.
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 mirrorvisible.
Every area can be visible for through a edge or a mirroredge (). When we select a mirroredge 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 mirroredge 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 SubsetSum instance (
) has an odd number of values, then we can easily add one artificial gadget to our structure. First, we generate a twogadget 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 mirrorvisibility 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 SubsetSum 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 grayquadrangular 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 grayquadrangle to the outside of the polygon.
We call the mirroredges () used in the above reduction, as the mainmirroredges. To expand by exactly units of area, any solution needs to contain a subset of these mainmirroredges, and this subset exists if and only if there exists an equivalent subset in . Thus, we can reduce this problem to the SubsetSum problem in polynomial time.
The reduction also works if we look for the minimum number of mirroredges. In that case, the useless edges and other unnecessary edges should not be chosen to be converted to mirrors. However, those mainmirroredges 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 mirroredge is not selected the  edge on the opposite side should be converted to mirror so that all the area become mirrorvisible to . Note that as we look for the optimal solution, we need to select the best subset of the main mirroredges. So, the optimal version of the problem is NPhard.
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 “secondmirroredge”. We can easily construct a grayquadrangle region so that it becomes entirely mirrorvisible to both the main mirroredge and the secondmirroredge. That is because we consider the diffuse type of reflections. We only need to make sure that grayquadrangular region is in front of or at least alongside the secondmirroredge, and it is not behind the secondmirroredge. That is because the secondmirroredge cannot see its behind.
Consider two reflections, can see a grayquadrangular region through one edge and its corresponding secondmirroredge on the opposite side gadget. Therefore, considering more than one reflections, can see a grayquadrangular region either by a mainmirroredge, or a secondmirroredge. However, if the main mirroredge is not selected, for the secondmirroredge 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 mainmirroredge and the secondmirroredge. We see if either one of these mirroredges 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 mirroredges, the previous reduction works. That is because the mainmirroredge costs only one edge to be converted into a mirror, but the secondmirroredge requires two mirroredges in the middle.
Here again, if a area is covered by a mainmirroredge, there is no need to convert the corresponding edge to mirror.
No matter how many multiple reflections are allowed, cannot see any invisible grayquadrangular region except by using either the main mirroredge or the secondmirroredge as reflectors. And, if we select either one of these mirroredges, the entire corresponding invisible grayquadrangular region gets mirrorvisible to (remember that for the secondmirroredge 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.
References
 [1] ce.sharif.edu/avaezi/atLeastK.pdf
 [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. Lineartime 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 McGrawHill, 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.
Comments
There are no comments yet.