# Uniform Circle Formation for Fully, Semi-, and Asynchronous Opaque Robots with Lights
## 5 The Algorithm for the Fully Synchronous Mode
### Cycle 2: Rappelling Down on the Safe Diameters or Safe Chords  
Let \(C_{2}\) be the configuration at this point, where all robots lie on the SEC. \(C_{2}\) presents one, two, or more regular tuples which split the SEC into sectors of equal amplitude and define the safe diameters or safe chords through the positions of pivots and angle robots. In this cycle, the other robots safely rappel down on their safe segment, according to the following strategies, which are distinguished according to the number and type of regular tuples:  
**One or two regular 3-tuples, or 4-tuples. ** In this case, \(C_{2}\) derives from an initial case of asymmetry, symmetry with one axis, and rotational symmetry with two sectors. Let \(d\) be the main diameter, which is uniquely determined by the presence of one or two opposite regular tuples, say \(\tau\) and possibly \(\tau^{\prime}\): \(d\) is the diameter passing through the middle point of the arc covered by \(\tau\). Let \(d^{\prime}\) and \(d^{\prime\prime}\) be their safe diameters. In this cycle, each robot \(r\) performs the following:  
* **Look-Compute**: If \(r\) is _pivot_ or _angle_, it does nothing. Otherwise, \(r\) computes the safe diameters \(d^{\prime}\) and \(d^{\prime\prime}\), its target vertex position \(t\) on its half-SEC, and the point \(t_{\perp}\), which is the projection of \(t\) on the safe diameter nearest to \(r\). * **Move**: \(r\) sets its color as _internal_ and travels to \(t_{\perp}\). **Three or more regular 3-tuples. ** Here, \(C_{2}\) derives from an initial case of rotational symmetry with just one main class of symmetry. In this cycle, each robot \(r\) performs the following:  
* **Look-Compute**: If \(r\) is _pivot_ or _angle_, it does nothing. Otherwise, \(r\) computes the nearest safe chord \(c\), its target vertex position \(t\) on its sector, and the point \(t_{\perp}\), which is the projection of \(t\) on \(c\). * **Move**: \(r\) sets its color as _internal_ and travels to \(t_{\perp}\). **Three or more regular 4-tuples. ** Here, the case with \(k\geq 3\) regular 4-tuples is considered. The configuration \(C_{2}\) derives from an initial case of rotational symmetry with two main classes of symmetry. Let \((a^{\prime}_{(j-1)\bmod k^{\prime}}p^{\prime}_{(j-1)\bmod k^{\prime}}p_{j},a _{j})\) and \((a^{\prime}_{r},p^{\prime}_{j},p_{(j+1)\bmod k^{\prime}}a_{(j+1)\bmod k})\) be two adjacent regular 4-tuples which delimit the sector \(j\), for each \(j\in\{0,\ldots,k-1\}\). The chord \(\overline{g_{j}g_{j}^{\prime}}\) is defined as the _safe symmetry chord_ of the sector \(j\) (see Figure 13), where the following applies:  
* \(g_{j}\) is the middle point on the SEC between \(p^{\prime}_{(j-1)\bmod k}\) and \(p_{j}\);
* \(g^{\prime}_{j}\) is the middle point on the SEC between \(p^{\prime}_{j}\) and \(p_{(j+1)\bmod k}\). In this cycle, each robot \(r\) performs the following:
* **Look-Compute**: if \(r\) is neither a _pivot_ nor an _angle_, then it computes the safe symmetry chord \(\overline{gg^{\prime}}\) of its sector. Then it computes \(t_{\perp}\), which is the projection of its target vertex \(t\) on \(\overline{gg^{\prime}}\). * **Move**: if \(r\) is neither a _pivot_ nor an _angle_, then it sets its color as _internal_ and moves to its \(t_{\perp}\). Otherwise \(r\) does nothing. The algorithm yields safe robot movements, as stated in the following:  
**Lemma 2**: _The movements in Cycle 2 of robots towards safe diameters and (symmetry) chords yields collision-free trajectories._  
Each robot lies either on the half-SEC or on the arc of a rotational symmetry containing its future target vertex. Clearly, this guarantees that it does not have to cross its safe diameter or safe (symmetry) chord. So, collisions may only occur within each sector/half-disk. However, the algorithm avoids collisions at all, as it is now going to be explained. Let \(d\) be a safe (symmetry) chord or a safe diameter, and consider the convex arc \(c\) cut off by \(d\). Consider now the set of \(h\) robots laying on \(c\).