# Uniform Circle Formation for Fully, Semi-, and Asynchronous Opaque Robots with Lights
## 5 The Algorithm for the Fully Synchronous Mode
### Cycle 1: Pivot Selection and Angle Setting
The algorithmic strategy now follows two different paths according to a particular property of the \(\frac{n}{k}\) classes of symmetry, and, in particular, of their angle-strings. In fact, two scenarios can occur:  
* _One main class of symmetry_: it is possible to unambiguously spot a unique \(P\) from which the lexicographically minimal angle-string starts. * _Two main classes of symmetry_: it is possible to unambiguously spot just two classes \(P_{u},P_{v}\) from which the lexicographically minimal angle-string starts. Notice that if more than two classes of symmetry share the same angle-string, then sectors contain sub-sectors in turn. One main class of symmetry. In this case, it is possible to unambiguously choose a class of symmetry \(P\) (called the _main class of symmetry_), by suitably adapting the technique in the proof of Lemma 1. The \(k\) robots in \(P\) will be the _pivots_. In the case of rotational symmetry with two sectors, the diameter joining the two pivots will be the _main diameter_. For more than two sectors, the chords joining pivots in two consecutive sectors will be the _safe chords_, according to Definition 5. Around each pivot, two angle robots must be set to form a regular 3-tuple. Thus, for each arc \(H\) delimited by consecutive pivots, two angle positions \(a,a^{\prime}\) must be covered by two robots chosen within \(H\). To unambiguously spot these two robots on \(H\), the algorithm can elect the two robots closest to \(a\) or \(a^{\prime}\). In the case of equidistance, one robot can be unambiguously elected by considering the distance from the closest pivot. Specifically, in order to set \(k\)_regular 3-tuples_ in this configuration, each robot \(r\) performs the following:  
* **Look-Compute**: \(r\) computes the main class of symmetry \(P=\{p_{0},\ldots,p_{k-1}\}\) and the positions \(\{a_{j_{1}},a_{j_{2}}\mid j\in\{0,\ldots,k-1\}\}\) of the vertices adjacent to the vertices in \(P\), in the target regular \(n\)-gon. It chooses the robots intended for the angle positions. * **Move**: If \(r\) belongs to \(P\), it sets its color as _pivot_. If \(r\) is a robot intended for an angle position, it sets its color as _angle_ and moves to its destination vertex. Otherwise, \(r\) does nothing. The final robot displacement is shown in Figures 9 and 10. Two main classes of symmetry. This case occurs when there are two classes of symmetry of robots, say \(P_{u}=\{u_{0},\ldots,u_{k-1}\}\) and \(P_{v}=\{v_{0},\ldots,v_{k-1}\}\), that share the same minimal angle-string (here, \(u_{i}\) and \(v_{i}\) belong to the same rotation sector \(i\), as shown in Figure 11). In particular, it is not possible to select a unique class \(P_{i}\) of robots where the minimal angle-string starts from. The robots in \(P_{u}\cup P_{v}\) will play the role of _placeholders_ for the pivot setting. However, it is necessary to define a common method to pair consecutive placeholders. Formally, robots must consider the pairs of placeholders as \((u_{i},v_{i})\) or \((v_{i},u_{(i+1)\,\text{mod}\,k})\) for each \(0\leq i<k\). The algorithm can unambiguously choose how to pair these placeholders according, for example, to the smaller central angle between consecutive placeholders (i.e., between the angles \(u_{i}\partial v_{i}\) and \(v_{i}\partial u_{(i+1)\,\text{mod}\,k}\), where \(O\) is the center of the SEC). In case of equal amplitude, they are paired using the lexicographical order on the two angle-strings between the placeholders. In fact, each placeholder forms two different angle-strings with its consecutive placeholders (otherwise the sectors contain sub-sectors in turn). Assuming without loss of generality that the pairs are in the form \((u_{i},v_{i})\), the following axes can be defined:  
**Definition 7**. : _Let \(\{(u_{i},v_{i})\mid i=0,\ldots,k-1\}\) be the pairs of placeholders.