# Local Geometry of Polyhedra and Cauchy's Rigidity Theorem

Pascal Honvault

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

► To cite this version:

Pascal Honvault. Local Geometry of Polyhedra and Cauchy's Rigidity Theorem. Journal for Geometry and Graphics, 2023, 27 (1), pp.39-46. hal-04177865

HAL Id: hal-04177865

https://hal.science/hal-04177865

Submitted on 6 Aug 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
# Local Geometry of Polyhedra and Cauchy's Rigidity Theorem

Pascal Honvault

Université du Littoral Côte d'Opale, Calais, France

pascal.honvault@univ-littoral.fr

**Abstract.** We give a formula that relates internal and external angles of polyhedra with some geometric applications, and apply it for a new proof of the celebrated Cauchy's rigidity theorem.

## 1 Introduction and notations

Dealing with polyhedra of genus 0 in the usual three dimensional space, we focus on the relationship between the angles of the faces (the “internal angles”), and the angles between the faces (the “external angles”). Our formula is based on the description of each star of the polyhedron (cf. below) by mean of the quaternionic algebra [4], and the Gram-Schmidt orthonormalisation process. We will restrict our study to triangulated polyhedra, because each face of a given polyhedron can be triangulated. In this case, some external angles between consecutive faces may be flat. Cauchy’s rigidity theorem asserts that, if a convex polyhedron with prescribed faces exists, then it is unique. This means that its external (i.e. dihedral) angles are determined by its internal (i.e. faces) angles. A. Alexandrov extended the uniqueness claim in 1948 as follow: if you glue together a collection of flat, rigid, polygonal faces so that every vertex has a non-negative curvature, then the result is a unique convex polyhedron. Our proof is based on the notion of “degree of freedom” derived from our formula.

The article is organized as follows. In the remainder of this section we fix the notation. In Section 2 we introduce the tools required for the formula, which is presented in Section 3 with some applications, and Section 4 is dedicated to the Cauchy’s rigidity theorem.

Let $P$ be a triangulated polyhedron. For a choosen vertex $p$, there exists at least three adjacent vertices $v_1, v_2, v_3$ such that the two positively oriented triangles $(p, v_1, v_2)$ and $(p, v_2, v_3)$ are some faces of $P$. Let:

* $\delta_2 \in (-2\pi, 0)$ be the dihedral oriented angle (“external angle”) from $(p, v_1, v_2)$ to $(p, v_2, v_3)$, $[p, v_2]$ being oriented from $v_2$ to $p$.

* $\alpha_1 \in (0, \pi)$ be the non-oriented angle at $p$ (“internal angle”) of the face $(p, v_1, v_2)$.
<figure><img src="image_2.png" /><figcaption>Figure 1: Notations</figcaption></figure>

Moreover, we denote $S(p)$ the local polyhedron of vertex $p$ (the “star” of $p$), that is the union of the faces containing $p$, and $d$ the degree of the vertex $p$, see [1, 3] for an elementary presentation. This star, seen as a polyhedron with boundary, is not rigid except when $d = 3$, i.e when $S(p)$ is a tetrahedron with boundary. We use also the notation $S^+(p)$ to design the minimal half-cone of vertex $p$ containing $S(p)$, and $V(P)$ for the set of vertices of $P$.

## 2 Local euclidean conditions

The euclidean parameters presented in Section 1 above are required to define a local polyhedron $S(p)$, i.e to describe the local geometry near each vertex $p$. Indeed, as shown in [4] the internal and external angles $\alpha_i$ and $\delta_i$, $i = 1, \dots, d$ at a vertex $p$ of degree $d$ are related through equations ensuring local constructibility of the polyhedron. We obtain these equations using the quaternionic algebra as follows, by identifying the vector $\overrightarrow{pq_i} = \overrightarrow{pv_i} / \|\overrightarrow{pv_i}\|$ with the unitary corresponding quaternion.

The set of all quaternions $\mathbb{H} = \{q = (\lambda, a, b, c) | \lambda, a, b, c \in \mathbb{R}\}$ is a four-dimensional real algebra, generated by $1 = (1, 0, 0, 0)$, $i = (0, 1, 0, 0)$, $j = (0, 0, 1, 0)$ and $k = (0, 0, 0, 1)$, with the usual addition and multiplication rules: $i^2 = j^2 = k^2 = -1$, $ij = k$, $jk = i$, $ki = j$. If $\lambda = 0$, we say that $q$ is a pure quaternion. In this case, $q = ai + bj + ck$ represents the vector $(a, b, c)$ of the usual space $\mathbb{R}^3$, and the multiplication rule for two pure quaternions becomes: $qq' = -q \cdot q' + q \wedge q'$ where $q \cdot q'$ is the usual dot product and $q \wedge q'$ is the cross product. Finally, the norm of $q$ is defined by $|q| = \sqrt{qq^*} = \sqrt{\lambda^2 + a^2 + b^2 + c^2}$ where $q^* = \lambda - ai - bj - ck$. If $u$ is a unitary pure quaternion and $Q = \cos(\theta/2) + \sin(\theta/2)u$, then the map:

$$q \in \mathbb{R}^3 \mapsto QqQ^* \in \mathbb{R}^3$$

is the rotation of axis $Ru$ and angle $\theta$. Now, denote $f_i$ the faces containing $p$, $\delta_i = \widehat{f_{i-1}}, f_i$ the external angles and $\alpha_i = \widehat{q_i}, p, q_{i+1}$ the internal angles, for $i = 1, \dots, d$ (in fact each index $i$ is replaced by its representative modulo $d$ in $\{1, \dots, d\}$). The unit sphere of centre $p$ intersects $S^+(p)$ in a union of great circles $\widehat{q_i}, \widehat{q_{i+1}}$, and for $q_1 = (0, 1, 0, 0)$, $q_2 = (0, \cos(\alpha_1), \sin(\alpha_1), 0)$
<figure><img src="image_3.png" /><figcaption>Figure 2: Local polyhedron S(p)</figcaption></figure>

in the canonical basis of $\mathbb{H}$ we have (see [4]),

$$q_{i+1} = \frac{\sin(\alpha_{i-1} - \alpha_i)q_i + \sin(\alpha_i)Q_i q_{i-1} Q_i^*}{\sin(\alpha_{i-1})} \quad \text{with} \quad Q_i := \cos\left(\frac{\delta_i}{2}\right) + \sin\left(\frac{\delta_i}{2}\right)q_i, \quad (R)$$

for $i = 1, \dots, d-1$. This formula gives $q_{i+1}$ from $q_{i-1}$, $q_i$, $\alpha_{i-1}$, $\alpha_i$ and $\delta_i$. Thus, for a vertex of degree $d$ we have $d-1$ parameters for the internal angles $\alpha_1, \dots, \alpha_{d-1}$, $d-2$ parameters for the external angles $\delta_1, \dots, \delta_{d-2}$, and $d$ parameters for the edge lengths, that is a total $3d-3$ parameters. Let us rewrite Eq. (R) in terms of matrices. We first make use of the Gram-Schmidt orthonormalisation process.

**Lemma 1.** For $i \in \mathbb{Z}/d\mathbb{Z}$ let

$$e_i := \frac{q_{i-1} - \cos(\alpha_{i-1})q_i}{\sin(\alpha_{i-1})} \quad \text{and} \quad f_i := q_i.$$

Then $(e_i, f_i, e_i \wedge f_i)$ is a direct orthonormal basis.

The proof is a straightforward application of the definitions.

**Lemma 2.** For $i \in \mathbb{Z}/d\mathbb{Z}$ and $Q_i$ as defined in Eq. (R), we have

$$\left\{ \begin{array}{l} Q_i e_i Q_i^* = -\cos(\alpha_i) e_{i+1} + \sin(\alpha_i) f_{i+1}, \\ Q_i f_i Q_i^* = \sin(\alpha_i) e_{i+1} + \cos(\alpha_i) f_{i+1}, \\ Q_i (e_i \wedge f_i) Q_i^* = -e_{i+1} \wedge f_{i+1}. \end{array} \right.$$
*Proof.* By direct calculation

$$
\begin{align*}
Q_i e_i Q_i^* &= Q_i \left( \frac{q_{i-1} - \cos(\alpha_{i-1}) q_i}{\sin(\alpha_{i-1})} \right) Q_i^* \\
&= Q_i \left( \frac{q_{i-1}}{\sin(\alpha_{i-1})} \right) Q_i^* - \frac{\cos(\alpha_{i-1})}{\sin(\alpha_{i-1})} Q_i q_i Q_i^* \\
&= \frac{q_{i+1}}{\sin(\alpha_i)} - \frac{\cos(\alpha_i)}{\sin(\alpha_i)} q_i
\end{align*}
$$

where the last result follows from Eq. (R) and $Q_i q_i Q_i^* = q_i$. On the other hand we can express $q_i$ and $q_{i+1}$ in the basis $(e_{i+1}, f_{i+1})$ by Lemma 1,

$$
\begin{cases}
q_i = \sin(\alpha_i)e_{i+1} + \cos(\alpha_i)f_{i+1}, \\
q_{i+1} = f_{i+1}.
\end{cases}
$$

For the last formula, recall that the map $q \mapsto Q_i q Q_i^*$ is a rotation and therefore

$$
Q_i(e_i \wedge f_i)Q_i^* = (Q_i e_i Q_i^*) \wedge (Q_i f_i Q_i^*). \quad \square
$$

We are now ready to present Eq. (R) in matrix form.

**Proposition 1.** For $i \in \mathbb{Z}/d\mathbb{Z}$, let

$$
S_i := \begin{pmatrix} -\cos(\alpha_i) & \sin(\alpha_i) & 0 \\ \sin(\alpha_i) & \cos(\alpha_i) & 0 \\ 0 & 0 & -1 \end{pmatrix}, \quad R_i := \begin{pmatrix} \cos(\delta_i) & 0 & -\sin(\delta_i) \\ 0 & 1 & 0 \\ \sin(\delta_i) & 0 & \cos(\delta_i) \end{pmatrix},
$$

and $T_i := S_i \cdot R_i$. Then we have,

$$
\begin{pmatrix} e_{i+1} \\ f_{i+1} \\ e_{i+1} \wedge f_{i+1} \end{pmatrix} = T_i \begin{pmatrix} e_i \\ f_i \\ e_i \wedge f_i \end{pmatrix}.
$$

*Proof.* We can rewrite the equations of Lemma 2 as

$$
Q_i \begin{pmatrix} e_i \\ f_i \\ e_i \wedge f_i \end{pmatrix} Q_i^* = S_i \begin{pmatrix} e_{i+1} \\ f_{i+1} \\ e_{i+1} \wedge f_{i+1} \end{pmatrix}.
$$

Since $S_i$ is a rotation of angle $\pi$, this leads to

$$
\begin{pmatrix} e_{i+1} \\ f_{i+1} \\ e_{i+1} \wedge f_{i+1} \end{pmatrix} = S_i \cdot Q_i \begin{pmatrix} e_i \\ f_i \\ e_i \wedge f_i \end{pmatrix} Q_i^*.
$$

On the other hand, we have

$$
\begin{align*}
Q_i \begin{pmatrix} e_i \\ f_i \\ e_i \wedge f_i \end{pmatrix} Q_i^* &= \begin{pmatrix} Q_i e_i Q_i^* \\ Q_i f_i Q_i^* \\ Q_i (e_i \wedge f_i) Q_i^* \end{pmatrix} \\
&= \begin{pmatrix} \cos(\delta_i) e_i - \sin(\delta_i) e_i \wedge f_i \\ f_i \\ \sin(\delta_i) e_i + \cos(\delta_i) e_i \wedge f_i \end{pmatrix} \\
&= R_i \begin{pmatrix} e_i \\ f_i \\ e_i \wedge f_i \end{pmatrix}
\end{align*}
$$

and the proposition follows.

<figure><img src="image_4.png" /></figure>
### 3 Theorem and applications

We may establish a connection between the internal angles $\alpha_i$ and external angles $\delta_i$. The fundamental geometric result is that the composition of all $T_i$ yields the identity.

**Theorem 1.** Let $T_i$ be defined as in Proposition 1. Then

$$T_d \cdots T_1 = \mathrm{Id}_{\mathbb{R}^3}.$$

*Proof.* $T_d \cdots T_1$ is the matrix of a linear map sending the basis $(e_1, f_1, e_1 \wedge f_1)$ onto itself, so it is the identity matrix of $\mathbb{R}^3$. □

The above formula can be rewritten as:

$$R_d \cdot T_{d-1} \cdot T_{d-2} = S_d \cdot (T_{d-3} \cdots T_1)^{-1},$$

and if we denote by $(a_{ij})_{i,j=1}^3$ the coefficients of the left-hand side, we obtain:

$$a_{22} = \cos(\alpha_{d-2}) \cos(\alpha_{d-1}) + \sin(\alpha_{d-2}) \sin(\alpha_{d-1}) \cos(\delta_{d-1}). \quad (1)$$

This equation shows that $\cos(\delta_{d-1})$ can be computed in terms of the other external angles $\delta_1, \dots, \delta_{d-3}$. As the cosine is sufficient in the convex case, it determines only one solution. Then, the other coefficients of the matrix provide us the values of $\cos(\delta_{d-2})$ and $\cos(\delta_d)$, which gives again $\delta_{d-2}$ and $\delta_d$ for a convex star. Thus we have $d-3$ degrees of freedom for the external angles if the internal ones are fixed. In the particular case of the tetrahedron ($d=3$), we find that:

$$\cos(\alpha_1) \cos(\alpha_2) + \sin(\alpha_1) \sin(\alpha_2) \cos(\delta_2) = \cos(\alpha_3)$$

and

$$\frac{\sin(\delta_1)}{\sin(\alpha_2)} = \frac{\sin(\delta_2)}{\sin(\alpha_3)}.$$

Thus we can express the cosines of the external angles in terms of the internal adjacent angles, and the sines of the external angles are proportional to the sines of the opposite internal angles.

Finally, let us look at the angles of a regular star with $n$ faces, for which external angles are equal, as well as internal ones. Note respectively $\delta$ and $\alpha$ these common values. The equation of Theorem 1 becomes:

$$T^n = \mathrm{Id}_{\mathbb{R}^3} \qquad (2)$$

where:

$$T = \begin{pmatrix} -\cos(\alpha) \cos(\delta) & \sin(\alpha) & \cos(\alpha) \sin(\delta) \\ \sin(\alpha) \cos(\delta) & \cos(\alpha) & -\sin(\alpha) \sin(\delta) \\ -\sin(\delta) & 0 & -\cos(\delta) \end{pmatrix}.$$

It is the matrix of a rotation of angle $\theta = \pm \arccos((\mathrm{tr}(T) - 1)/2)$ where $\mathrm{tr}(T) = \cos(\alpha) - \cos(\delta) - \cos(\alpha) \cos(\delta) = 2 \sin^2(\delta/2) \cos^2(\alpha/2) - 1$ is the trace of $T$. Then, equation (2) leads, after easy calculations, to the well-known formula:

$$\sin(\delta/2) \cos(\alpha/2) = \cos(\pi/n).$$
# 4 Cauchy's rigidity theorem

The original Cauchy's rigidity theorem asserts that if two 3-dimensional convex polyhedra $P$ and $P'$ are combinatorially equivalent with corresponding facets being congruent, then the angles between corresponding pairs of adjacent facets are equal (and thus $P$ is congruent to $P'$). In addition, Alexandrov's theorem states that each convex metric defines a convex polyhedron uniquely. A constructive (algorithmic) proof of the theorem was given by A.I. Bobenko and I. Izmestiev in [2]. We give here a new proof of the rigidity theorem using Theorem 1 by specifying the notion of “degree of freedom” mentioned above.

We first enlarge the family of polyhedra we'll be working in. We will say that a polyhedron $Q$ is a “convex polyhedron with boundary” if there exists:

* A convex polyhedron $P$ and faces $F_1, \dots, F_l$ of $P$ such that:

$$Q = P \setminus \bigcup_{i=1, \dots, l} F_i.$$

* A homeomorphism from $Q$ to a hard polygon (connected without hole) $Q'$ of $\mathbb{R}^2$. Moreover, we assume that $bQ'$ has the same number (at least 4) of vertices as $bQ$.

So, a convex polyhedron with boundary (bounded or not) can be viewed as a “defoliation” of a convex polyhedron, the result being topologically equivalent to a hard polygon in the plane. Remark that the induced triangulation of $Q'$ is in general composed of curvilinear triangles. Nevertheless, we drew real triangles for a sake of simplicity (see Figure 3).

Let $P$ be a convex polyhedron, with or without boundary. We try to move its external angles without changing the internal ones and the convexity. If it is impossible, we will say that the degree of freedom of $P$ is 0, and write $\mathrm{Df}(P) = 0$. Otherwise, let $E$ be the number of edges of $P$ (for instance, if $\mathrm{Card}(V(P)) = n + 1 \ge 4$, then $E = 3(n - 1)$ when $P$ has no boundary: see [5]). We can number the (non oriented) edges of $P$ from 1 to $E$ and consider the list $L = (\cos(\delta_i))_{i=1}^E$ of the cosines of external angles.

**Definition 1.** Let $P$ be a convex polyhedron (with or without boundary).

1. A sublist $l \subset L$ will be called a “generating list” if it allows us to know all the external angles of $P$

2. $\mathrm{Df}(P) = \min\{\mathrm{Card}(l) \min l \subset L \text{ generating list}\}$ will be called the degree of freedom of $P$.

Thus $P$ is rigid if and only if $\mathrm{Df}(P) = 0$, and that's we want to prove for compact convex polyhedra. Following the discussion of Section 3, we can give a first calculation of this number.

**Proposition 2.** Let $P = S(p)$ be a convex star of degree $d$.

1. $\mathrm{Df}(P) = d - 3$.

2. Let $Q = P \setminus F$ where $F$ is any face of $P$. Then $\mathrm{Df}(Q) = d - 2$.

*Proof.* For the first point, as mentioned in the discussion following Equation (1), $d - 3$ cosines are necessary and suffisant to identify the last three cosines, and thus all external angles if the star is convex. For the second point, we have just to precise $d - 2$ external angles, and this is done by the corresponding cosines in the convex case. $\square$

Thus $\mathrm{Df}(P) = \mathrm{Df}(Q) - 1$ in the second point of Proposition 2. A similar result will also appear in the proof of the following theorem.

Denoting the set of the vertices of $bQ$ by $V(bQ)$, we can generalize Proposition 2 as follows.
<figure><img src="image_5.png" /><figcaption>Figure 3: Convex polyhedron with boundary $Q$.</figcaption></figure>

**Theorem 2.** Let $Q$ be a convex polyhedron with boundary, then

$$ \mathrm{Df}(Q) = \mathrm{Card}(V(bQ)) - 3. $$

*Proof.* By induction on the number $N$ of faces of $Q$.

$N=2$: $Q$ comes, for instance, from a tetrahedron $P$ from which we have removed some face.

$bQ$ has 4 vertices and $\mathrm{Df}(Q) = 4 - 3 = 1$ because there is only one cosine to know.

$N \Rightarrow N + 1$: Let $Q$ be a convex polyhedron with boundary and $N + 1$ faces ($N \ge 2$)

Observe first that, in any triangulation of a hard polygon $P$, there exists a face with three consecutive vertices on the boundary (first case below) or a face with two consecutive vertices on the boundary and the third in the interior of $P$ (second case below). This is because, in order to add a face to a triangulation, either we must add a point to the set of vertices or just connect two points of the boundary.

**First Case:** $Q'$ has a face formed with three consecutive vertices of $bQ'$.

We remove the corresponding face on $Q$. This leads to a convex polyhedron with boundary $\tilde{Q}$ of $N$ faces. So his degree of freedom is $\mathrm{Df}(\tilde{Q}) = d - 3$ where $d = \mathrm{Card}(V(b\tilde{Q}))$. But $\mathrm{Df}(Q) = \mathrm{Df}(\tilde{Q}) + 1$ because we just have to specify the cosine of one more external angle (around $(q'_2, q'_l)$ in the Figure 4) in the convex case. We then obtain:

$$ \mathrm{Df}(Q) = \mathrm{Card}(V(bQ)) - 3. $$

**Second Case:** $Q'$ has a face formed with two consecutive vertices of $bQ'$ and some internal point of $Q'$. We choose some boundary face ($(q'_1, p'_1, q'_l)$ in Figure 4) and delete the corresponding one $(q_1, p_1, p_l)$ on $Q$, leading again to a convex polyhedron with boundary $\tilde{Q}$ of $N$ faces. Recall that $\mathrm{Df}(\tilde{Q})$ is the minimal number of $\cos(\delta_i)$ that determines all external angles of $\tilde{Q}$. In order to close the star $S(p_1)$ with the right internal angle $\tilde{q_1p_1q_1}$, we must fix some of these $\cos(\delta_i)$, so we lose one degree of freedom for $Q$. Thus we have

$$ \mathrm{Df}(Q) = \mathrm{Df}(\tilde{Q}) - 1 = \mathrm{Card}(V(b\tilde{Q})) - 4 = \mathrm{Card}(V(bQ)) - 3. \quad \square $$
<figure><img src="image_6.png" /><figcaption>Figure 4: Iteration step.</figcaption></figure>

We are now able to prove the main theorem (Cauchy's rigidity theorem).

**Theorem 3.** Let $P$ be a compact convex polyhedron. Then $Df(P) = 0$.

*Proof.* We begin with a triangulated compact convex polyhedron $P$. By removing a face $T$, we have a convex polyhedron with boundary $Q = P \setminus T$ such that $Df(Q) = 0$ by Theorem 2. But $P$ has the same degree of freedom, so the theorem is proved in this case. For the general case, it is enough to triangulate each face and to apply the foregoing reasoning. $\square$

## References

[1] A. D. ALEXANDROV: *Convex Polyhedra*. Springer, 2005.

[2] A. BOBENKO and I. IZMESTIEV: *Alexandrov's theorem, weighted Delaunay triangulations, and mixed volumes*. Ann. Inst. Fourier (Grenoble) **58**(2), 447-505, 2008. doi: 10.5802/aif.2358.

[3] S. L. DEVADOSS and J. O'RURKE: *Discrete and Computational Geometry*. Princeton University Press, 2011.

[4] P. HONVAULT: *Similarities on a Sphere*. Forum Geom. **16**, 313-316, 2016.

[5] P. HONVAULT: *Combinatorics of Triangulated Polyhedra*. J. Geom. Graph. **22**(1), 41-47, 2018.

Received September 22, 2022; final form May 13, 2023.