# Comptes Rendus
Mathématique

Matteo Gallet, Georg Grasegger, Jan Legerský and Josef Schicho

Combinatorics of Bricard's octahedra

Volume 359, issue 1 (2021), p. 7-38

Published online: 15 February 2021

https://doi.org/10.5802/crmath.132

<figure><img src="image_1.png" /></figure>

This article is licensed under the
CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE.
http://creativecommons.org/licenses/by/4.0/

<figure><img src="image_2.png" /></figure>

Les Comptes Rendus. Mathématique sont membres du
Centre Mersenne pour l'édition scientifique ouverte
www.centre-mersenne.org

e-ISSN : 1778-3569
Geometry / Géométrie

# Combinatorics of Bricard's octahedra

*Combinatoire des octaèdres de Bricard*

Matteo Gallet$^{a, *}$, Georg Grasegger$^{b, *}$, Jan Legerský$^{c, *}$, d and Josef Schicho$^{c}$

<sup>a</sup> International School for Advanced Studies/Scuola Internazionale Superiore di Studi Avanzati (ISAS/SISSA), Trieste, Italy

<sup>b</sup> Johann Radon Institute for Computational and Applied Mathematics (RICAM), Austrian Academy of Sciences, Linz, Austria

<sup>c</sup> Johannes Kepler University Linz, Research Institute for Symbolic Computation (RISC), Linz, Austria

<sup>d</sup> Department of Applied Mathematics, Faculty of Information Technology, Czech Technical University in Prague, Prague, Czech Republic

*E-mails*: mgallet@sissa.it (M. Gallet), georg.grasegger@ricam.oeaw.ac.at (G. Grasegger), jan.legersky@risc.jku.at (J. Legerský), josef.schicho@risc.jku.at (J. Schicho)

**Abstract.** We re-prove the classification of motions of an octahedron — obtained by Bricard at the beginning of the XX century — by means of combinatorial objects satisfying some elementary rules. The explanations of these rules rely on the use of a well-known creation of modern algebraic geometry, the moduli space of stable rational curves with marked points, for the description of configurations of graphs on the sphere. Once one accepts the objects and the rules, the classification becomes elementary (though not trivial) and can be enjoyed without the need of a very deep background on the topic.

**Résumé.** Dans cet article, on donne une preuve alternative de la classification des mouvements d'un octaèdre, originalement obtenue par Bricard au début du XXᵉ siècle. On utilise une construction combinatoire avec un certain nombre de règles essentielles. Ces règles reposent sur une machinerie bien connue dans la géométrie algébrique moderne : l'espace de modules des courbes rationnelles stables avec des points marqués, utilisé pour codifier les configurations de graphes sur la sphère. On introduit un certain nombre d'objets et de règles : une fois que l'on les assume, la classification des mouvements d'un octaèdre telle que l'on expose devient élémentaire (bien que pas triviale) et peut être appréciée par le lecteur sans besoin de connaissances préalables très approfondies sur le sujet.<fnref n="1" />

**2020 Mathematics Subject Classification.** 52C25.

**Funding.** Supported by the Austrian Science Fund (FWF): Erwin Schrödinger Fellowship J4253, P31888, P31061, and W1214-N15, project DK9.

*Manuscript received 15th June 2020, revised 27th August 2020, accepted 17th October 2020.*

<footnote n="1">¹We thank Celeste Damiani for helping us with the translation into French.</footnote>
# 1. Introduction

Cauchy proved [11] that every convex polyhedron is rigid, in the sense that it cannot move keeping the shape of its faces. Moreover, Gluck showed in [17] that “almost all” simply connected polyhedra are rigid.

Hence, flexible polyhedra must be concave, and indeed Bricard discovered [7–9] three families of concave flexible octahedra. Lebesgue lectured about Bricard’s construction in 1938/39 [20], and Bennett discussed flexible octahedra in his work [6]. In recent years, there has been renewed interest in the topic: from early analysis of Bricard’s octahedra [3, 13, 28] to their relations with a broader class of flexible surfaces [30], to applications in robotics [4, 5, 24], generalizations of Bricard’s construction [25, 26] and the analysis of flexible octahedra in different ambient spaces [23], to the study of flexibility of polyhedra via algebraic and topological techniques [1, 2, 10, 14, 22]. Flexible octahedra are self-intersecting: the first example of an embedded (i.e., with faces intersecting only at their common edges) flexible polyhedron is due to Connelly [12].

Flexibility of polyhedra is the “discrete counterpart” of the classical problem of flexibility of closed smooth surfaces, i.e., compact smooth surfaces without boundaries, in $\mathbb{R}^3$. Two smooth surfaces are *isometric* when there exists a distance-preserving function among them, where the distance between two points is the infimum of the lengths of curves connecting them. A surface S is *flexible* if it is contained in a smooth/continuous family of surfaces, all of whose elements are isometric to S, but not via a linear isometry of $\mathbb{R}^3$. A well-known theorem by Cohn–Vossen states that no convex closed smooth surface is flexible; this result was extended to a more general class of convex surfaces by Nirenberg, Alexandrov, and Pogorelov. Many more results have been obtained on this topic; we refer, for precise statements and references, to the work (in progress) by Mohammad Ghomi, available at [16].

The goal of this paper is to re-prove Bricard’s result by employing modern techniques in algebraic geometry that hopefully may be applied to more general situations.

The three families of flexible octahedra are the following (see Figures 1 and 2):

(Type I) Octahedra whose vertices form three pairs of points symmetric with respect to a line.

(Type II) Octahedra whose vertices are given by two pairs of points symmetric with respect to a plane passing through the last two vertices.

(Type III) Octahedra all of whose pyramids<fnref n="1" /> have the following property: the two pairs of opposite angles<fnref n="2" /> are constituted of angles that are either both equal or both supplementary; moreover, we ask the lengths $\ell_{ij}$ of the edges<fnref n="3" /> to satisfy three linear equations of the form:

$$ 
\begin{align} 
\eta_{35} \ell_{35} + \eta_{45} \ell_{45} + \eta_{46} \ell_{46} + \eta_{36} \ell_{36} &= 0, \nonumber \\
\eta_{14} \ell_{14} + \eta_{24} \ell_{24} + \eta_{23} \ell_{23} + \eta_{13} \ell_{13} &= 0, \tag{1} \\
\eta_{15} \ell_{15} + \eta_{25} \ell_{25} + \eta_{26} \ell_{26} + \eta_{16} \ell_{16} &= 0, \nonumber 
\end{align} 
$$

where $\eta_{ij} \in \{1, -1\}$ and in each equation we have exactly two positive $\eta_{ij}$ and two negative ones.

Animations of the motions of each of the three families can be found at https://jan.legersky.cz/project/bricard_octahedra/.

The fact that an octahedron with line symmetry is flexible is well-known (see, for example, [27, Section 5]) and follows from a count of the free parameters versus the number of equations imposed by the edges. A similar argument also shows that plane-symmetric octahedra are

<footnote n="1">¹Here by “pyramid” we mean a 4-tuple of edges sharing a vertex. See Definition 10 for formal specification and notation.</footnote>

<footnote n="2">²Here by “angle” of a pyramid we mean the angle formed by two concurrent edges belonging to the same face.</footnote>

<footnote n="3">³Here we label the vertices of the octahedron by the numbers {1, ..., 6}.</footnote>
<figure><img src="image_3.png" /><figcaption>**Figure 1.** Flexible octahedra of **Type I** and **Type II** found by Bricard.</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>**Figure 2.** Bricard found that certain flexible octahedra of **Type III** admit the following construction: in the plane, pick two points $A_1$ and $A_2$ and two circles, and draw the tangent lines to the circles passing through the points $A_i$. These lines determine four other points $B_1, B_2, C_1$ and $C_2$, which together with $A_1$ and $A_2$ define a flat realization of a **Type III** octahedron.</figcaption></figure>

flexible. Proving that **Type III** octahedra are flexible is more complicated, and for this we refer to the proof given by Lebesgue (see [20]).

The technique we adopt to analyze motions of an octahedron is to reduce to the case of flexible spherical linkages, and to use the tools developed in our previous work [15] to derive the classification. More precisely, our work consists of two parts: in the first part, we prove some elementary facts about motions of an octahedron and we provide their classification by using combinatorial objects called *octahedral* and *pyramidal flexibility functions*, and rules that relate them; in the second part, we explain the rules via the theory developed in [15] on flexible graphs on the sphere. The first part is rather nontechnical and aimed at the general public; the second part involves more technicalities and requires some acquaintance with the material from [15] for the detailed justification of the arguments. By splitting the text in such a way, we hope to widen the possible readership to those readers who may not be extremely interested in the specific details of the algebro-geometric part of the proof but are fascinated by this old topic; at the same time, we hope to convince them that the techniques we introduce by employing objects from modern algebraic geometry may be well-suited for these classical questions, and may have the
chance to shed light on related topics that have not been fully investigated yet.

The paper is structured as follows. Section 2 reports the basic definitions and the main result of this paper. Section 3 reports elementary results on motions of pyramids, and in particular about planar, or flat, realizations. Section 4 provides the classification of motions of an octahedron by introducing octahedral and pyramidal flexibility functions, and by setting up, in an axiomatic way, the rules that guide their behavior. The constraints imposed by these rules are then used to classify motions. Section 5 describes how realizations of an octahedron in the space determine realizations on the unit sphere of the graph whose vertices are the edges of the octahedron, and whose edges encode the fact that edges of the octahedron lie on the same face. This opens the way to the use of the methods developed by the authors in [15], namely, to the study of flexible graphs on the sphere. Section 6 provides the precise background for the notion of flexibility functions and justifies the rules in Section 4 via the techniques from [15].

## 2. Definitions and main result

So far, we used the word *octahedron* in an informal way. We start by formalizing its (fixed) combinatorial structure and its realizations in $\mathbb{R}^3$.

The combinatorial structure we are going to use is the graph $\mathbb{G}_{\text{oct}}$ with vertices $\{1, \dots, 6\}$ and edge set $E_{\text{oct}}$ given by all unordered pairs $\{i, j\}$ where $i, j \in \{1, \dots, 6\}$ except for $\{1, 2\}, \{3, 4\},$ and $\{5, 6\}$ (see Figure 3).

<figure><img src="image_5.png" /><figcaption>**Figure 3.** The octahedral graph $\mathbb{G}_{\text{oct}}$.</figcaption></figure>

**Definition 1.** A realization of $\mathbb{G}_{\text{oct}}$ is a function $\rho: \{1, \dots, 6\} \to \mathbb{R}^3$. A labeling of $\mathbb{G}_{\text{oct}}$ is a function $\lambda: E_{\text{oct}} \to \mathbb{R}_{>0}$; we use the notation $\lambda_{\{i, j\}}$ for $\lambda(\{i, j\})$. A realization $\rho$ is compatible with a labeling $\lambda$ if $\|\rho(i) - \rho(j)\| = \lambda_{\{i, j\}}$ for all $\{i, j\} \in E_{\text{oct}}$; in this case, we also say that the realization $\rho$ induces the labeling $\lambda$. Two realizations $\rho_1$ and $\rho_2$ are called congruent if there exists an isometry $\sigma$ of $\mathbb{R}^3$ such that $\rho_1 = \sigma \circ \rho_2$.

**Notation 2.** Throughout the text, we will use the expressions “realization of $\mathbb{G}_{\text{oct}}$” and “realization of an octahedron” interchangeably.

**Definition 3.** A flex of a realization $\rho$ of an octahedron is a continuous map

$$f: [0, 1) \to (\mathbb{R}^3)^6$$

such that

* $f(0)$ is the given realization $\rho$;

* for any $t \in [0, 1)$, the realizations $f(t)$ and $f(0)$ induce the same labeling;

* for any two distinct $t_1, t_2 \in [0, 1)$, the realizations $f(t_1)$ and $f(t_2)$ are not congruent.
A flex can exhibit a wide range of behaviors, but we now highlight that its image is always contained in a finite union of algebraic varieties.

**Remark 4.** Let $f: [0, 1) \to (\mathbb{R}^3)^6$ be a flex of a realization $\rho$. Consider the set

$$W := \{\text{realizationS } \rho' \text{ inducing the same labeling as } f(0)\} \subset (\mathbb{R}^3)^6.$$

By construction, the image of $f$ is contained in $W$. On the other hand, the set $W$ is the zero set of the algebraic equations

$$\| \rho'(i) - \rho'(j) \|^2 = \| \rho(i) - \rho(j) \|^2 \quad \text{for all } \{i, j\} \in E_{\text{oct}},$$

obtained by squaring the distances between adjacent vertices, where here we take the coordinates of the points $\{\rho'(i)\}_{i=1}^6$ as variables. Therefore, $W$ is a finite union of irreducible algebraic sets, and the image of $f$ is contained in this union. Hence, in this case there exists an irreducible component $W_0$ of $W$ such that $\rho \in W_0$ and there exist infinitely many realizations $\rho'$ in $W_0$ that are pairwise non-congruent.

**Definition 5.** Let $\lambda$ be a labeling of $\mathbb{G}_{\text{oct}}$. Consider the algebraic set

$$W_{\lambda} := \{\text{realizations } \rho' \text{ compatible with } \lambda\} \subset (\mathbb{R}^3)^6.$$

Any irreducible component $W_0$ of $W_\lambda$ such that there exist infinitely many realizations $\rho' \in W_0$ that are pairwise non-congruent is called a motion of an octahedron. Notice that, by definition, once a realization $\rho$ belongs to a motion, then all realizations $\rho'$ congruent to $\rho$ belong to that motion as well.

Hence we see that any flex of a realization of an octahedron is contained in finitely many motions. On the other hand, given a motion and a realization in it, it is always possible, by general properties of real algebraic sets, to find a flex of the given realization whose image is contained in the given motion. In fact, fix a realization $\rho$ in a motion. Consider the subset of $(\mathbb{R}^3)^6$ of realizations where a specific face of the octahedron is fixed:

$$Z_{\rho} := \{\rho' : \{1, \dots, 6\} \to \mathbb{R}^3 \mid \rho'(i) = \rho(i) \text{ for } i \in \{1, 4, 6\}\}.$$

The intersection of $Z_\rho$ with the motion contains $\rho$, is constituted of realizations that are pairwise non-congruent, and is at least one-dimensional. Pick an algebraic curve in this intersection passing through $\rho$. If this curve is smooth, then it is a smooth manifold, hence there exists a continuous path in it starting from $\rho$, which gives a flex of $\rho$. If the curve is singular, one can apply the previous construction to its normalization, which is smooth and has an algebraic (thus, continuous for the Euclidean topology) surjective map to the curve.

The goal of this paper is to classify the possible motions of an octahedron. However, notice that there exist motions of the octahedron — sometimes called “butterfly motions” — for which four faces stay always coplanar and rotate around the other four, which are coplanar as well. We consider these motions as degenerate (and not particularly interesting), so we limit ourselves to motions that satisfy the following genericity assumption.

**Assumption 6.** No two faces of the octahedron are coplanar for a general realization in a motion. Here, recall that a motion is an irreducible variety, hence it is meaningful to speak about one of its “general” elements, meaning that the property we are asking holds for all the realizations in a motion but the ones that satisfy some further polynomial constraints.

Notice that Assumption 6 does not prohibit faces to be coplanar for some realizations in a motion; what is important is that it does not happen that they are coplanar for all realizations.

**Definition 7.** A motion, for all of whose realizations two faces of the octahedron stay coplanar, is called degenerate.
**Remark 8.** An elementary, but tedious, inspection of all possibilities shows that if a triangle in a realization of an octahedron reduces to a segment, then that realization does not admit flexes. Moreover, as a corollary of the assumption, we have that no two vertices of the octahedron coincide for a general realization in a motion.

We can now formally state the main result of this paper.

**Theorem 9.** *Fix a motion satisfying Assumption 6. Then:*

* each realization of the motion is line-symmetric; or

* each realization of the motion is plane-symmetric; or

* all realizations of the motion satisfy the conditions of **Type III**.

We prove Theorem 9 in Section 4.

**3. Elementary properties of pyramids**

A key object in our proof of the classification of octahedra are *pyramids*.

**Definition 10.** *Pyramids are subgraphs of $G_{Oct}$ induced by a vertex and its four neighbors. The pyramid determined by $v$ is denoted by $\Delta$. Realizations of pyramids, their congruence, and flexes are defined analogously as for octahedra. The same happens for motions. Here we make a similar request as in Assumption 6, namely, we do not allow motions for which two triangular faces of a pyramid are coplanar in a general realization of that motion.*

As we are going to see in Section 5, pyramids are closely related to spherical quadrilaterals (as depicted in Figure 4): this is how the paper [15] comes into play in our discussion. Because of that, we adopt for pyramids the same classification as we adopted in [15] for spherical quadrilaterals.

Realizations of pyramids come in four families (here by an *angle* of a pyramid $\Delta$ we mean an angle between edges of the form $\{u, v\}$ and $\{w, v\}$, where $u$ and $w$ are neighbors):

**deltoids** here two disjoint pairs of adjacent angles are constituted of angles that are either both equal or both supplementary;

**rhomboids** here the two pairs of opposite angles are constituted of angles that are either both equal or both supplementary;

**lozenges** here either all angles are equal, or two are equal and the other two are each supplementary to the first two; furthermore, we ask none of the angles to be equal to $\pi/2$, because otherwise any motion would be degenerate, namely two triangular faces would be coplanar for all realizations of the motion;

**general** here are realizations of pyramids not falling in one of the previous families and such that not all angles equal $\pi/2$.

Notice that all realizations inducing the same labeling belong to the same family. In particular, all realizations in a motion belong to the same family.

**Definition 11.** *We say that a motion of a pyramid is a deltoid motion if one (or, equivalently, each) of its realizations is a deltoid. In this case, we say that “the pyramid is a deltoid” (we will do this often in Section 4). Similarly, we define rhomboid, lozenge, and general motions.*

**Remark 12.** Given these definitions, we can say that a motion of an octahedron is of **Type III** if all its pyramids' motions are rhomboid or lozenge, and Equations (1) hold.

Hereafter, we list some elementary properties of motions of pyramids, in particular concerning their planar (also called *flat*) realizations. The results are known and elementary; we report them here mainly for self-containedness.
<figure><img src="image_6.png" /><figcaption>**Figure 4.** Examples of a deltoid (on the left) and of a rhomboid (on the right). The intersection of the realization of the pyramid with the sphere highlights which pairs of angles are equal.</figcaption></figure>

**Fact 13.** Fix a labeling of a pyramid, and consider all motions of the pyramid yielding that labeling. Then:

* If the pyramid is a deltoid, then there are two motions, only one of which satisfies Assumption 6; the other one is a degenerate motion, in which the realizations of three vertices are always collinear.

* If the pyramid is a rhomboid, then there are two motions, each of which satisfies Assumption 6.

* If the pyramid is a lozenge, then there are three motions, only one of which satisfies Assumption 6; the other two are degenerate motions, in which the realizations of three vertices are always collinear.

* If the pyramid is general, then there is exactly one motion, and it satisfies Assumption 6.

**Fact 14.** Deltoid, rhomboid, and lozenge motions satisfying Assumption 6 have two flat realizations. In the case of deltoids and lozenges, in the flat realizations, three vertices of the pyramid are collinear.

**Remark 15.** Given a realization $\rho$ of a pyramid that yields a lozenge, there exist three flat realizations that induce the same labeling as $\rho$, see Figure 5. However, one of them belongs to both the two degenerate motions whose realizations induce the same labeling as $\rho$, but not to the non-degenerate one. This is why we excluded this realization from the count in Fact 14.

<figure><img src="image_7.png" /><figcaption>**Figure 5.** The three flat realizations of a lozenge.</figcaption></figure>

**Fact 16.** If a rhomboid realization of a pyramid has one dihedral angle between its triangular faces which is 0 or $\pi$, then the realization is flat; vice versa, if a rhomboid realization of a pyramid is flat, then all dihedral angles are 0 or $\pi$.
**Fact 17.** Consider a lozenge motion satisfying Assumption 6. The flat realizations in such a motion are precisely the ones where all dihedral angles are 0 or $\pi$.

**Remark 18.** For deltoids and lozenges, there are non-flat realizations where one dihedral angle between its triangular faces is 0 or $\pi$. Notice that these non-flat realizations appear, for example, in degenerate motions, namely, when two pairs of faces stay always coplanar during the motion. In the case of deltoids, non-flat realizations might appear also in non-degenerate motions.

**Definition 19.** Fix a motion of a pyramid satisfying Assumption 6. A dihedral angle between two triangular faces of a pyramid is simple with respect to that motion if, once we fix a general value for that angle, there exists a unique (up to isometries) realization in that motion for which the angle has the given value.

Notice that, once we consider Assumption 6, a lozenge has four simple dihedral angles, while a deltoid has two simple dihedral angles.

**Fact 20.** A deltoid is in a flat realization if and only if one of its simple dihedral angles between triangular faces are 0 or $\pi$.

**Proposition 21.** Fix a motion of an octahedron. This induces motions for all its 6 pyramids. If among these motions there are two neighbor rhomboid or lozenge ones, then the motion of the octahedron admits 2 flat realizations. Here, we say that two pyramids $\Upsilon$ and $\Upsilon'$ are neighbors if the vertices $v$ and $w$ are connected by an edge.

**Proof.** Suppose that the two neighbor pyramids are $\Upsilon$ and $\Upsilon$. Suppose we are in a realization that is flat for $\Upsilon$. Then the dihedral angle between the planes 135 and 136 is 0 or $\pi$. Hence, by Facts 16 and 17 this realization is also flat for $\Upsilon$. $\square$

**Remark 22.** By Proposition 21, Type III motions admit two flat realizations.

# 4. Classification of flexible octahedra

In this section, we provide the classification of the motions of an octahedron, reproving the known result by Bricard. We do this by attaching combinatorial objects to motions and by pre-scribing rules for these objects. Eventually, the rules determine constraints on edge lengths and angles, which can be grouped in four cases. By analyzing each of these cases, we classify motions of the octahedron into the three families introduced by Bricard and described in Section 1, thus proving Theorem 9.

The justification for the rules is provided in Section 6, and requires the algebro-geometric notion of *moduli space of rational stable curves with marked points*, together with the theory developed by the authors in [15] about flexible graphs on the sphere. Once the rules are established, however, the derivation of the classification is combinatorial in nature and uses the elementary facts about pyramids reported in Section 3. We believe that inserting this combinatorial “extra-layer” in the proof has two advantages: it helps highlighting the structure of the proof and separating logically independent units, and facilitates readers that may not be interested in the algebro-geometric technicalities to follow the proof of the classification.

## 4.1. *Objects*

We are going to introduce two combinatorial objects that will guide the classification, called *octahedral* and *pyramidal flexibility functions*. These functions encode a certain “limit behavior” of the curve of distinct realizations of a motion, which will be explained in Section 6.
**Definition 23.** A quadrilateral in $\mathbb{G}_{\text{Oct}}$ is an induced subgraph isomorphic to the cycle $C_4$ on four vertices. There exist exactly three quadrilaterals of $\mathbb{G}_{\text{Oct}}$: they are those induced by the vertices $\{1,2,3,4\}$, $\{1,2,5,6\}$, and $\{3,4,5,6\}$. Each quadrilateral is completely specified by the pair of vertices not appearing in it, which form a non-edge in $\mathbb{G}_{\text{Oct}}$. Therefore, we can label the quadrilaterals by 12, 34, and 56.

Given a quadrilateral, there are 16 possible ways of orienting all its edges. A quadrilateral together with a choice of orientations for each of its edges is called an oriented quadrilateral. Therefore, there are 48 oriented quadrilaterals.

**Definition 24.** An orientation of a pyramid $\mathcal{U}$ in $\mathbb{G}_{\text{Oct}}$ is a choice of an orientation for two edges incident to $v$ that are not in the same triangle subgraph. An oriented pyramid is a pyramid together with an orientation (see Figure 6). There are 8 possible choices of an orientation for a pyramid. Therefore, there are 48 oriented pyramids.

<figure><img src="image_8.png" /><figcaption>**Figure 6.** An oriented pyramid with vertex 5.</figcaption></figure>

We fix a standard representation of a pyramid $\mathcal{U}$ by specifying which vertex is drawn where. More precisely, we draw the pyramid as a square with the vertex $v$ in the middle. Then we take the clockwise neighbor of $v$ in the drawing of Figure 3 to be on the bottom right corner of the square. The other vertices are drawn accordingly to the clockwise order (see Figure 7).

<figure><img src="image_9.png" /><figcaption>**Figure 7.** A pyramid in standard representation.</figcaption></figure>

The standard representation of pyramids provides a standard way to represent oriented pyramids:

<figure><img src="image_10.png" /></figure>

If we want to specify the vertex $v$ of the pyramid, we put the symbol $v$ as the superscript, as, for example, in $\mathbf{P}_{\mathbf{P}}^v$.
## 4.2. Flexibility functions

An octahedral flexibility function is a function

$$o: \{\text{oriented quadrilaterals in } \mathbb{G}_{\text{oct}}\} \to \mathbb{N}.$$

A pyramidal flexibility function is a function

$$p: \{\text{oriented pyramids in } \mathbb{G}_{\text{oct}}\} \to \{0, 1\}.$$

As we will see in Section 6, a motion of an octahedron defines an octahedral and a pyramidal flexibility function that satisfies particular properties which we call *rules*. Roughly speaking, every oriented quadrilateral/pyramid specifies a set of possible configurations (i.e., realizations up to isometries) “at infinity”. The value of the flexibility function at a certain oriented quadrilateral equals the number of configurations in the set corresponding to it that are reached as limit points of the realizations of the given motion. However, our concept of configurations, and their behavior “at infinity”, is not straightforward, as we will see in Sections 5 and 6: it involves first a translation from realizations in space to realizations on the sphere, an isomorphism of the Zariski closure of the sphere to the product of two projective lines, and a compactification of the moduli space of 2n points on a projective line modulo projective invariance.

**Example 25.** The following example may seem mysterious, and the veil is only lifted in Section 6. For the moment, we want the inclined reader to understand flexibility functions as a kind of game; then the example below just illustrates some of its rules.

Assume that we have a motion of an octahedron and consider a pyramid $\mathcal{P}$. The pyramid may be considered as a spherical 4-bar linkage: the angles in the triangles with vertex $v$ are fixed during any motion. If all four angles are distinct, i.e., if the pyramid is general, then the value of the pyramidal flexibility function at all eight oriented pyramids with vertex $v$ is 1. If the restriction of the motion of the octahedron to the pyramid $\mathcal{P}$ is a deltoid motion, then the value of the pyramidal flexibility function is 1 at six of the oriented pyramids with vertex $v$, and 0 at two of the oriented pyramids with vertex $v$.

## 4.3. Rules

We introduce the rules that are satisfied by octahedral and pyramidal flexibility functions; their formal justification will be provided in Section 6. The starting point is the following:

> A motion of an octahedron determines an octahedral and a pyramidal flexibility function.

These functions satisfy the following rules.

(R1) The pyramidal flexibility function determines whether each pyramid is: general (g), an even deltoid (c, with two subfamilies), and odd deltoid (o, with two subfamilies), a rhomboid (t, with four subfamilies), or a lozenge (l, with four subfamilies), as specified by Table 1. A deltoid $\mathcal{D}$ is even (resp. odd) if the dihedral angles at its even (resp. odd) edges are simple, where even (resp. odd) edges are determined by Figure 8.
<figure><img src="image_11.png" /><figcaption>**Figure 8.** Assignment for even and odd edges of pyramids. Only three pyramids are shown, since the assignment for the other three can be deduced as follows: {1, a} is even/odd if and only if {2, a} is so, and analogously for the other two pairs (3, 4) and (5, 6).</figcaption></figure>

<table><caption>**Table 1.** Values of the pyramidal flexibility function associated to the possible families of labeled pyramids. Pyramids are drawn in their standard representation.</caption><thead><tr><th>family</th><th>subfamily</th><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>g</td><td></td><td>1</td><td>1</td><td>1</td><td>1</td></tr><tr><td rowspan="2">o</td><td>coincide</td><td>1</td><td>1</td><td>1</td><td>0</td></tr><tr><td>antipodal</td><td>1</td><td>1</td><td>0</td><td>1</td></tr><tr><td rowspan="2">c</td><td>coincide</td><td>1</td><td>0</td><td>1</td><td>1</td></tr><tr><td>antipodal</td><td>0</td><td>1</td><td>1</td><td>1</td></tr><tr><td rowspan="4">t</td><td>Type 1</td><td>1</td><td>0</td><td>1</td><td>0</td></tr><tr><td>Type 2</td><td>0</td><td>1</td><td>1</td><td>0</td></tr><tr><td>Type 3</td><td>1</td><td>0</td><td>0</td><td>1</td></tr><tr><td>Type 4</td><td>0</td><td>1</td><td>0</td><td>1</td></tr><tr><td rowspan="4">l</td><td>Type 1</td><td>1</td><td>0</td><td>1</td><td>0</td></tr><tr><td>Type 2</td><td>0</td><td>1</td><td>1</td><td>0</td></tr><tr><td>Type 3</td><td>1</td><td>0</td><td>0</td><td>1</td></tr><tr><td>Type 4</td><td>0</td><td>1</td><td>0</td><td>1</td></tr></tbody></table>

The next rule **R2** describes the connection between the octahedral flexibility function and edge lengths: when the function is nonzero on an oriented quadrilateral, we get linear relations between the edge lengths of the quadrilateral.

**Definition 26.** We choose the orientation of the edges of $\mathbb{G}_{\text{oct}}$ as in Figure 9 and denote this oriented graph by $\tilde{\mathbb{G}}_{\text{oct}}$. Notice that this choice is equivariant under cyclic permutations of the vertices (1, 4, 5, 2, 3, 6).

Given a labeling $\lambda$: $E_{\text{oct}} \to \mathbb{R}_{>0}$, and given an oriented edge $(i, j)$ in $\tilde{\mathbb{G}}_{\text{oct}}$, we define the number $\ell_{ij}$ to be the length $\lambda_{\{i, j\}}$. We define the number $\ell_{ji}$ to be $-\ell_{ij}$.

(R2) If the octahedral flexibility function attains a positive value at an oriented quadrilateral with oriented edges $(t_1, s_1)$, $(t_2, s_2)$, $(t_3, s_3)$, $(t_4, s_4)$, then the following relation among the lengths holds:

$$ \ell_{t_1 s_1} + \ell_{t_2 s_2} + \ell_{t_3 s_3} + \ell_{t_4 s_4} = 0. \qquad (2) $$
<figure><img src="image_12.png" /><figcaption>**Figure 9.** Fixed orientations in the graph $\mathbb{G}_{\text{oct}}$. We call this oriented graph $\tilde{\mathbb{G}}_{\text{oct}}$.</figcaption></figure>

From Rule **R2** we can already infer some properties of the octahedral flexibility function. We show that this function can be positive only at some oriented quadrilaterals.

**Lemma 27.** Consider an oriented quadrilateral with oriented edges $(t_1, s_1), \dots, (t_4, s_4)$. Equation (2) from Rule **R2** has nontrivial solutions only if exactly two of the oriented edges $(t_1, s_1), \dots, (t_4, s_4)$ coincide with the oriented edges induced by $\tilde{\mathbb{G}}_{\text{oct}}$ (see Figure 10).

<figure><img src="image_13.png" /><figcaption>**Figure 10.** Orientations of the edges of a quadrilateral in $\tilde{\mathbb{G}}_{\text{oct}}$ (left) and those of an oriented quadrilateral (right). Green edges $\rightarrow$ describe edges where the orientation coincides and red ones $\leftarrow$ where they are opposite.</figcaption></figure>

**Proof.** If all (or no) oriented edges in the quadrilateral coincide with the ones induced by $\tilde{\mathbb{G}}_{\text{oct}}$, then in Equation (2) we have that the sum of four positive quantities is zero, a contradiction. If one (or three) oriented edges in the quadrilateral coincide with the ones induced by $\tilde{\mathbb{G}}_{\text{oct}}$, then we obtain a relation of the form $\ell_1 = \ell_2 + \ell_3 + \ell_4$, where all quantities $\{\ell_k\}_{k=1}^4$ are positive. This implies that all the vertices of the quadrilateral are collinear in a general realization of the motion; hence, some faces are coplanar, and we excluded this possibility in Assumption 6. Then the only situation left is the one from the statement. $\square$

A simple inspection provides the following result.

**Proposition 28.** Out of the 16 possible orientations of a quadrilateral in $\mathbb{G}_{\text{oct}}$, only 6 fulfill the condition of Lemma 27. They come in three pairs, where two orientations are in the same pair if one can be obtained from the other by reversing the orientations of all edges. One of these pairs is constituted of orientations with the following property: if $(t_1, s_1), \dots, (t_4, s_4)$ are the oriented edges, then

$$|\bigcup \{t_k, s_k\} \text{ where } (t_k, s_k) \text{ is a directed edge of } \tilde{\mathbb{G}}_{\text{oct}}, k \in \{1, \dots, 4\}| = 4.$$

This means that those edges that are oriented as in $\tilde{\mathbb{G}}_{\text{oct}}$ span the vertices of the quadrilateral. These two special orientations are depicted as case X in Figure 11.
**Notation 29.** We use the following notation for the 6 possible choices of orientations on a given quadrilateral as described by Proposition 28. Let 12, 34, and 56 be the three quadrilaterals of $\mathbb{G}_{\text{oct}}$. The six possible oriented quadrilaterals on the quadrilateral $ij$ are denoted

$$ \mathbf{o}_{X}^{ij}, \mathbf{o}_{\bar{X}}^{ij}, \mathbf{o}_{Y}^{ij}, \mathbf{o}_{\bar{Y}}^{ij}, \mathbf{o}_{Z}^{ij}, \mathbf{o}_{\bar{Z}}^{ij} $$

according to the following criterion. As we mentioned in Definition 26, the orientation in $\mathbb{G}_{\text{oct}}$ is equivariant under cyclic permutations of the indices (1, 4, 5, 2, 3, 6). Hence, it is enough to define the notation only for the oriented quadrilaterals on the quadrilateral 56, and extend the notion to the others using cyclic permutations. We define $\mathbf{o}_{X}^{56}$, $\mathbf{o}_{Y}^{56}$, and $\mathbf{o}_{Z}^{56}$ as the oriented quadrilaterals as in Figure 11.

<figure><img src="image_14.png" /><figcaption>**Figure 11.** Three of the six choices of orientations on the quadrilateral 56 that satisfy the condition of Lemma 27.</figcaption></figure>

The oriented quadrilaterals $\mathbf{o}_{X}^{56}$, $\mathbf{o}_{Y}^{56}$, and $\mathbf{o}_{Z}^{56}$ are defined to be the ones with the reversed orientations with respect to the three previous ones. The two oriented quadrilaterals $\mathbf{o}_{X}^{56}$ and $\mathbf{o}_{\bar{X}}^{56}$ have the special property mentioned in Proposition 28. By applying cyclic permutations to the previous 6 oriented quadrilaterals, we obtain 36 oriented quadrilaterals. The notation symbols for these oriented quadrilaterals are obtained by applying cyclic permutations to the indices appearing in the symbols for the oriented quadrilaterals $\mathbf{o}_{\bullet}^{56}$, where $\bullet \in \{X, Y, Z, \bar{X}, \bar{Y}, \bar{Z}\}$, and then by applying the following rules:

$$ \mathbf{o}_{X}^{ij} = \mathbf{o}_{\bar{X}}^{ji}, \quad \mathbf{o}_{Y}^{ij} = \mathbf{o}_{\bar{Y}}^{ji}, \quad \mathbf{o}_{\bar{Y}}^{ij} = \mathbf{o}_{Y}^{ji}, \quad \mathbf{o}_{Z}^{ij} = \mathbf{o}_{\bar{Z}}^{ji}, \quad \mathbf{o}_{\bar{Z}}^{ij} = \mathbf{o}_{Z}^{ji}. $$

**Corollary 30.** The octahedral flexibility function can (but does not need to) attain positive values only at the oriented quadrilaterals $\mathbf{o}_{\bullet}^{ij}$.

**Definition 31.** We denote the value of the octahedral flexibility function at the oriented quadrilateral $\mathbf{o}_{X}^{ij}$ by $\mathbf{o}_{X}^{ij}$, and similarly for the other oriented quadrilaterals.

**Definition 32.** We denote the value of the pyramidal flexibility function at the oriented pyramid $\mathbf{P}^{\nu}$ by $\mathbf{p}^{\nu}$, and similarly for all other oriented pyramids.

The next rule **R3** explains what happens to the octahedral and pyramidal flexibility functions when we reverse directed edges.

(**R3**) Both the octahedral and pyramidal flexibility functions are invariant under the change of orientation of all oriented edges in an oriented quadrilateral or pyramid.

To start the classification, we need one last rule **R4**, linking the octahedral and the pyramidal flexibility functions. This rule, however, works only under an assumption on the pyramids of the octahedron, called *simplicity*.
**Definition 33.** Consider all motions of an octahedron that induce the same labeling as the motion fixed at the beginning. We say that a pyramid is simple if, given a general realization of the pyramid in the fixed motion, there is exactly one (up to isometries) non-degenerate realization of the octahedron, belonging to any of these motions, that extends the one of the pyramid.

We can now state the last rule **R4** and then we start the classification in the case of simple pyramids. Afterwards, we deal with the situation of non-simple pyramids.

(R4) Suppose that all pyramids are simple. Then we have relations between the octahedral and the pyramidal flexibility functions given by the following graphical rule (see Figure 12). We consider a possible oriented pyramid, for example $P$ on [1]. We draw the orientation of the two edges specified by $P$ on the representation of $\mathbb{G}_{\text{Oct}}$ as in Figure 3. The value of the pyramidal flexibility function at $P$ is then equal to the sum of the values of the octahedral flexibility function at the oriented quadrilaterals that “extend” the two oriented edges of $P$; in this case, we have a unique way to extend them, namely by $\mathbf{O}_{\frac{Y}{Y}}^{56}$. Hence, we get the relation $p_{\frac{Y}{Y}}^{1} = o_{\frac{Y}{Y}}^{56}$. If we start, instead, from $P$ again on pyramid [1], we have two ways to extend it, namely, by $\mathbf{O}_{X}^{56}$ and $\mathbf{O}_{Z}^{56}$. Therefore, the relation is $p_{\frac{Y}{Y}}^{1} = o_{X}^{56} + o_{Z}^{56}$.

<figure><img src="image_15.png" /><figcaption>**Figure 12.** Graphical derivation of the relations between the octahedral and the pyramidal flexibility function.</figcaption></figure>

By applying the graphical procedure to all oriented pyramids, and taking into account Rule **R3**, we obtain the following linear system:

$$ 
\begin{aligned}
p_{\frac{Y}{Y}}^{1} &= o_{Z}^{34}, & p_{\frac{Y}{Y}}^{3} &= o_{Z}^{56}, & p_{\frac{Y}{Y}}^{5} &= o_{Z}^{12}, \\
p_{\frac{Y}{Y}}^{1} &= o_{X}^{34} + o_{Y}^{34}, & p_{\frac{Y}{Y}}^{3} &= o_{X}^{56} + o_{Y}^{56}, & p_{\frac{Y}{Y}}^{5} &= o_{X}^{12} + o_{Y}^{12}, \\
p_{\frac{Y}{Y}}^{1} &= o_{Y}^{56}, & p_{\frac{Y}{Y}}^{3} &= o_{Y}^{12}, & p_{\frac{Y}{Y}}^{5} &= o_{Y}^{34}, \\
p_{\frac{Y}{Y}}^{1} &= o_{X}^{56} + o_{Z}^{56}, & p_{\frac{Y}{Y}}^{3} &= o_{X}^{12} + o_{Z}^{12}, & p_{\frac{Y}{Y}}^{5} &= o_{X}^{34} + o_{Z}^{34}, \\
p_{\bullet}^{1} &= p_{\bullet}^{2}, & p_{\bullet}^{3} &= p_{\bullet}^{4}, & p_{\bullet}^{5} &= p_{\bullet}^{6},
\end{aligned} 
\quad (3) $$

where $\bullet$ is any of the symbols {\#\#, \#\#, \#\#, \#\#}.
With the rules at hand, we are ready to attack the classification.

### 4.4. Classification

We are now ready to prove Theorem 9. From now on, we suppose that the hypothesis in Rule **R4** holds, namely, that we are given a motion of an octahedron and that all pyramids are simple. At the end of the section, we analyze the situation when pyramids are not simple. We distinguish four cases, parametrized by the sums of values of the octahedral flexibility function.

**Definition 34.** For each quadrilateral *ij* in $\mathbb{G}_{\text{oct}}$, we define $o^{ij}$ to be the quantity:

$$o^{ij} := o_X^{ij} + o_Y^{ij} + o_Z^{ij} + o_{\bar{X}}^{ij} + o_{\bar{Y}}^{ij} + o_{\bar{Z}}^{ij} \stackrel{\text{R3}}{=} 2(o_X^{ij} + o_Y^{ij} + o_Z^{ij}).$$

**Lemma 35.** There are only 4 possibilities (up to swapping quadrilaterals) for the numbers $(o^{12}, o^{34}, o^{56})$:

$$(o^{12}, o^{34}, o^{56}) \in \{(4, 4, 4), (4, 4, 2), (4, 2, 2), (2, 2, 2)\}.$$

**Proof.** By Table 1 from Rule **R1**, we have

$$1 \le p_{\swarrow}^{\nu} + p_{\searrow}^{\nu} \le 2 \quad \text{for every } v \in \{1, \dots, 6\},$$

and similarly for $p_{\nwarrow}^{\nu} + p_{\searrow}^{\nu}$. It follows by Equation (3) from Rule **R4** that $o^{ij} \in \{2, 4\}$ for all $ij \in \{12, 34, 56\}$. The statement is then proven. $\square$

Now we analyze the cases from Lemma 35 one by one.

**Case (4,4,4).** From Equation (3), we know that for all quadrilaterals *ij* in $\mathbb{G}_{\text{oct}}$

$$o_X^{ij} + o_Y^{ij} = p_{\swarrow}^k \in \{0, 1\} \quad \text{for a suitable } k,$$

$$o_X^{ij} + o_Z^{ij} = p_{\searrow}^{\ell} \in \{0, 1\} \quad \text{for a suitable } \ell.$$

Moreover, by assumption we have

$$2(o_X^{ij} + o_Y^{ij} + o_Z^{ij}) = 4.$$

This implies

$$o_X^{ij} = 0, \quad o_Y^{ij} = o_Z^{ij} = 1.$$

The equations for the edge lengths from Rule **R2** imposed by the fact that $o_Y^{ij} = o_Z^{ij} = 1$ are, in the case $ij = 56$:

$$\ell_{13} - \ell_{32} - \ell_{24} + \ell_{41} = 0,$$

$$\ell_{13} + \ell_{32} - \ell_{24} - \ell_{41} = 0.$$

This implies that $\ell_{13} = \ell_{24}$ and $\ell_{32} = \ell_{41}$. Namely, opposite edges in the three quadrilaterals of $\mathbb{G}_{\text{oct}}$ have the same length (see Figure 13).

Now notice that a parameter count shows that an octahedron whose opposite edges in each quadrilateral have equal length possesses a line-symmetric motion. Since all pyramids are simple, there is exactly one way in the motion under consideration to extend a realization of a pyramid. Since all pyramids are general, each of them admits exactly one motion. Therefore, such a unique extension must be in the line-symmetric motion.

**Case (4,4,2).** From Equation (3) and Table 1 from Rule **R1**, we infer that the pyramids **5** and **6** are general, while **1** and **2** are odd deltoids and **3** and **4** are even deltoids. Moreover, from the fact that $o^{12} = o^{34} = 4$, we deduce as in Case (4,4,4) that the opposite edges in the quadrilaterals 12 and 34 have the same length. We now show that the opposite edges in the quadrilateral 56 have the same length, so as in Case (4,4,4) we conclude that we have a
<figure><img src="image_16.png" /><figcaption>**Figure 13.** The edge lengths in Case (4,4,4): equal color corresponds to equal length.</figcaption></figure>

**Type I** motion. Consider a realization for which the pyramid **1** is flat; then we have that 1, 3, and 4 are collinear. Let us now look at the pyramid **3** for that realization: we would like to conclude that **3** is flat as well. Since **1** is flat, we have that the dihedral angle between the faces 135 and 136 is either 0 or $\pi$; however, this is a simple angle for **3**, hence by Lemma 20 also **3** is flat. Therefore, the vertices 1, 2, 3, and 4 are collinear in that realization, and all the vertices are coplanar. Then the quadrilateral 34 is, in that realization, a parallelogram or an antiparallelogram (see Figure 14).

<figure><img src="image_17.png" /><figcaption>**Figure 14.** Flat realization in Case (4,4,2): all vertices are coplanar, four of them are collinear, and the quadrilateral 34 can be a parallelogram or an antiparallelogram.</figcaption></figure>

Thus, the footpoint of the midpoint of the diagonal {5,6} on the line 1234 is the midpoint of the diagonal {1,2}. By considering the quadrilateral 12, we get that the footpoint of the midpoint of the diagonal {5,6} on the line 1234 is the midpoint of the diagonal {3,4}. Hence we obtain

$$ \ell_{13} = \ell_{24} \quad \text{and} \quad \ell_{41} = \ell_{32}. $$

Thus, this case is a special case of a **Type I** motion allowing a flat realization.

**Case (4,2,2).** Here we see that the pyramids **3** and **4** are even deltoids, and the pyramids **5** and **6** are odd deltoids, while the pyramids **1** and **2** are either rhomboids or lozenges. Let us suppose that we are in a flat realization of the pyramid **3**. Then the rhomboid **2** has one of the angles which is 0 or $\pi$, hence it is flat as well. This implies that we have two flat realizations for the octahedron as a whole. Since we have deltoids, as in Case (4,4,2), we have collinearities in a flat realization, namely, the following triples of vertices are collinear (keep into account that **3** and **4** are even deltoids, while **5** and **6** are odd deltoids):

$$ \{1,2,3\}, \quad \{1,2,6\}, \quad \{1,2,5\}, \quad \{1,2,4\}. $$
Therefore, all the vertices are collinear, unless in this special flat realization we have that 1 and 2 coincide $^4$. If the vertices are collinear in this special realization, then all the triangular faces are degenerate, and so all vertices are collinear in any realization of the motion, but in this case the octahedron cannot move at all. Hence, only the situation where 1 and 2 coincide can happen (see Figure 15).

<figure><img src="image_18.png" /><figcaption>**Figure 15.** Global flat realization of an octahedron in Case (4,2,2): the vertices 1 and 2 must coincide in this realization.</figcaption></figure>

For this situation to happen, we must have

$$ \ell_{16} = \ell_{26}, \quad \ell_{13} = \ell_{32}, \quad \ell_{41} = \ell_{24}, \quad \ell_{15} = \ell_{25}. $$

Moreover, the fact that $o^{12} = 4$ implies, as in Case (4,4,4), that

$$ \ell_{36} = \ell_{45} \quad \text{and} \quad \ell_{46} = \ell_{35}. $$

Altogether, this implies that for a general realization in this motion the vertices 3, 4, 5, and 6 are coplanar and that 1 and 2 are symmetric with respect to the plane spanned by the coplanar vertices. Moreover, the planar quadrilateral 12 is either a parallelogram or an antiparallelogram. Furthermore, from the fact that in the global flat realization of the octahedron the vertices 1 and 2 coincide, it follows that all the deltoids are of “coinciding” type. Using Table 1 from Rule **R1**, we get that for the two odd deltoids

$$ p_{\perp} = 1 \quad \text{and} \quad p_{\parallel} = 0, $$

while for the two even deltoids

$$ p_{\perp} = 1 \quad \text{and} \quad p_{\parallel} = 0. $$

Therefore, by Equations (3) from Rule **R4**, we obtain

$$ o_{Z}^{56} = 1, $$

$$ o_{X}^{56} = o_{Y}^{56} = 0, $$

$$ o_{Y}^{34} = 1, $$

$$ o_{X}^{34} = o_{Z}^{34} = 0. $$

By using Rule **R2**, we get the constraints

$$ -\ell_{41} - \ell_{24} + \ell_{32} + \ell_{13} = 0 \quad \text{and} \quad \ell_{25} + \ell_{51} - \ell_{16} - \ell_{62} = 0. $$

Taking into account the previous relations between lengths, these imply the equalities

$$ \ell_{32} = \ell_{24} \quad \text{and} \quad \ell_{25} = \ell_{16}. $$

Altogether, these equations imply that, if the quadrilateral 12 is an antiparallelogram, then the projection of the vertices 1 and 2 on the plane spanned by 3,4,5, and 6 lies, for all realizations of

<footnote>$^4$Recall that we forbid two vertices to coincide for a general realization in a motion, but they are allowed to coincide in special realizations.</footnote>
the motion, on the symmetry line of the antiparallelogram. Hence we get a **Type II** motion. If the quadrilateral 12 were a parallelogram, then the projection of the vertices 1 and 2 would be at the intersection of its two symmetry axes; but then we would have a convex octahedron with a flex, and this conflicts with Cauchy's theorem.

**Case (2,2,2).** In this case, all the 6 pyramids are rhomboids or lozenges. Moreover, we have

$$o_X^{ij} + o_Y^{ij} + o_Z^{ij} = 1$$

for any $ij \in \{12,34,56\}$, and so exactly one of these three quantities equals 1, while the other two are zero. We hence obtain three linear constraints for the edge lengths, one for each of the three quadrilaterals in $\mathbb{G}_{\text{oct}}$. Therefore, we have an octahedron of **Type III**.

The classification when all the pyramids are simple is then completed. We conclude this section by showing that we can always reduce to the simple case. Let us describe this reduction procedure as follows.

**Reduction.** Suppose that a pyramid, say $\text{[1]}$, is not simple. This means that there exist at least two non-congruent realizations of the octahedron extending a general realization of $\text{[1]}$. This implies that in all those realizations the points 3, 4, 5, and 6 must be coplanar. Then we construct another octahedron by substituting the realization of vertex 2 with the mirror of the realization of the vertex 1 with respect to the plane spanned by 3, 4, 5, and 6; see Figure 16. By the hypothesis on the initial octahedron, we get that the new octahedron has a flex, and it has the further property that pyramids $\text{[1]}$ and $\text{[2]}$ are simple. Here the fact that $\text{[1]}$ and $\text{[2]}$ are simple is ensured by Assumption 6, which prevents different vertices from having the same realization.

<figure><img src="image_19.png" /><figcaption>**Figure 16.** An illustration of the reduction process: the original octahedron (in blue) is transformed into one where the red pyramid substitutes the blue pyramid on the right of the planar quadrilateral.</figcaption></figure>

We claim that we can repeat this procedure finitely many times (actually, three times) and obtain a situation where all the pyramids are simple. In fact, notice that the reduction process preserves coplanarity in the following sense. Suppose that pyramid $\text{[1]}$ is not simple and apply the reduction. This means that vertices 3, 4, 5, 6 are coplanar, and now 1 and 2 are symmetric with respect to that plane, so in particular they lie on a perpendicular line to the plane 3456. Suppose, furthermore, that after the reduction pyramid $\text{[3]}$ is not simple, thus 1, 2, 5, 6 are coplanar. In this situation, the mirror of 3 with respect to the plane 1256 equals the mirror of 3, in the
plane 3456, with respect to the line spanned by 5 and 6. Hence, after the second reduction, we
have that 3,4,5,6 are coplanar, and 1,2,5,6 are coplanar. Therefore, the reduction can be applied
only thrice.

As a by-product of the previous reduction, we have that when four vertices of the octahedron are coplanar, the other two vertices are symmetric with respect to that plane. This implies that, after the reduction, the four pyramids $\text{V}$ with vertices $v$ on that plane can only be deltoids or lozenges.

To refine the by-product stated in the last paragraph, we introduce the notion of *multiplicity* of an edge of the octahedron. A specific rule discusses the behavior of edge multiplicity.

**Definition 36.** Consider a motion of an octahedron, and consider an edge. Consider a general value of the dihedral angle between the two triangular faces adjacent to the considered edge. The multiplicity of the considered edge of the octahedron is the number (up to isometries) of realizations of the octahedron in the motion that have the same general value of the dihedral angle at the edge. Edges of multiplicity 1 are called simple, edges of multiplicity 2 are called double.

(R5) Edges may have multiplicity 1, 2, or 4. Two opposite edges of a pyramid $\text{V}$ incident to $v$ have the same multiplicity; hence all the edges in a quadrilateral of $G_{\text{oct}}$ have the same multiplicity. The multiplicity of two neighboring edges incident to $v$ in a pyramid $\text{V}$ may at most differ by a factor of 2. A general pyramid has all edges of multiplicity 2 or 4. The edges of a deltoid have multiplicity (2,4) or (1,2). The edges of a rhomboid or a lozenge have all multiplicity 1 or all multiplicity 2.

With the notion of multiplicity at hand, we can say that if we apply the reduction at pyramid 1, then 3, 4, 5, and 6 are deltoids — since they are symmetric with respect to the plane 3456 — whose edges incident to 1 or 2 are simple and whose other edges are double, or lozenges with only simple edges.

We now explore all three possible cases that may appear after the reduction, namely, we can
have three, two, or one planar quadrilateral in the octahedron.

It is easy to see that there cannot be three planar quadrilaterals: all vertices would have to lie on coordinate axes, and Pythagoras' Theorem would give an easy proof of rigidity.

Assume that the vertices 3, 4, 5, 6 are coplanar and 1, 2, 5, 6 are coplanar as well. By the above
properties of the octahedron, it follows that all edges are simple and all pyramids are lozenges.
Thus the reduced octahedron belongs to Case (2,2,2). Therefore, it has two flat realizations.
However, when a lozenge is in a flat realization, then two opposite edges have to coincide. This,
however, cannot happen for all lozenges. In fact, in a flat realization, either the points 1 and 2, or
the points 3 and 4 must coincide, since the planes 3456 and 1256 are orthogonal to each other in
a general realization of the motion, and 1 and 2 are symmetric, as well as 3 and 4. Moreover, in
any case the points 1 = 2 or 3 = 4 are collinear with 5 and 6 in the flat realization. For simplicity, let
us suppose to be in a flat position where 3 and 4 coincide. Hence the situation is the one depicted
in Figure 17 (recall that 1 and 2 are symmetric with respect to the line 56).

We now show that, in this situation, the octahedron is actually rigid, so this case can never
happen. In fact, we prove that the constraints derived from the flat realization, together with the
fact that we have six lozenges, are not compatible with the orthogonality of the planes 1256 and
3456. To show this, we focus on the dihedral angle at the edge 23: using the constraints from
the flat realization, we can fix (up to scaling) vertex 2 to be at (0, 0, 0), vertex 3 to be at (b, 0, 0) (for
some b ∈ ℝ>0 \ {2}) for the whole motion; we parametrize vertex 5 as (1, -r cos(t), r sin(t)) for some
r ∈ ℝ>0, so vertex 6 has coordinates (b/2-b, br/2-b, 0); see Figure 18.

However, a computation shows that the inner product between two normal vectors to the
planes 356 and 256 during the motion is not 0 for any choice of b and r. This is not compatible
with the fact that the planes 1256 and 3456 are orthogonal.
<figure><img src="image_20.png" /><figcaption>**Figure 17.** Flat positions of an octahedron obtained by applying the reduction process twice. This case, actually, does never occur.</figcaption></figure>

<figure><img src="image_21.png" /><figcaption>**Figure 18.** To show that the case of two reductions does not occur, we focus on the dihedral angle at edge 23: in the flat position, the angles $\hat{325}$ and $\hat{326}$ are equal, and the vertices 3, 5, and 6 are collinear.</figcaption></figure>

Assume now that only 3, 4, 5, 6 are coplanar. By what we said before, this means we applied the reduction process only once. Then the eight edges incident to 1 or 2 are simple. The remaining four edges can either be simple or be double. We distinguish two cases.

(Case A) All edges are simple. By Rule R5 we are again in Case (2,2,2), now with four lozenges (namely [3], [4], [5], and [6]) and two rhomboids or lozenges (namely [1] and [2]). Since we are in Case (2,2,2), we have two flat realizations. In one of them, the vertices 1 and 2 coincide. In the other, using the fact that [3], [4], and [5] are lozenges, we have that 3, 4, 5, and 6 are collinear. In this realization, then 1 and 2 are symmetric with respect to the line 3456.

We show that the plane quadrilateral 12 is a parallelogram or an antiparallelogram. Let $C_1$ and $C_{356}$ be the projections of the motion to pyramid $\text{�1}$ and vertices 3, 5, 6 respectively. The positions of vertices 3, 5, 6 in a general realization in $C_{356}$ determine the dihedral angle at the edge 13. Since this edge is simple, there is (up to isometries) a unique realization in $C_1$ restricting to the same positions of 3, 5, 6. In particular, given the positions of the vertices 3, 5, 6 of the plane quadrilateral 12, the position of 4 is determined; and similarly for the other three choices of two incident edges of the plane quadrilateral. One can check that this is possible only if the plane quadrilateral 12 is a parallelogram or an antiparallelogram.

Consider the flat realization of the octahedron where the four vertices 3, 4, 5, and 6 are collinear. Because the plane quadrilateral 12 is an antiparallelogram or a parallelogram, it follows that the edges 35 and 46 are equal in length. Because the pyramid $\text{\text{Î}}$ is a rhomboid or a lozenge, it follows that the angles at 1 in the two triangles 135 and 146 are equal — they could not be supplementary because this would contradict the collinearity of 3, 4, 5, and 6. Hence, the triangles 135 and 146 have one side in common, the opposite angle in common, and the normal height in common. It follows that the two triangles are
congruent. It follows that, for all realizations, the footpoint of vertex 1 to the plane lies on the symmetry line of the antiparallelogram or in the midpoint of the parallelogram, depending whether the plane quadrilateral 12 is an antiparallelogram or a parallelogram. Then the footpoint of vertex 1 lies in the symmetry line of the plane antiparallelogram 12 or in the midpoint of the parallelogram, also for the original motion. The same holds for the footpoint of vertex 2, analogously. The case where 12 is a parallelogram yields a convex octahedron, which cannot be flexible by Cauchy's theorem. It follows that the original motion, before the reduction process, is plane-symmetric.

(Case B) The four edges are double. By Rule R5 we have four deltoids and two rhomboids or lozenges, thus we are in Case (4,2,2). Then the plane quadrilateral 12 is an antiparallelogram, and the footpoint of vertex 1 to the plane lies on the symmetry line of the antiparallelogram. Say we had before reduced by replacing 2 by the mirror of 1 at the plane 3456. Then the footpoint of vertex 1 lies in the symmetry line of the plane antiparallelogram 12, also for the original octahedron. The same holds for the footpoint of vertex 2, analogously. It follows that the original motion is plane-symmetric.

This concludes the proof of Theorem 9, once we accept the rules introduced so far.

**Remark 37.** An example of Case A where the quadrilateral 12 is an antiparallelogram is the following labeling of an octahedron

$$ 
\begin{aligned}
\ell_{13} &= \ell_{14} = \ell_{23} = \ell_{24} = 20, \\
\ell_{15} &= \ell_{16} = \ell_{25} = \ell_{26} = 13, \\
\ell_{35} &= \ell_{46} = 11, \\
\ell_{36} &= \ell_{45} = 21.
\end{aligned}
 $$

The motion compatible with this labeling is an instance of all three Bricard types. It has two plane symmetries, one by the plane through 3, 4, 5, 6, and another by the plane intersecting orthogonally the symmetry line of the antiparallelogram, which makes it plane-symmetric. The line reflection making it line-symmetric is the composition of the two plane reflections. See Figure 19 for an example.

<figure><img src="image_22.png" /><figcaption>**Figure 19.** An example of a motion which is an instance of all three Bricard types.</figcaption></figure>
**5. From the space to the sphere**

Now that we showed that the classification of motions of the octahedron can be achieved once we accept the rules introduced in Section 4, we are left with the task of explaining why the rules are correct.

We start by reducing the problem of flexibility of octahedra to a problem of flexibility of graphs on the sphere, as in [18, 19, 29]. For each realization in 3-space of an octahedron compatible with a given edge labeling, the normalized vectors of the edges define a realization of points on the unit sphere. Notice that a priori there are two unit vectors on the sphere corresponding to the realization of an edge; we will explain in the next paragraph how to resolve this ambiguity. For any face of the octahedron, the angle between two edge vectors is determined by the edge lengths of the realization of the octahedron. Let us define $\mathcal{G}_{\text{edg}}$ to be the graph whose vertices are the edges of $\mathcal{G}_{\text{oct}}$, and where two vertices are connected by an edge when the corresponding edges in $\mathcal{G}_{\text{oct}}$ belong to the same face of the octahedron (see Figure 20).

<figure><img src="image_23.png" /><figcaption>**Figure 20.** The graph $\mathcal{G}_{\text{edg}}$: its vertices are the edges of the octahedron, and two vertices are adjacent if they come from the same face of the octahedron.</figcaption></figure>

From the previous discussion, we get that a labeling for the edges of $\mathcal{G}_{\text{oct}}$ induces a labeling of the edges of $\mathcal{G}_{\text{edg}}$ given by the cosine of the angles between edge vectors belonging to the same face. In formulas, if $\lambda$ is a labeling for $\mathcal{G}_{\text{oct}}$, then the induced labeling for $\mathcal{G}_{\text{edg}}$ is the map:

$$ (\{i, j\}, \{m, j\}) \mapsto -\frac{\lambda_{\{i, m\}}^2 - \lambda_{\{i, j\}}^2 - \lambda_{\{m, j\}}^2}{2\lambda_{\{i, j\}}\lambda_{\{m, j\}}}, \quad \text{where } \{i, j\}, \{m, j\} \in E_{\text{oct}}. $$

Hence, there is a bijective correspondence, modulo translations, between realizations of the octahedron in 3-space compatible with $\lambda$ and realizations of the edge graph $\mathcal{G}_{\text{edg}}$ on the unit sphere compatible with the labeling induced by $\lambda$.

The choice of the normalized vector corresponding to an edge in $\mathcal{G}_{\text{oct}}$ is not unique and depends on an orientation of the edges of the octahedron (any orientation is, in principle, fine). Recall that we have already fixed an orientation in Definition 26; from now on, we always refer to this choice of orientation. Hence, given a realization $\rho: \{1, \dots, 6\} \to \mathbb{R}^3$ of $\mathcal{G}_{\text{oct}}$, for each edge $\{i, j\} \in E_{\text{oct}}$ we define the point $q_{\{i, j\}}$ in the unit sphere to be the one such that

$$ \rho(i) - \rho(j) = \ell_{ij} q_{\{i, j\}}, $$

where we recall from Definition 26 that $\ell_{ij} > 0$ if $(i, j)$ is an oriented edge in $\tilde{\mathcal{G}}_{\text{oct}}$, and $\ell_{ij} = -\ell_{ji}$. Hence, if $\rho$ is a realization of $\mathcal{G}_{\text{oct}}$ compatible with a labeling $\lambda$, then the map that associates

$$ \{i, j\} \mapsto q_{\{i, j\}} \quad \text{for all } \{i, j\} \in E_{\text{oct}} = V_{\text{edg}} $$
is the induced realization of $\mathbb{G}_{\text{edg}}$ on the unit sphere.

Notice that, once we have a triangle in the octahedron, the labeling induced on the unit vectors of the edges forces the three points on the unit sphere to lie on the same great circle. Therefore, realizations of $\mathbb{G}_{\text{edg}}$ induced by realizations of $\mathbb{G}_{\text{oct}}$ look like the one in Figure 21.

<figure><img src="image_24.png" /><figcaption>**Figure 21.** A realization of $\mathbb{G}_{\text{edg}}$ in $S^2$ (on the right) induced by one of $\mathbb{G}_{\text{oct}}$ in $\mathbb{R}^3$ (on the left).</figcaption></figure>

The paper [15] contains necessary criteria for the flexibility of any graph on a sphere, as well as a detailed analysis of spherical quadrilaterals; these arise in the current paper by applying the procedure discussed in this section to realizations of a pyramid. The technique in [15] requires to extend to the complex numbers many notions we encountered so far: realizations, flexes, motions, and also the unit sphere. Therefore, from now on, realizations of $\mathbb{G}_{\text{oct}}$ are maps $\rho: \{1, ..., 6\} \to \mathbb{C}^3$, and two realizations are considered congruent if they differ by a complex isometry, which is given by the action of a complex orthogonal matrix followed by a complex translation. However, we still focus on real-valued labelings. Compatibility of a realization $\rho$ with a labeling $\lambda$ now means that

$$ \langle \rho(i) - \rho(j), \rho(i) - \rho(j) \rangle = \lambda_{\{i, j\}}^2 \quad \text{for all } \{i, j\} \in E_{\text{oct}}, $$

where $\langle \cdot, \cdot \rangle$ is considered just as a quadratic form, and not a scalar product. Flexes and motions are then defined as in Section 2. The complexification of the unit sphere is denoted by

$$ S_{\mathbb{C}}^2 := \{(x, y, z) \in \mathbb{C}^3 | x^2 + y^2 + z^2 = 1\}, $$

so realizations of $\mathbb{G}_{\text{edg}}$ are maps $V_{\text{edg}} \to S_{\mathbb{C}}^2$. Two such realizations are congruent if they differ by a complex orthogonal matrix. As in the spatial case, labelings are real-valued functions $E_{\text{edg}} \to \mathbb{R}$. Compatibility of a realization in $S_{\mathbb{C}}^2$ with a labeling is again tested via the standard quadratic form $\langle \cdot, \cdot \rangle$, which in the real setting gives the cosine of the angle between two unit vectors. As we see from their definition, the construction of the points $q_{\{i, j\}}$ starting from a realization of $\mathbb{G}_{\text{oct}}$ carries over the complex numbers. Recall, however, that the numbers $\ell_{ij}$ are always real. Flexes and motions of graphs on the complex sphere are defined analogously to their spatial counterparts.

From the discussion and the construction in this section, we then obtain that a realization of $\mathbb{G}_{\text{oct}}$ has a flex in $\mathbb{C}^3$ if and only if the corresponding induced realization of $\mathbb{G}_{\text{edg}}$ has a flex in $S_{\mathbb{C}}^2$.

# 6. Justification of flexibility functions and their rules

This section provides geometric counterparts of the notions of octahedral and pyramidal flexibility functions introduced in Section 4.1, and gives justifications for the rules in Sections 4.3
and 4.4. The needed theory is the one developed by the authors in [15] about flexibility of graphs on the sphere, together with a new finding related to Rule **R2**. The latter concerns a connection between positivity of flexibility functions and linear conditions on the edge lengths of realizations in a motion of an octahedron. We recall here the main concepts of [15] and refer to that work for proofs and precise constructions.

The geometric counterparts of flexibility functions arise as follows. First of all, we define what we mean by *configuration space* of a labeling of an octahedron. This notion makes it possible to consider “realizations up to isometries” as an algebraic variety, and so it makes it possible to use the tools of algebraic geometry to study it. It turns out that these varieties are not compact, and there are several possible ways to compactify them. By doing this, we add “points at infinity” to the configuration space, namely, points that do not correspond to realizations. We call these points *bonds*.

We then show that a motion of an octahedron determines a positive-dimensional irreducible component of the configuration space with special properties. Hence, the existence of a motion implies the existence of bonds. Although they do not correspond to realizations, they still carry deep geometric information: by extracting it, we are able to explain the rules we stated in Section 4.

The idea is that bonds can be thought as intersections of the compactification of the configuration space with a “boundary” of the whole space of possible configurations of points on the 2-sphere. This boundary is composed of different components, each of which can be codified by either an oriented quadrilateral if we consider the whole octahedron, or an oriented pyramid in the case we are focusing on a single pyramid. The configuration space intersects each of these components with a certain multiplicity, which gives the value of the flexibility function at the corresponding oriented quadrilateral or pyramid.

From the discussion of Section 5, we see that the motions of an octahedron can be studied in terms of motions of a graph on the 2-sphere. We now describe the notion of configuration space and its compactification for realizations of graphs on the sphere, as it is introduced in [15]. This is accomplished by noticing that it is possible to associate to each general *n*-tuple of points in $S_C^2$ a $2n$-tuple of points in $\mathbb{P}_C^1$ in such a way that two *n*-tuples on the sphere differ by a complex rotation (namely, by an element in $SO_3(C)$) if and only if the corresponding two $2n$-tuples in $\mathbb{P}_C^1$ are $\mathbb{P}GL(2, \mathbb{C})$-equivalent. The association works as follows: consider $S_C^2$ as the affine part of a smooth quadric in $\mathbb{P}_C^3$, which is covered by two families of lines; given a point $O \in S_C^2$, we can consider the two projective lines in $S_C^2$ passing through $O$; each of these two lines intersects the plane at infinity in a single point; the two points that we obtain are called the *left* and *right lift* of $O$, respectively. The left and right lift belong to the intersection of the projective closure of $S_C^2$ with the plane at infinity, which is a smooth plane conic, hence isomorphic to $\mathbb{P}_C^1$. This means that we can consider general realizations on the complex unit sphere, up to complex rotations, as points in the moduli space $\mathcal{M}_{0,2n}$ of $2n$ distinct points on the projective line. Moreover, one notices that constraints in terms of spherical distances on $S_C^2$ can be translated into relations among the lifts in $\mathbb{P}_C^1$ in terms of their cross-ratios. Therefore, one can encode realizations of graphs on the sphere compatible with a given labeling by algebraic subvarieties of $\mathcal{M}_{0,2n}$. This moduli space is non-compact, and a possible (projective) compactification is provided by the so-called *moduli space of rational stable curves with marked points*, introduced by Knudsen and Mumford, and denoted $\overline{\mathcal{M}}_{0,2n}$. In this way, it is possible to assign to each graph $G = (V, E)$, together with a labeling $\lambda: E \to \mathbb{R}$, a projective variety $C_G$ inside $\overline{\mathcal{M}}_{0,2|V|}$ whose intersection with $\mathcal{M}_{0,2|V|}$ encodes the realizations of $G$ in $S_C^2$ compatible with $\lambda$, up to rotations.

**Definition 38.** Given a graph $G = (V, E)$ and a labeling $\lambda: E \to \mathbb{R}$, the projective variety $C_G \subseteq \overline{\mathcal{M}}_{0,2|V|}$ constructed in [15] is called the configuration space of $G$ in $S_C^2$ compatible with $\lambda$. Since the labeling $\lambda$ takes real values, the variety $C_G$ is real as well. The components of $C_G$ that
intersect $\mathcal{M}_{0,2|V|}$ in infinitely many elements are called motion representatives of G. The reason for this name is that elements in $\mathcal{M}_{0,2|V|}$ can be considered as representatives of the orbits of realizations of G in $S_C^2$ under the action of rotations.

Given this premise, we can define the notion of bond of a motion representative.

**Definition 39.** Given a graph G and a labeling $\lambda$, the points in

$$C_G \cap (\overline{\mathcal{M}_{0,2|V|} \setminus \mathcal{M}_{0,2|V|}})$$

are called the bonds of G, and if $K \subseteq C_G$ is a motion representative, bonds of G that lie in K are called bonds of K. Since $C_G$ is a real variety and there are no real points on $\overline{\mathcal{M}_{0,2|V|} \setminus \mathcal{M}_{0,2|V|}}$, bonds come in complex conjugate pairs.

The following is one of the main results of [15].

**Proposition 40.** A motion on $S_C^2$ of a graph G determines at least a bond.

**Proof.** A motion on $S_C^2$ of a graph G implies the existence of a motion representative. In fact, in a motion we have infinitely many pairwise non-congruent realizations, and they determine infinitely many distinct elements of $\mathcal{M}_{0,2|V|}$ that belong to the same component of $C_G$. This motion representative, in turn, must intersect $\overline{\mathcal{M}_{0,2|V|} \setminus \mathcal{M}_{0,2|V|}}$ because of the results of [15], and hence determines at least a bond. $\square$

It is interesting to notice that also Connelly, in the introduction of [13], highlights the fact that extending the field to the complex numbers and “going to infinity” (as we do here with bonds) may help understanding the geometric properties of flexible objects.

Let us instantiate the previous constructions to our situation. Given a labeling of an octahedron, we can construct the corresponding labeling for $\mathcal{G}_{\text{edg}}$ and then determine the configuration space $C_{\mathcal{G}_{\text{edg}}}$. Motions of the octahedron determine motion representatives in $C_{\mathcal{G}_{\text{edg}}}$. We formalize an intuitive statement, namely, that octahedra can have at most one degree of freedom:

**Proposition 41.** Motion representatives in $C_{\mathcal{G}_{\text{edg}}}$ are one-dimensional.

**Proof.** By construction, motion representatives are at least one-dimensional. If they were two-dimensional, we could add an edge to the octahedron and obtain a graph with a realization in $\mathbb{R}^3$ having a flex. However, the latter graph is rigid, since it is a union of tetrahedra. $\square$

## Justification of the objects

Now we are ready to explain why we introduced oriented quadrilaterals, oriented pyramids, and flexibility functions in Section 4.

From Section 5, we know that an octahedron has a motion if and only if the induced labeling for the graph $\mathcal{G}_{\text{edg}}$ has a compatible motion on the sphere. This means that when we have a motion of an octahedron, we get bonds for $\mathcal{G}_{\text{edg}}$.

The presence of bonds imposes combinatorial restrictions to graphs in terms of colorings, which arise as follows. Let us again consider an arbitrary graph $G = (V, E)$ on $n$ vertices. The boundary $\overline{\mathcal{M}_{0,2n} \setminus \mathcal{M}_{0,2n}}$ is constituted of divisors (i.e., subvarieties of codimension 1) that are denoted by $D_{I,J}$, where $(I, J)$ is a partition of the set $\{P_1, \dots, P_n, Q_1, \dots, Q_n\}$ of marked points — we denote the marked points in this way to recall that we interpret them as left and right lifts of points on $S_C^2$. If the configuration curve $C_G$ meets a divisor $D_{I,J}$, then the partition $(I, J)$ induces a coloring on the graph G as follows: an edge $\{i, j\}$ of G is red if at least three of $\{P_i, P_j, Q_i, Q_j\}$ belong to I; it is blue otherwise. Properties of the moduli space $\overline{\mathcal{M}_{0,2n}}$ imply that in each of these colorings there is no path of length 3 in which the colors are alternated and all 3-cycles are
monochromatic. For this reason, these colorings are called NAP (for Not Alternating Path) if they are surjective. The main result about NAP-colorings in [15] is that their presence characterizes flexibility on the sphere: a graph G admits a flex if and only if G admits a NAP-coloring.

Let us now describe the NAP-colorings of the graph $\mathbb{G}_{\text{edg}}$. We will see that these colorings are in bijection with quadrilaterals in $\mathbb{G}_{\text{oct}}$. To make the notation easier, from now on and for the rest of the paper we denote the marked points on the stable curves of $\mathcal{M}_{0,24}$ not by $P_u, Q_u$ for $u \in \{1, \dots, 12\}$, but rather by $P_{ij}, P_{ji}$ for $\{i, j\} \in E_{\text{oct}}$, with $i < j$, since the vertices of $\mathbb{G}_{\text{edg}}$ are labeled by pairs of indices.

**Definition 42.** Each of the three quadrilaterals in $\mathbb{G}_{\text{oct}}$ determines a NAP-coloring of $\mathbb{G}_{\text{edg}}$ as follows. There are exactly four vertices of $\mathbb{G}_{\text{edg}}$ given by the edges of the quadrilateral. A direct inspection shows that those four vertices form a disconnecting set for $\mathbb{G}_{\text{edg}}$, namely, if they are removed, the resulting graph has two connected components. One then gets a NAP-coloring by coloring all the edges with their endpoints in the same component by the same color; see Figure 22.

<figure><img src="image_25.png" /><figcaption>**Figure 22.** The three NAP-colorings of $\mathbb{G}_{\text{edg}}$ induced by the three quadrilaterals in $\mathbb{G}_{\text{oct}}$.</figcaption></figure>

By sorting out all the cases, helped by the fact that there are several triangles in $\mathbb{G}_{\text{edg}}$, which must be monochromatic in a NAP-coloring, one proves the following result.

**Proposition 43.** The only NAP-colorings of $\mathbb{G}_{\text{edg}}$ are those induced by the three quadrilaterals in $\mathbb{G}_{\text{oct}}$ as in Definition 42.

**Remark 44.** There are 16 divisors $D_{I,J}$ inducing the same NAP-coloring. For example, if we consider the quadrilateral 56, then one of these divisors is given by

$$I = \{P_{5*}, P_{*5}, P_{13}, P_{23}, P_{14}, P_{24}\} \quad \text{and} \quad J = \{P_{6*}, P_{*6}, P_{31}, P_{32}, P_{41}, P_{42}\},$$

where $*$ takes all the values in $\{1, 2, 3, 4\}$. The other divisors are obtained by swapping the pairs $(P_{13}, P_{31})$, $(P_{23}, P_{32})$, $(P_{14}, P_{41})$, and $(P_{24}, P_{42})$. Hence we get a total of $48 = 16 \times 3$ divisors that can be intersected by the configuration space in $\mathcal{M}_{0,24}$ of $\mathbb{G}_{\text{edg}}$ compatible with a given labeling.

By examining the shape of the partitions $(I, J)$, we get the following graphical description of the divisors $D_{I,J}$.

**Proposition 45.** Let $mn$ be a quadrilateral in $\mathbb{G}_{\text{oct}}$, where $mn \in \{12, 34, 56\}$. There is a bijection between the divisors $D_{I,J}$ inducing the NAP-coloring determined by $mn$ and the set of orientations of $mn$. The bijection works as follows. After possibly swapping $I$ and $J$, write $I = \{P_{m*}, P_{*m}, P_{t_1 s_1}, \dots, P_{t_4 s_4}\}$, then $\{t_1, s_1\}, \dots, \{t_4, s_4\}$ are the edges of the (undirected) 4-cycle $mn$. We then declare that $D_{I,J}$ determines the orientations $(t_1, s_1), \dots, (t_4, s_4)$ of the edges of $mn$; see Figure 10 for the quadrilateral corresponding to the example in Remark 44.
Hence Proposition 45 explains why in Section 4 we considered oriented quadrilaterals of $\mathcal{G}_{\text{oct}}$: they codify the divisors $D_{I,J}$ that may intersect the motion representatives in the configuration space $C_{\mathcal{G}_{\text{edg}}}$ of a labeling of $\mathcal{G}_{\text{edg}}$.

**Definition 46.** Given a motion of an octahedron, the value of the corresponding octahedral flexibility function at an oriented quadrilateral is the degree of the divisor on $K$ cut out by $D_{I,J}$, where

* $K \subset C_{\mathcal{G}_{\text{edg}}}$ is the motion representative corresponding to the motion of the octahedron and

* $D_{I,J}$ is the boundary divisor corresponding to the oriented quadrilateral.

*Recall that $K$ is a curve by Proposition 41, and so it makes sense to compute the degree of a divisor on it.*

To explain the origin of oriented pyramids, notice that if we apply the reduction from the space to the sphere described in Section 5 to a realization of a pyramid [1], and we take into account only the edges incident to $v$, we obtain a 4-cycle on the sphere. If we take as graph $G$ a 4-cycle, whose vertices are $\{1, 2, 3, 4\}$ and whose edges are $\{(1, 2), \{2, 3\}, \{3, 4\}, \{1, 4\}\}$, then the moduli space where its configuration space lives is $\mathcal{M}_{0,8}$. Let us, for a moment, switch back to the notation $P_u, Q_u$ for the marked points of stable curves, just to make the notation in this particular case less heavy. There are four divisors $D_{I,J}$ in $\mathcal{M}_{0,8}$ given by the partitions

$$I = \{P_1, Q_1, P_2, Q_4\},$$

$$I = \{P_2, Q_2, P_1, P_3\},$$

$$I = \{P_1, Q_1, P_2, Q_4\},$$

$$I = \{P_2, Q_2, P_1, Q_3\},$$

$$J = \{P_3, Q_3, Q_2, Q_4\},$$

$$J = \{P_4, Q_4, Q_1, Q_3\},$$

$$J = \{P_3, Q_3, Q_2, P_4\},$$

$$J = \{P_4, Q_4, Q_1, P_3\}.$$

By swapping the $P$'s with the $Q$'s in the previous partitions, we obtain four other divisors, which are the complex conjugates of the previous ones. Let us focus on the $I$-part of the partition: we see that we always have a unique pair $(P_k, Q_k)$. If $k$ is even, we say that the divisor is even (e), while we say that it is odd (o) if $k$ is odd. Moreover, we see that in the $I$-part we have another pair of marked points of the form either $(P_i, P_j)$ or $(P_i, Q_j)$. In the first case we say that the divisor is unmixed (u), while in the second case we say that the divisor is mixed (m). Hence, to specify one of these four divisors, it is enough to specify whether it is even or odd, and unmixed or mixed. Therefore, we denote these divisors by $D_{\text{om}}$, $D_{\text{ou}}$, $D_{\text{em}}$, and $D_{\text{eu}}$.

Now we can go back to our usual notation for marked points and discuss the situation for all pyramids in the octahedron. Recall that in Figure 8 we fixed the convention about even and odd edges of the six pyramids of the octahedron, which correspond to the six quadrilaterals in $\mathcal{G}_{\text{edg}}$. Here “even” and “odd” are just conventional adjectives that come from the situation described above, where the vertex set is $\{1, 2, 3, 4\}$. In the case of $\mathcal{G}_{\text{edg}}$, the vertex set is constituted of unordered pairs of numbers, and the adjectives “even” and “odd” are not related to the parity of these numbers. This convention is summarized in Figure 23; one can notice that it is equivariant with respect to cyclic permutations of the vertices (1, 4, 5, 2, 3, 6) of the octahedron.

With these choices, we see, for example, that if we consider the pyramid [1], then the odd mixed divisor $D_{\text{om}}^{1}$ is given by the following partition:

$$I = (P_{14}, P_{41}, P_{15}, P_{61}) \quad \text{and} \quad J = (P_{13}, P_{31}, P_{51}, P_{16}).$$

Again as in the case of the whole octahedron, the notion of oriented pyramid codifies the information contained in the $I$-part of the partition determined by one of the four divisors associ-
<figure><img src="image_26.png" /><figcaption>**Figure 23.** Definitions of even and odd vertices for each of the six quadrilaterals in $\mathcal{G}_{edg}$.</figcaption></figure>

ated with a pyramid in the following way. As we saw, the I-part of such a partition associated to a pyramid $\mathcal{V}$ is of the form:

$$I = \left( \begin{array}{c} P_{vu} \ P_{vw} \\ P_{va} \ P_{av}, \text{ or , or} \\ P_{uv} \ P_{wv} \end{array} \right).$$

If $b$ is the vertex such that $\{a, b\}$ is a non-edge of $\mathcal{G}_{oct}$, then the pyramid $\mathcal{V}$ is the one induced by the vertices $v, a, b, u, w$. The two oriented edges of this subgraph, forming the oriented pyramid, are then $(v, u)$ (or $(u, v)$) and $(v, w)$ (or $(w, v)$). For example, the oriented pyramid associated to the divisor $D_{om}^1$ is $P_{\times}$.

Now the definition of the pyramidal flexibility function is similar to the case of the octahedral flexibility function. Here we use the fact that the general theory of moduli spaces developed by Knudsen and Mumford ensures that, given a pyramid $\mathcal{V}$, then there is a well-defined regular map $\pi_v: \mathcal{M}_{0,24} \to \mathcal{M}_{0,8}$ forgetting all marked points but the 8 related to the pyramid $\mathcal{V}$.

**Definition 47.** Given a motion of an octahedron, the value of the corresponding pyramidal flexibility function at an oriented pyramid supported on a pyramid $\mathcal{V}$ is the degree of the divisor on $\pi_v(K)$ cut out by the divisor in $\mathcal{M}_{0,8}$ corresponding to the oriented pyramid, where $K \subset \mathcal{C}_{\mathcal{G}_{edg}}$ is the motion representative corresponding to the motion of the octahedron. Recall that $K$ is a curve by Proposition 41, and so $\pi_v(K)$ is a curve as well, therefore it makes sense to compute the degree of a divisor on it.

### Justification of Rule R1

This rule summarizes the content of [15, Section 4.1]. In fact, motions of pyramids determine motions of quadrilaterals on the sphere, and the reference describes their behavior, concerning in particular their intersection with the divisors in $\mathcal{M}_{0,8}$.

### Justification of Rule R2

Rule R2 gives necessary conditions for the edge lengths of realizations in a motion of an octahedron. Notice that Mikhalëv in [21] obtains the same conditions for any suspension whose equator is a cycle<fnref n="5" />. The first author who discussed these relations for octahedra was, to our knowledge, Lebesgue.

<footnote n="5">⁵A suspension is a polyhedron whose combinatorial structure is the one of a double pyramid.</footnote>
Let us suppose, for simplicity, that a motion representative meets the divisor $D_{I,J}$ in $\mathcal{M}_{0,24}$ described in Remark 44. All other situations can be obtained from this one by a cyclic permutation of the vertices of $\mathcal{G}_{\text{oct}}$ and a different choice in the orientation of the edges.

Let $q_{\{i,j\}}$ be the point in the sphere $S_{\mathcal{C}}^2$ determined by the edge $\{i, j\}$ in $\mathcal{G}_{\text{oct}}$ as described in Section 5. Let us first clarify the relation between $q_{\{i,j\}}$ and the two marked points $P_{ij}$ and $P_{ji}$ corresponding to it in the stable curves with marked points of $C_{\mathcal{G}_{\text{edg}}}$.

When the marked points belong to a stable curve that is not in the boundary of $\mathcal{M}_{0,24}$, we can recover the coordinates of $q_{\{i,j\}}$ from the ones of $P_{ij}$ and of $P_{ji}$. Let us suppose that $P_{ij} = (u_{ij} : v_{ij})$ and $P_{ji} = (u_{ji} : v_{ji})$ (here we think about them as points in $\mathbb{P}^1$). The point $q_{\{i,j\}}$ is essentially the image of $(P_{ij}, P_{ji})$ under the Segre embedding $\mathbb{P}^1 \times \mathbb{P}^1 \to \mathbb{P}^3$. We need to be a little cautious here, since we should not use the “standard” map

but rather

$$ (u_{ij} : v_{ij}), (u_{ji} : v_{ji}) \mapsto (u_{ij} u_{ji} : u_{ij} v_{ji} : v_{ij} u_{ji} : v_{ji} v_{ji}). $$

In fact, our choice of coordinates should be such that the points where $P_{ij} = P_{ji}$ correspond to the plane at infinity (this justifies the choice of the last coordinates), and moreover the origin should be the polar of the plane at infinity with respect to the polarity induced by the quadric that is the image of $\mathbb{P}^1 \times \mathbb{P}^1$. This second requirement is needed because otherwise the affine points of the sphere do not form the set of unit vectors for (the complexification of) the Euclidean norm. Hence we get the following expression for the vector $q_{\{i,j\}}$:

$$ q_{\{i,j\}} = \left( \frac{u_{ij} u_{ji}}{u_{ij} v_{ji} - v_{ij} u_{ji}}, \frac{v_{ij} v_{ji}}{u_{ij} v_{ji} - v_{ij} u_{ji}}, \frac{u_{ij} v_{ji} + v_{ij} u_{ji}}{u_{ij} v_{ji} - v_{ij} u_{ji}} \right). \quad (4) $$

Since the quadrilateral 56 in $\mathcal{G}_{\text{oct}}$ forms a closed loop, we get the following condition, where $\ell_{ij}$ is the (signed) length of the edge $\{i, j\}$:

$$ \ell_{13} q_{\{1,3\}} + \ell_{23} q_{\{2,3\}} + \ell_{24} q_{\{2,4\}} + \ell_{14} q_{\{1,4\}} = 0. \quad (5) $$

Our goal is to express the condition of Equation (5) in local coordinates of the moduli space $\mathcal{M}_{0,8}$ obtained by forgetting all marked points of the form $P_{5,*}$, $P_{*,5}$, $P_{6,*}$, and $P_{*,6}$, where $*$ takes all the values in $\{1, 2, 3, 4\}$. Once we have done that, we can restrict the equation to the (projection of the) divisor $D_{I,J}$ and obtain a necessary condition on the numbers $\ell_{ij}$. We make the following choice of local coordinates for $\mathcal{M}_{0,8}$:

$$ \begin{aligned} P_{13} &= (1:0), & P_{31} &= (0:1), & P_{14} &= (x_1:1), & P_{41} &= (z:x_2), \\ P_{23} &= (1:1), & P_{32} &= (z:1), & P_{24} &= (x_3:1), & P_{42} &= (z:x_4). \end{aligned} $$

Notice that, with this choice of coordinates, $\{z=0\}$ is a local equation for the projection of the divisor $D_{I,J}$ on $M_{0,8}$. By using this choice of coordinates in Equation (4) and by substituting the expressions for the $\{q_{\{i,j\}}\}$ in Equation (5), we get three equations given by rational functions in $z, x_1, \dots, x_4$ and the lengths $\ell_{13}, \dots, \ell_{14}$. Cleaning the denominators and saturating by them, the obtained polynomial equations yields equations that can be restricted to the projection of the divisor $D_{I,J}$ by imposing $z=0$. Once we eliminate the variables$^6$ $z, x_1, \dots, x_4$, we are left with a single equation, namely

$$ \ell_{13} + \ell_{23} + \ell_{24} + \ell_{14} = 0. $$

This equation is precisely the one prescribed by Rule R2.

<footnote>$^6$This and the previous operations can be performed by a computer algebra system such as Maple, Mathematica, or SageMath.</footnote>
All equations arising from other choices of divisors $D_{I,J}$ can be obtained from this one, remembering that $\ell_{ij} = -\ell_{ji}$.

### Justification of Rule R3

This rule follows from the fact that motion representatives $K \subset C_{\mathcal{G}_{\text{edg}}}$ determined by motions of an octahedron are real varieties, and so the degree of the divisor cut out on $K$ by a divisor $D_{I,J}$ equals the degree of the divisor cut out on $K$ by its conjugate $\bar{D}_{I,J}$. One then notices that complex conjugation interchanges the marked points $P_{ij}$ and $P_{ji}$, and so $\bar{D}_{I,J}$ determines the same quadrilateral of $D_{I,J}$ but with opposite orientation of the edges.

### Justification of Rule R4

Fix a motion of an octahedron, its corresponding motion representative $K \subset C_{\mathcal{G}_{\text{edg}}}$ and a pyramid $\mathcal{P}$. By assumption, we know that the pyramid $\mathcal{P}$ is simple. Let $\pi_v: \mathcal{M}_{0,24} \to \mathcal{M}_{0,8}$ be the projection that forgets all marked points except the ones related to $\mathcal{P}$. The fact that the pyramid $\mathcal{P}$ is simple implies that the restriction $\pi_v|_K$ is birational. As recalled in Section 5, there are 4 divisors (together with their complex conjugates) that are relevant for us, namely $\{D_{\text{om}}^v, D_{\text{ou}}^v, D_{\text{em}}^v, D_{\text{eu}}^v\}$. For each of them, we can use the following elementary fact from algebraic geometry: if $f: X \to Y$ is a birational morphism between projective curves, and $E$ is a divisor on $Y$, then the degree of $E$ equals the degree of the pullback of $E$ via $f$. By applying this fact to each of the four divisors, we get the following equations:

$$ \sum_{\pi_v(D_{I,J})=D^v} \deg(D_{I,J}|_K) = \deg(D^v|_{\pi_v(K)}), $$

for each $D^v \in \{D_{\text{om}}^v, D_{\text{ou}}^v, D_{\text{em}}^v, D_{\text{eu}}^v\}$. Thus, we obtain equations linking values of the octahedral flexibility function and of the pyramidal flexibility function. Because of the choice of the notation we made so far, which is equivariant under cyclic permutations of the indices (1,4,5,2,3,6), in order to compute all the $6 \times 4 = 24$ equations, it is enough to compute the equations for the values at oriented pyramids supported on the pyramid $\mathcal{P}$; the other equations are obtained by cyclic permutations of the numerical indices. Therefore, for each divisor in $\mathcal{M}_{0,8}$, say $D_{\text{om}}^1$, we need to compute the divisors $D_{I,J}$ in $\mathcal{M}_{0,24}$ that project to $D_{\text{om}}^v$ via $\pi_v$. Since $D_{\text{om}}^1$ is given by the partition

$$ I_{\text{om}}^{1} = (P_{14}, P_{41}, P_{15}, P_{61}) \quad \text{and} \quad J_{\text{om}}^{1} = (P_{13}, P_{31}, P_{51}, P_{16}), $$

it is enough to compute all the partitions $(I,J)$ of the vertices of $C_{\mathcal{G}_{\text{edg}}}$ that extend the partition $(I_{\text{om}}^1, J_{\text{om}}^1)$. There is exactly one such partition:

$$ I = (P_{4*}, P_{*4}, P_{15}, P_{61}, P_{25}, P_{62}) \quad \text{and} \quad J = (P_{3*}, P_{*3}, P_{51}, P_{16}, P_{52}, P_{26}). $$

The computations for the other divisors in $\mathcal{M}_{0,8}$ are reported in Table 2. From this table we see that the rule yielding the equations is the same as the graphical procedure in Rule R4.

### Justification of Rule R5

This follows from [15, Section 4.1]: the multiplicities of the edges in this paper correspond to the degrees of the maps $r_i^{k\ell}$ in the reference.
<table><caption>**Table 2.** Derivation of graphical procedure in Rule R4.</caption><thead><tr><th>Partition in M<sub>0,8</sub></th><th>Partition(s) in M<sub>0,24</sub></th><th>Oriented pyramid</th><th>Extension(s) to<br>oriented<br>quadrilateral(s)</th><th>Relations</th></tr></thead><tbody><tr><td>(P<sub>14</sub>, P<sub>41</sub>, P<sub>15</sub>, P<sub>61</sub>)</td><td>(P<sub>4*</sub>, P<sub>*4</sub>, P<sub>15</sub>, P<sub>61</sub>, P<sub>25</sub>, P<sub>62</sub>)</td><td>5<br>2</td><td>5<br>2</td><td>p<sub>Y</sub><sup>1</sup> = o<sub>Z</sub><sup>43</sup></td></tr><tr><td>(P<sub>14</sub>, P<sub>41</sub>, P<sub>15</sub>, P<sub>16</sub>)</td><td>(P<sub>4*</sub>, P<sub>*4</sub>, P<sub>15</sub>, P<sub>16</sub>, P<sub>52</sub>, P<sub>62</sub>)<br>(P<sub>4*</sub>, P<sub>*4</sub>, P<sub>15</sub>, P<sub>16</sub>, P<sub>25</sub>, P<sub>26</sub>)</td><td>5<br>2</td><td>5<br>2</td><td>p<sub>Y</sub><sup>1</sup> = o<sub>Y</sub><sup>43</sup> + o<sub>X</sub><sup>43</sup></td></tr><tr><td>(P<sub>15</sub>, P<sub>51</sub>, P<sub>13</sub>, P<sub>41</sub>)</td><td>(P<sub>5*</sub>, P<sub>*5</sub>, P<sub>13</sub>, P<sub>41</sub>, P<sub>23</sub>, P<sub>42</sub>)</td><td>4<br>2</td><td>4<br>3</td><td>p<sub>Y</sub><sup>1</sup> = o<sub>Y</sub><sup>56</sup></td></tr><tr><td>(P<sub>15</sub>, P<sub>51</sub>, P<sub>13</sub>, P<sub>14</sub>)</td><td>(P<sub>5*</sub>, P<sub>*5</sub>, P<sub>13</sub>, P<sub>14</sub>, P<sub>23</sub>, P<sub>24</sub>)<br>(P<sub>5*</sub>, P<sub>*5</sub>, P<sub>13</sub>, P<sub>14</sub>, P<sub>32</sub>, P<sub>42</sub>)</td><td>4<br>2</td><td>4<br>3</td><td>p<sub>Y</sub><sup>1</sup> = o<sub>X</sub><sup>56</sup> + o<sub>Z</sub><sup>56</sup></td></tr></tbody></table>

## References

[1] V. Alexandrov, “The Dehn invariants of the Bricard octahedra”, J. Geom. 99 (2010), no. 1–2, p. 1–13.

[2] V. Alexandrov, R. Connelly, “Flexible suspensions with a hexagonal equator”, Ill. J. Math. 55 (2011), no. 1, p. 127–155.

[3] J. E. Baker, “An analysis of the Bricard linkages”, Mech. Mach. Theory 15 (1980), no. 4, p. 267–286.

[4] ——, “On Bricard’s doubly collapsible octahedron and its planar, spherical and skew counterparts”, J. Franklin Inst. 332B (1995), no. 6, p. 657–679.
[5] ——, "On the skew network corresponding to Bricard's doubly collapsible octahedron", *Proc. Inst. Mech. Eng. C* **223** (2009), no. 5, p. 1213-1221.

[6] G. T. Bennett, "Deformable octahedra", *Proc. Lond. Math. Soc.* **10** (1912), no. 1, p. 309-343.

[7] R. Bricard, "Mémoire sur la théorie de l'octaèdre articulé", *J. Math. Pures Appl.* **3** (1897), p. 113-148.

[8] ——, *Leçons de cinématique. I Cinématique théoretique*, Gauthier-Villars, 1926.

[9] ——, *Leçons de cinématique. II Cinématique appliquée*, Gauthier-Villars, 1927.

[10] A. V. Bushmelev, I. K. Sabitov, "Configuration spaces of Bricard octahedra", *Ukr. Geom. Sb.* **33** (1990), p. 36-41.

[11] A. Cauchy, "Recherche sur les polyèdres — premier mémoire", *J. Éc. Polytech., Math.* **9** (1813), no. 16, p. 66-86, available at https://gallica.bnf.fr/ark:/12148/bpt6k90193x/f13.

[12] R. Connelly, "A counterexample to the rigidity conjecture for polyhedra", *Publ. Math., Inst. Hautes Étud. Sci.* **47** (1977), p. 333-338.

[13] ——, "The rigidity of suspensions", *J. Differ. Geom.* **113** (1978), no. 3, p. 399-408.

[14] A. A. Gaifullin, L. S. Ignashchenko, "Dehn invariant and scissors congruence of flexible polyhedra", *Proc. Steklov Inst. Math.* **302** (2018), no. 1, p. 130-145.

[15] M. Gallet, G. Grasegger, J. Legerský, J. Schicho, "On the existence of paradoxical motions of generically rigid graphs on the sphere", https://arxiv.org/abs/1908.00467, accepted for publication in *SIAM Journal on Discrete Mathematics*, 2019.

[16] M. Ghomi, "Open problems in geometry of curves and surfaces", http://people.math.gatech.edu/~ghomi/Papers/op.pdf, 2020.

[17] H. Gluck, "Almost all simply connected closed surfaces are rigid", in *Geometric topology (Proc. Conf., Park City, Utah, 1974)*, Lecture Notes in Mathematics, vol. 438, Springer, 1974, p. 225-239.

[18] I. Izmestiev, "Classification of flexible Kokotsakis polyhedra with quadrangular base", *Int. Math. Res. Not.* **2017** (2017), no. 3, p. 715-808.

[19] A. Kokotsakis, "Über bewegliche Polyeder", *Math. Ann.* **107** (1933), no. 1, p. 627-647.

[20] H. Lebesgue, "Octaèdres articulés de Bricard", *Enseign. Math.* **13** (1967), p. 175-185.

[21] S. N. Mikhalëv, "Some necessary metric conditions for the flexibility of suspensions", *Vestn. Mosk. Univ.* **77** (2001), no. 3, p. 15-21.

[22] ——, "Isometric realizations of Bricard octahedra of the first and second types with known volumes", *Fundam. Prikl. Mat.* **8** (2002), no. 3, p. 755-768.

[23] G. Nawratil, "Flexible octahedra in the projective extension of the Euclidean 3-space", *J. Geom. Graph.* **14** (2010), no. 2, p. 147-169.

[24] G. Nawratil, A. Rasoulzadeh, "Kinematically redundant octahedral motion platform for virtual reality simulations", in *New Advances in Mechanism and Machine Science*, vol. 22, Springer, 2018, p. 387-400.

[25] G. D. Nelson, "Extending Bricard Octahedra", https://arxiv.org/abs/1011.5193, 2010.

[26] ——, "Generalizations of Bricard Octahedra", https://arxiv.org/abs/1206.2588, 2012.

[27] B. Schulze, "Symmetry as a sufficient condition for a finite flex", *SIAM J. Discrete Math.* **24** (2010), no. 4, p. 1291-1312.

[28] H. Stachel, "Zur Einzigkeit der Bricardschen Oktaeder", *J. Geom.* **28** (1987), no. 1, p. 41-56.

[29] ——, "A kinematic approach to Kokotsakis meshes", *Comput. Aided Geom. Des.* **27** (2010), no. 6, p. 428-437.

[30] ——, "Flexible polyhedral surfaces with two flat poses", *Symmetry* **7** (2015), no. 2, p. 774-787.