Visibility with reflection in triangulated surfaces

Visibility problems have been investigated extensively in computational geometry. Visibility with reflection on the other hand seems to have received much less attention. The following problem has been studied at length: bounding the maximum combinatorial complexity and efficiently computing the portion of a simple polygonal "container" which is lit up by a point light or a fluorescent bulb, possibly in presence of obstacles. Here "combinatorial complexity" refers to the number of edges and vertices bounding the set. We generalize the problem in several directions. We begin by replacing that simple container with one constructed in a controlled manner by gluing rigid triangles together, in a possibly overlapping configuration, forming a flat simply-connected Riemann surface. Such a surface retains many of the properties of a simple polygon. We also allow the light source to be a general polygon rather than a point or a segment, and consider the region lit up inside such a container by such a source. Tight linear combinatorial complexity bounds for this region and an efficient algorithm for computing it are presented. The main contribution of this work, however, is our analysis of the previously unstudied situation where the light is allowed to reflect off the walls of the container according to laws of geometric optics, and at most a fixed number of consecutive reflections is permitted. In addition, we allow the source to consist of multiple components and give tight combinatorial complexity bounds and a near-optimal algorithm. Finally, we explore the possibility of placing opaque and/or reflective obstacles inside the container. When the light source consists of several points we again present tight complexity bounds and an efficient algorithm. For more general polygonal light sources, some preliminary results are discussed.