# Constant-Time Complete Visibility for Robots with Lights: The Asynchronous Case +
## 2 Model and Preliminaries
A point \(s\) on the plane is a _side point_ of \(\mathbf{P}\) iffthere exists \(0\leq i<N\) such that \(c_{i},s,c_{(i+1)(\text{mod }N)}\) are collinear. Figure 1 shows nine side points \(s_{1}\)-\(s_{0}\). A side \(S=(c_{i},s_{1},s_{2},\cdots,s_{m},c_{i+1})\) is a sequence of collinear points in which its beginning and end are adjacent corner points and in which its remaining points are side points. For any pair of points \(a,b\), we denote the line segment connecting them by \(\overrightarrow{ab}\) and the length of this segment by \(\mathsf{length}(\overrightarrow{ab})\). Moreover, we denote the infinite line passing through \(a,b\) by \(\overleftrightarrow{ab}\). A given polygon \(\mathbf{P}\) divides the plane into interior and exterior parts. Figure 1 shows the interior of the polygon (the rest of the plane is the exterior). For a given side \(S\) of \(\mathbf{P}\), the infinite line obtained by extending side \(S\) divides the plane into the interior and exterior parts of the side. The interior part of \(S\) contains the interior of the polygon. Figure 1 shows the interior and exterior of side \(\overline{c_{0}c_{1}}\). The _corridor_ of \(S\) is the infinite subregion on its exterior that is bounded by \(S\) and perpendicular lines through points \(c_{i},c_{i+1}\) of \(S\). The corridors of the sides of \(\mathbf{P}\) are disjoint except for the corner points. Configuration and Local Convex Polygon  
A _configuration_\(\mathbf{C}_{t}=\{(t_{0}^{t},col_{0}^{t}),\ldots,(t_{N-1}^{t},col_{N-1}^{t})\}\) defines the positions of the robots in \(\mathcal{Q}\) and their colors for any time \(t\geq 0\). A configuration for a robot \(r_{i}\in\mathcal{Q}\), \(\mathbf{C}_{t}(r_{i})\), defines the positions of the robots in \(\mathcal{Q}\) that are visible to \(r_{i}\) (including \(r_{i}\)) and their colors, i.e., \(\mathbf{C}_{t}(r_{i})\subseteq\mathbf{C}_{t}\), at time \(t\). The convex polygon formed by \(\mathbf{C}_{t}(r_{i})\), \(\mathbf{P}_{t}(r_{i})\), is _local_ to \(r_{i}\) since \(\mathbf{P}_{t}(r_{i})\) depends on the points that are visible to \(r_{i}\) at time \(t\). We sometimes write \(\mathbf{C},\mathbf{P},\mathbf{C}(r_{i}),\mathbf{P}(r_{i})\) to denote \(\mathbf{C}_{t},\mathbf{P}_{t},\mathbf{C}_{t}(r_{i}),\mathbf{P}_{t}(r_{i})\), respectively. Corner Triangle, Corner Line Segment, Triangle Line Segment, and Corner Polygon  
Let \(c_{i}\) be a corner of a convex polygon \(\mathbf{P}\). Let \(c_{i-1}\) and \(c_{i+1}\) be the neighboring corners of \(c_{i}\) on the boundary of \(\mathbf{P}\). Let \(x_{i},y_{i}\) be the points on sides \(\overline{c_{i}c_{i-1}}\) and \(\overline{c_{i}c_{i+1}}\) at distance \(\mathsf{length}(\overline{c_{i}c_{i-1}})/8\) and \(\mathsf{length}(\overline{c_{i}c_{i+1}})/8\), respectively, from \(c_{i}\). We pick distance \(1/8\)-th for our convenience; in fact, any factor less than or equal to \(1/2\) works for our algorithm. We say that triangle \(c_{i}x_{i}y_{i}\) is the _corner triangle_ for \(c_{i}\), denoted as \(T(c_{i})\), and line segment \(\overline{x_{i}y_{i}}\) is the _triangle line segment_ for \(c_{i}\), denoted as \(TL_{i}\). We say that the interior of \(\mathbf{P}\) except the corner triangles is the _special polygon_ of \(\mathbf{P}\), denoted \(\mathbf{S}(\mathbf{P})\). Let \(r\) be any robot inside \(T(c_{i})\) and \(S_{i}\) be the line segment parallel to \(\overline{x_{i}y_{i}}\) passing through \(r\). Let \(T^{\prime}(r)\) be the portion of \(T(c_{i})\) between \(S_{i}\) and \(c_{i}\). We say that \(S_{i}\) is the _corner line segment_ for \(c_{i}\), denoted as \(CL_{i}\), if there is no robot inside \(T^{\prime}(r)\). Let \(L_{i-1},L_{i+1}\) be the lines perpendicular to \(\overline{c_{i}c_{i-1}}\) and \(\overline{c_{i}c_{i+1}}\), respectively, passing through their midpoints. We say the interior of \(\mathbf{P}\) divided by \(L_{i-1},L_{i+1}\) towards \(c_{i}\) is the _corner polygon_ of \(c_{i}\), denoted as \(CP(c_{i})\).