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

HAL
open science

# An algorithmic approach to Rupert's problem

Jakob Steininger, Sergey Yurkevich

► To cite this version:

Jakob Steininger, Sergey Yurkevich. An algorithmic approach to Rupert's problem. Mathematics of Computation, In press. hal-03504867

HAL Id: hal-03504867

https://inria.hal.science/hal-03504867

Submitted on 30 Jan 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.

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

Distributed under a Creative Commons Attribution 4.0 International License
# An algorithmic approach to Rupert's problem

Jakob Steininger, Sergey Yurkevich

January 26, 2023

## Abstract

A polyhedron $\mathbf{P} \subset \mathbb{R}^3$ has Rupert's property if a hole can be cut into it, such that a copy of $\mathbf{P}$ can pass through this hole. There are several works investigating this property for some specific polyhedra: for example, it is known that all 5 Platonic and 9 out of the 13 Archimedean solids admit Rupert's property. A commonly believed conjecture states that every convex polyhedron is Rupert. We prove that Rupert's problem is algorithmically decidable for polyhedra with algebraic coordinates. We also design a probabilistic algorithm which can efficiently prove that a given polyhedron is Rupert. Using this algorithm we not only confirm this property for the known Platonic and Archimedean solids, but also prove it for one of the remaining Archimedean polyhedra and many others. Moreover, we significantly improve on almost all known Nieuwland numbers and finally conjecture, based on statistical evidence, that the Rhombicosidodecahedron is in fact not Rupert.

## 1 Introduction

Undoubtedly the following fact is surprising when being first encountered with:

> It is possible to cut a hole in the unit cube such that another unit cube can pass through it.

Indeed, Prince Rupert of the Rhine won a wager in the 17th century by betting on the validity of this claim. An elegant and simple way to see why this assertion is true is presented in Figure 1; indeed, it is easy to verify that the projection of the unit cube in the direction of a main diagonal yields a regular hexagon of side length $\sqrt{2}/3$ and the unit square (a different projection of the cube) fits inside that hexagon. These two observations are already enough to win Rupert's bet, however at the same time they also open a whole world of interesting questions, conjectures and studies.

For instance, a subsequent natural question was investigated by Pieter Nieuwland a century after Prince Rupert's death:

> How large can the second cube maximal be in order to still fit inside a hole of the unit cube?
<figure><img src="image_3.png" /><figcaption>Figure 1: The unit square fits inside the regular hexagon of side length $\sqrt{2}/3$.</figcaption></figure>

Quite surprisingly, Nieuwland could show that in terms of this question, the solution presented in Figure 1 is not optimal. If viewed from a slightly different angle, a “tunnel” inside the unit cube can be constructed such that a cube with side length 1.06 can be moved through it<fnref n="1" />. Nieuwland could even find the exact maximal side length of the “fitting” cube which turns out to be $3\sqrt{2}/4 \approx 1.06066$ (for a proof of this fact see [BGHJ21]); later this constant was given the name *Nieuwland's constant*.

Analogously to the cube, Rupert's property can be defined for any polyhedron in $\mathbb{R}^3$. A somewhat imprecise definition of this property is: a polyhedron $\mathbf{P} \subset \mathbb{R}^3$ has Rupert's property if a hole (with the shape of a straight tunnel) can be cut into it such that a copy of $\mathbf{P}$ can be moved through this hole. In the next section we will first recall a rigorous (but rather non-transparent) definition from [JWY17] (see Definition 2) and then an easy end explicit reformulation using projections to $\mathbb{R}^2$ (in the spirit of Figure 1). In the same way, the *Nieuwland number* can also be generalized for any polyhedron $\mathbf{P}$, see Definition 3.

For a historic overview on these questions we refer to [Sch50]; for more recent contributions see [Scr68, JWY17, CYZ18, Hof19, Lav19]. Scriba showed in 1968 that the Tetrahedron and Octahedron have Rupert's property. Half a century later and hence already quite recently, Jerrard, Wetzel and Yuan, the authors of the second paper, built on Scriba's work and investigated Rupert's property of Platonic solids further: they could prove that all five of them are Rupert. Moreover, they also gave lower bounds on Nieuwland numbers for them. One year later Chai, Yuan and Zamfirescu looked at Archimedean solids from “Rupert’s perspective”, showed that 8 out of 13 have Rupert’s property and also provided lower bounds for the corresponding Nieuwland numbers. Finally another year later, Hoffmann [Hof19] and Lavau [Lav19] showed in 2019 Rupert’s property for the Truncated tetrahedron, thus enhancing the number to 9 out of 13. Theorem 2 in the present work “resolves” the Truncated icosidodecahedron, pushing the number of settled down Archimedean solids to 10.

<footnote n="1">¹The side length of the blue square in Figure 1 is at most $\sqrt{6} - \sqrt{2} \approx 1.0353$.</footnote>
After the submission of this work, a preprint [TW22] by Tonpho and Wichiramala appeared on the internet in which the authors study Rupert's problem in $n$ dimensions and also quote results from a master thesis by Tonpho [Ton18] from 2018. There is a relatively similar to parts of the present work (but solely numerical) approach is used to find solutions to Rupert's problem for all Platonic and some Archimedean solids. Even more recently, Fredriksson [Fre22] built on the ideas from the present work, applied the algorithm for placements of convex polygons from [AAS98], and used non-linear optimization techniques like SLSQP and Nelder-Mead in order to obtain new results. Most notably, he was able to prove that the Catalan solids the Triakis tetrahedron and the Pentagonal icositetrahedron have Rupert's property. Finally, an extended abstract of the present work was published in the proceedings of the conference IS-SAC 2022 [SY22]. There we summarize a selection of our findings and provide explicit conjectural equations for the open Question 3 in §4.4.

## Contribution and structure of the paper

In Section 2 we introduce the necessary elementary definitions and concepts. We rigorously define Rupert's property of a polyhedron $\mathbf{P}$ and then show that it is equivalent to the existence of a septuple of real numbers satisfying a simple property depending on $\mathbf{P}$. In the same section we recall the notion of the Nieuwland number of a polyhedron.

Contrary to the existing methods for proving that a polyhedron has Rupert's property, we present a new algorithmic approach to this problem in Section 3. Roughly speaking, our probabilistic (Las Vegas type) algorithm draws pairs of random projections of a given polyhedron and decides whether the chosen directions yield a solution – if they do not, the algorithm draws another pair, and so on. Moreover, by constructing a deterministic algorithm, we also prove that Rupert's question for most interesting polyhedra is algorithmically decidable. However, we also infer that at least for now this algorithm is only of theoretical value, since it is not yet practical because of its bad complexity. In the same section we explain a simple algorithmic idea which allows to significantly improve on known lower bounds for the Nieuwland numbers. Finally, we also define the concept of the *Rupertness*, measuring the likelihood for finding a solution to Rupert's problem of a (centrally symmetric) polyhedron.

It turns out that in practice our probabilistic approach finds solutions to Rupert's problem very efficiently: all 5 Platonic and 10 Archimedean solids can be resolved in less than one minute on a regular computer. We present our new explicit results in Section 4: we prove that the Truncated icosidodecahedron is Rupert (Theorem 2), show this property for many Catalan and Johnson solids (Theorems 3 and 4), and significantly improve on all known Nieuwland numbers (Table 1), except the Cube, Octahedron and Cuboctahedron. As mentioned, the Nieuwland constant for the Cube is proven to be optimal and the Nieuwland numbers for the Octahedron and Cuboctahedron are conjectured to be optimal as well [JWY17, p. 91]; our findings support this conjecture.

In [JWY17, p. 87] the authors suggest the possible non-existence of “non-
Rupert” convex polyhedra in $\mathbb{R}^3$ and infer that in any case any such example would be of considerable interest. The authors of [CYZ18] go even further and state the following conjecture.

**Conjecture 1** (Chai, Yuan, Zamfirescu [JWY17, CYZ18]). Every convex polyhedron has Rupert's property.

Also in Section 4 we provide statistical evidence for a counter-example to this conjecture (Conjecture 2).

Appendix 5 contains our solutions for Platonic, Archimedean and Catalan solids and corresponding lower bounds for the Nieuwland numbers. All these solutions are given in a uniform way in one table. Together with the exact coordinates for the Platonic and Archimedean polyhedra we used (also in the appendix) these solutions can be easily verified by the reader; for the coordinates of Catalan solids we refer to www.dmccooey.com/polyhedra/. For the reader's convenience, we also provide our source code written in the programming language R and the software Maple: www.github.com/Vog0/RupertProblem.

## 2 Preliminaries

In order to avoid confusion, let us first collect some elementary definitions.

**Definition 1.** The following classical notions we will use throughout the text:

* A polyhedron, in this text usually denoted by $\mathbf{P}$ or $\mathcal{Q}$, is a finite non-degenerate set of points in $\mathbb{R}^3$ in convex position. We denote by $\bar{\mathbf{P}}$ the smallest convex set containing all points of $\mathbf{P}$ (i.e. including the interior) and by $\mathbf{P}^\circ$ its interior.

* A polygon, usually denoted by $\mathcal{P}$ or $\mathcal{Q}$, is a finite set of points in $\mathbb{R}^2$ that not all lie on the same line. Similar to polyhedra, we denote by $\bar{\mathcal{P}}$ the convex hull of $\mathcal{P}$ and by $\mathcal{P}^\circ$ the interior of $\bar{\mathcal{P}}$.

* We call $\Sigma$ the set of isometries of $\mathbb{R}^2$ that do not include reflections, i.e. length preserving mappings from $\mathbb{R}^2$ onto itself not including reflections. It is well-known that any element $\sigma \in \Sigma$ can be represented by a rotation about the origin followed by a translation, and also the other way around. We will let $\sigma \in \Sigma$ act on a set of points in the plane elementwise. Furthermore, we parametrize all translations of $\mathbb{R}^2$ by $T_{x,y}: \mathbb{R}^2 \to \mathbb{R}^2$,

$$T_{x,y}((a,b)^t) := (a+x,b+y)^t.$$

Similarly, the rotation mapping $R_\alpha: \mathbb{R}^2 \to \mathbb{R}^2$ is defined by

$$R_\alpha((a,b)^t) := \begin{pmatrix} \cos(\alpha) & -\sin(\alpha) \\ \sin(\alpha) & \cos(\alpha) \end{pmatrix} \begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} a \cos(\alpha) - b \sin(\alpha) \\ a \sin(\alpha) + b \cos(\alpha) \end{pmatrix}.$$

Clearly, $T_{x,y}$ translates points in $\mathbb{R}^2$ by the vector $(x, y)^t$ and $R_\alpha$ rotates a point counter-clockwise by an angle $\alpha$ about the origin.
* We say that a polygon $\mathcal{P}$ lies inside a polygon $Q$ if $\mathcal{P} \subset Q^\circ$. Moreover, we say that a polygon $\mathcal{P}$ fits in a polygon $Q$ if there exists an isometry $\sigma \in \Sigma$ such that $\sigma(\mathcal{P})$ lies inside $Q$.

* A polyhedron $\mathbf{P}$ is called centrally symmetric with respect to $O_{\mathbf{P}} \in \mathbb{R}^3$ if for each $A \in \mathbf{P}$, the point $2O_{\mathbf{P}} - A$ belongs to $\mathbf{P}$. Analogously, a polygon $\mathcal{P}$ is centrally symmetric about $O_{\mathcal{P}} \in \mathbb{R}^2$ if $2O_{\mathcal{P}} - A \in \mathcal{P}$ for each point $A \in \mathcal{P}$. A polyhedron or a polygon is called point symmetric if it is centrally symmetric with respect to some point.

Usually Rupert's property is explained as follows: a polyhedron $\mathbf{P}$ is Rupert if a hole with the shape of a straight tunnel can be cut into it such that a copy of $\mathbf{P}$ can be moved through this hole. While this definition explains well why this notion is geometrically intriguing, it is admittedly not quite mathematically precise. A rigorous definition is given for example in [JWY17] and we will state here a slightly reformulated version. First, let us set the notion of a set with a hole: we mean a set of points in $\mathbb{R}^3$ whose interior is connected but not simply connected. Given a polyhedron $\mathbf{Q}$, we may move it along a straight line in the direction of a vector $v \in \mathbb{R}^3$; taking the convex hull of the union of all these translations we obtain the set $\{\overline{\mathbf{Q}} + tv \in \mathbb{R}^3: t \in \mathbb{R}\}$. Rupert's property of a polyhedron may be defined as follows (see [JWY17]).

**Definition 2** (Rupert's property). A polyhedron<fnref n="2" /> $\mathbf{P}$ has Rupert's property (or $\mathbf{P}$ is Rupert) if there exists a polyhedron $\mathbf{Q}$ of the same shape and size as $\mathbf{P}$ and a vector $v \in \mathbb{R}^3$ such that $\overline{\mathbf{P}} \setminus \{\overline{\mathbf{Q}} + tv \in \mathbb{R}^3: t \in \mathbb{R}\}$ is a set with a hole. Rupert's problem is the task to decide whether a given polyhedron is Rupert.

Luckily, the definition of Rupert's property can be reformulated in a much easier criterion on the level of projections to the plane $\mathbb{R}^2$. The idea is that looking from the direction of the vector $v$ in the definition above, we must see the two shadows (normal projections) of the polyhedra $\mathbf{P}, \mathbf{Q}$ as two polygons $\mathcal{P}, \mathcal{Q}$, one lying inside the other: $\mathcal{P} \subset \mathcal{Q}^\circ$. This is the core of Theorem 1 in [JWY17] and the reason why Figure 1 in the introduction is a proof that the Cube is Rupert. Now we will make this idea even more explicit.

As we are dealing with projections, we first parametrize the set of all those. We define the mapping $X: [0, 2\pi) \times [0, \pi] \to \{x \in \mathbb{R}^3: \|x\| = 1\}$ by

$$X(\theta, \varphi) := (\cos \theta \sin \varphi, \sin \theta \sin \varphi, \cos \varphi)^t. \qquad (1)$$

This gives a way to parametrize the points on the 3-dimensional sphere in terms of two unknowns. It is well-known that drawing $\theta$ uniformly on $(0, 2\pi)$, that is $\theta \sim U(0, 2\pi)$, and $\varphi \sim \arccos(U(-1, 1))$ results in a uniformly distributed $X(\theta, \varphi)$ on the unit sphere.

<footnote n="2">²Note that, as defined in Definition 1, a polyhedron in this text is always convex.</footnote>
<figure><img src="image_4.png" /><figcaption>Figure 2: Meaning of $\theta$ and $\varphi$ in (1) in spherical coordinates.</figcaption></figure>

It follows that a projection onto a plane orthogonal to $X(\theta, \varphi)$ can be given by

$$ M_{\theta, \varphi} := \begin{pmatrix} -\sin(\theta) & \cos(\theta) & 0 \\ -\cos(\theta) \cos(\varphi) & -\sin(\theta) \cos(\varphi) & \sin(\varphi) \end{pmatrix}. \quad (2) $$

Like the mappings $R_\alpha, T_{x,y}$ we extend the map $M_{\theta,\varphi}$ to act on sets of points in $\mathbb{R}^3$ elementwise. Thus, all parallel projections of the vertices of a polyhedron $\mathbf{P}$ onto $\mathbb{R}^2$ can now be expressed as

$$ (T_{x,y} \circ R_{\alpha} \circ M_{\theta,\varphi})(\mathbf{P}). $$

It follows that an equivalent characterization of Rupert's property for a polyhedron $\mathbf{P}$ is the existence of two quintuples of parameters $(x_i, y_i, \alpha_i, \theta_i, \varphi_i)$, $i = 1, 2$, such that

$$ (T_{x_1, y_1} \circ R_{\alpha_1} \circ M_{\theta_1, \varphi_1})(\mathbf{P}) \subset (T_{x_2, y_2} \circ R_{\alpha_2} \circ M_{\theta_2, \varphi_2})(\mathbf{P})^{\circ}. $$

In other words, the polygon on the left-hand side lies inside the polygon on the right-hand side and both polygons are obtained by some orthogonal projection, rotation and translation of $\mathbf{P}$. Moreover, this condition can be rewritten as

$$ (R_{-\alpha_2} \circ T_{x_1-x_2, y_1-y_2} \circ R_{\alpha_1} \circ M_{\theta_1, \varphi_1})(\mathbf{P}) \subset M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ}. $$

Note, that $R_{-\alpha_2} \circ T_{x_1-x_2, y_1-y_2} \circ R_{\alpha_1}$ is an isometry on $\mathbb{R}^2$ and thereby may be expressed as the composition of a single rotation and a translation. Hence, we obtain the following equivalent characterization of Rupert's property.

**Proposition 1.** A polyhedron $\mathbf{P}$ satisfies Rupert's property, if and only if there exist 7 parameters $x, y \in \mathbb{R}$, $\alpha, \theta_1, \theta_2 \in [0, 2\pi)$ and $\varphi_1, \varphi_2 \in [0, \pi]$ such that

$$ (T_{x,y} \circ R_{\alpha} \circ M_{\theta_1, \varphi_1})(\mathbf{P}) \subset M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ}. \quad (3) $$
Clearly, any solution of Rupert's property can be translated into these 7 parameters and vice versa. Hence, we will encode a solution to Rupert's problem by a vector $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$.

Note that from Proposition 1 it is evident that Rupert's property is a statement about containment of points inside an open set. Since the projection, rotation and translation mappings are continuous, it follows that if there exists a solution to Rupert's problem $v = (x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$, then there must exist an open ball in $\mathbb{R}^7$ around $v$ of solutions. In other words, if a solution exists, then there is a set of solutions with positive (Lebesgue) measure. We will use this observation several times throughout the text.

Now let us recall the Nieuwland number of a polyhedron. If $\mathbf{P}$ is Rupert, then by the consideration above there exists a hole in it in which even a slightly larger copy of $\mathbf{P}$ can pass through. Naturally, one may ask for the largest polyhedron similar to $\mathbf{P}$ which can also be moved through such a hole. In other words, what is the largest (supremum) number $\nu$ for which there exists a copy of $\mathbf{P}$, say $\mathbf{Q}$, such that $\nu\mathbf{Q}$ can be moved in a straight tunnel through $\mathbf{P}$? This number $\nu$ is called the Nieuwland number of $\mathbf{P}$. It can be defined as in Definition 2, but in view of the more concrete and useful equivalent formulation in Proposition 1, we will define it directly via projections.

**Definition 3 (Nieuwland number).** The Nieuwland number $\nu = \nu(\mathbf{P})$ of a polyhedron $\mathbf{P}$ is the supremum over all $\mu \in \mathbb{R}$ for which there exist $x, y \in \mathbb{R}$, $\alpha, \theta_1, \theta_2 \in [0, 2\pi)$ and $\varphi_1, \varphi_2 \in [0, \pi]$ such that

$$ (T_{x,y} \circ R_{\alpha} \circ M_{\theta_1, \varphi_1})(\mu\mathbf{P}) \subset M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ}. \quad (4) $$

Clearly, $\mathbf{P}$ is Rupert if and only if $\nu(\mathbf{P}) > 1$. We note that a typo in [JWY17, p. 88] incorrectly states “$\ge$” in this inequality. In fact, $\nu(\mathbf{P}) \ge 1$ holds for every polyhedron, since if $\mu < 1$ in (4), one can take all 7 parameters to be equal to 0 (in other words $\mathbf{P} = \mathbf{Q}$) and the inclusion holds. As mentioned in the introduction, for a Cube $\mathbf{P}$ the Nieuwland number $\nu(\mathbf{P})$ is proven to be $3\sqrt{2}/4$.

Now we will prove that in the case when the polyhedron is point symmetric, the number of parameters in Proposition 1 can be reduced to 5. This significantly simplifies the algorithms in the next section in the point symmetric case.

**Proposition 2.** *The following two statements hold:*

1) Let $\mathcal{P}$ and $\mathcal{Q}$ be convex polygons which are centrally symmetric around $O_{\mathcal{P}}$ and $O_{\mathcal{Q}}$ respectively. Then $\mathcal{P}$ fits in $\mathcal{Q}$ if and only there exists a $\sigma \in \Sigma$ such that $\sigma(\mathcal{P})$ lies inside $\mathcal{Q}$ and $\sigma(O_{\mathcal{P}}) = O_{\mathcal{Q}}$.

2) Let $\mathbf{P}$ by a polyhedron that is centrally symmetric about the origin. Then $\mathbf{P}$ satisfies Rupert's property if and only if there are 5 parameters $\alpha \in \mathbb{R}$, $\theta_i \in [0, 2\pi)$ and $\varphi_i \in [0, \pi]$ for $i = 1, 2$ such that

$$ (R_{\alpha} \circ M_{\theta_1, \varphi_1})(\mathbf{P}) \subset M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ}. $$
*Proof.* For the first statement it suffices to show that if there exists $\sigma \in \Sigma$ such that $\sigma(P)$ lies inside $Q$, then there also exists $\sigma' \in \Sigma$ such that $\sigma'(P)$ is inside $Q$ and $\sigma'(O_P) = O_Q$. Let $\tau$ be the translation in $\mathbb{R}^2$ which maps $\sigma(O_P)$ to $O_Q$. We claim that $\sigma' = \tau \circ \sigma$ satisfies the required conditions.

Obviously, $\sigma'(O_P) = \tau(\sigma(O_P)) = O_Q$, hence we are left to show that $\sigma'(O_P)$ lies inside $Q$. Let $P'$ be the reflection of $\sigma(P)$ around $O_Q$. Because $\sigma(P)$ is inside $Q$ and $Q$ is centrally symmetric, $P'$ also lies inside $Q$. Since $P$ is centrally symmetric, it follows that $P'$ can be obtained from $\sigma(P)$ by a translation. Moreover, $\sigma'(P)$ is given by the aritmetic mean between $\sigma(P)$ and this translation $P'$. Now convexity of $Q$ implies that $\sigma'(P)$ lies inside $Q$.

We will now prove the second assertion. As both $M_{\theta,\varphi}$ and $R_\alpha$ are linear mappings, one has for any given point $p \in \mathbb{R}^3$ that

$$ (R_{\alpha} \circ M_{\theta,\varphi})(-p) = -(R_{\alpha} \circ M_{\theta,\varphi})(p). $$

Therefore, any pair of antipodal points of the polyhedron is mapped to antipodal points in $\mathbb{R}^2$, resulting in a centrally symmetric polygon about the origin. So the claim follows from the first assertion. $\square$

In order to keep the notation of Proposition 1, we will encode a solution to Rupert's problem of a point symmetric polyhedron by a 7-dimensional vector $(0, 0, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$ as well.

# 3 The algorithms

In this section we present algorithmic ideas for proving or disproving that a given polyhedron $P$ is Rupert. We start by introducing a naive algorithm which searches for a solution to Rupert's problem for a given polyhedron. Then we gradually expand its sophistication and significantly improve the performance. Furthermore, we introduce a method for finding solutions with a high Nieuw-land number. We note that all practical algorithms we present are probabilistic of Las Vegas type: If a solution is found, it is easy to check (rigorously) its correctness, however the search running time is probabilistic and cannot be known for sure in advance. We explain another viewpoint in §3.3, where we construct a deterministic algorithm, thus prove that Rupert's problem is algorithmically decidable. However, we also explain that in practice this algorithm is not (yet) useful. Finally, in §3.4 we introduce the probabilistic concept of the *Rupertness* of a (point symmetric) polyhedron as the likelihood of finding a solution to the corresponding Rupert's problem.

## 3.1 Probabilistic algorithm for solving Rupert's problem

Proposition 1 states that a polyhedron $P$ satisfies Rupert's property if and only if there are $x, y \in \mathbb{R}$, $\alpha, \theta_i, \in [0, 2\pi)$ and $\varphi_i \in [0, \pi]$ for $i = 1, 2$ such that

$$ (T_{x,y} \circ R_{\alpha} \circ M_{\theta_1,\varphi_1})(\mathbf{P}) \subset M_{\theta_2,\varphi_2}(\mathbf{P})^{\circ}. $$
It seems at first that the two parameters $x$ and $y$ are unbounded. For the first upcoming algorithm it is however necessary to bound all parameters. Hence, we prove the following proposition.

**Proposition 3.** Let $\mathbf{P}$ be a polyhedron containing the origin and let $R \in \mathbb{R}$ be the maximal distance of its vertices to the origin. Assume that a solution to the corresponding Rupert's problem

$$ (T_{x,y} \circ R_{\alpha} \circ M_{\theta_1, \varphi_1})(\mathbf{P}) \subset M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ}. $$

is given. Then $|x|, |y| \le R$.

*Proof.* As $\mathbf{P}$ lies inside the ball with radius $R$ centered at the origin, we have

$$ M_{\theta_2, \varphi_2}(\mathbf{P}) \subset \{a \in \mathbb{R}^2 : \|a\| \le R\}. $$

Since the origin is in the interior of $\mathbf{P}$, we have

$$ (T_{x,y} \circ R_{\alpha} \circ M_{\theta_1, \varphi_1})((0,0,0)^t) = (T_{x,y} \circ R_{\alpha})((0,0)^t) = T_{x,y}((0,0)^t) = (x,y)^t, $$

hence

$$ (x, y)^t \in M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ} \subset \{a \in \mathbb{R}^2 : \|a\| \le R\}. $$

Therefore $x^2 + y^2 \le R^2$ and in particular $|x|, |y| \le R$. $\square$

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

Now the interval for each of the 7 parameters in (3) is bounded and we can create a first version of our probabilistic deciding algorithm.

**Algorithm 1**

Input: A polyhedron $\mathbf{P}$.

Output: The solution encoded by $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$ if $\mathbf{P}$ is Rupert.

(1) Find $R$ like in Proposition 3. Draw $x$ and $y$ uniformly in $[-R, R]$, $\theta_1, \theta_2$ and $\alpha$ uniformly in $[0, 2\pi)$, and $\varphi_1, \varphi_2$ uniformly in $[0, \pi]$.

(2) Construct the two $3 \times 2$ matrices $A$ and $B$ corresponding to the linear maps $R_{\alpha} \circ M_{\theta_1, \varphi_1}$ and $M_{\theta_2, \varphi_2}$. Compute the two projections of $\mathbf{P}$ given by $\mathcal{P}' := T_{x,y}(A \cdot \mathbf{P}) = A \cdot \mathbf{P} + (x, y)$ and $\mathcal{Q}' := B \cdot \mathbf{P}$.

(3) Find vertices on the convex hulls of $\mathcal{P}'$ and $\mathcal{Q}'$; denote them by $\mathcal{P}$ and $\mathcal{Q}$.

(4) Decide whether $\mathcal{P}$ lies inside of $\mathcal{Q}$ by checking each vertex of $\mathcal{P}$.

(5) If Step (4) yields a True, return the solution $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2)$. Otherwise, repeat Steps (1)-(5).

Here is a pseudocode for this algorithm:
**Algorithm 1** Probabilistic algorithm for deciding whether **P** is Rupert.

**Input:** Polyhedron **P** given by an $N \times 3$ matrix for some $N \in \mathbb{N}$.

**Output:** The solution encoded by $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$ if **P** is Rupert.

1: $R \leftarrow \sqrt{\max_i(\mathbf{P}[i, 1]^2 + \mathbf{P}[i, 2]^2 + \mathbf{P}[i, 3]^2)}$

2: isRupert \leftarrow False

3: **while** isRupert = False **do**

4: &nbsp;&nbsp;&nbsp;&nbsp;Draw $x$ and $y$ uniformly in $[-R, R]$

5: &nbsp;&nbsp;&nbsp;&nbsp;Draw $\theta_1, \theta_2$ and $\alpha$ uniformly in $[0, 2\pi)$

6: &nbsp;&nbsp;&nbsp;&nbsp;Draw $\varphi_1$ and $\varphi_2$ uniformly in $[0, \pi]$

7: &nbsp;&nbsp;&nbsp;&nbsp;A \leftarrow $R_\alpha \circ M_{\theta_1, \varphi_1}$ and $B \leftarrow M_{\theta_2, \varphi_2}$ \triangleright A, B$ are 3 \times 2$ matrices

8: &nbsp;&nbsp;&nbsp;&nbsp;$\mathcal{P}' \leftarrow A \cdot \mathbf{P} + (x, y)$ and $\mathcal{Q}' \leftarrow B \cdot \mathbf{P}$

9: &nbsp;&nbsp;&nbsp;&nbsp;$\mathcal{P} \leftarrow \text{ConvexHullPoints}(\mathcal{P}')$ and $\mathcal{Q} \leftarrow \text{ConvexHullPoints}(\mathcal{Q}')$

10: &nbsp;&nbsp;&nbsp;&nbsp;$n \leftarrow$ # rows of $\mathcal{P}$ and $m \leftarrow$ # rows of $\mathcal{Q}$

11: &nbsp;&nbsp;&nbsp;&nbsp;**for** $i$ from 1 to $n$ **do**

12: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$P \leftarrow \mathcal{P}[i, \cdot]$ \triangleright $P \in \mathbb{R}^2$, $i$th row of $\mathcal{P}$ is the $i$th vertex of $\mathcal{P}$

13: &nbsp;&nbsp;&nbsp;&nbsp;**if** $P$ is not inside $\mathcal{Q}$ **then**

14: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRupert \leftarrow False

15: &nbsp;&nbsp;&nbsp;&nbsp;Break the **For** Loop

16: &nbsp;&nbsp;&nbsp;&nbsp;**end if**

17: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRupert \leftarrow True

18: &nbsp;&nbsp;&nbsp;&nbsp;**end for**

19: **end while**

20: **return** $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2)$

Already this very simple algorithm is able to find solutions for many polyhedra. However, it is quite slow, mostly because the 7-dimensional search space for $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2)$ is large. The first and most significant improvement to Algorithm 1 is to reduce the parameter search space from $\mathbb{R}^7$ to $\mathbb{R}^4$ by algorithmically finding $x, y$ and $\alpha$ for given $\theta_1, \theta_2, \varphi_1, \varphi_2$. Chazelle [Cha83] found an efficient algorithm for deciding polygon containment under translation and rotation, which we may conveniently apply. Let us call Chazelle's algorithm Chazelle; it takes as input two polygons $\mathcal{P}$ and $\mathcal{Q}$ and outputs $(x, y, \alpha)$ such that $(T_{x,y} \circ R_\alpha)(\mathcal{P}) \subset \mathcal{Q}$, and **False** if no such triple exists.

Exploiting Proposition 2, namely that if **P** is point symmetric then one can choose $x = y = 0$, one can significantly simplify the algorithm in the point symmetric case. Namely, one needs to solve the polygon containment problem only under rotation (and not additionally translation) which is a much easier task: we will call this algorithm ChazelleR: its input are two polygons $\mathcal{P}$ and $\mathcal{Q}$ and the output is $(0, 0, \alpha)$ such that $R_\alpha(\mathcal{P}) \subset \mathcal{Q}$, and **False** if no such $\alpha$ exists.

We also note that choosing $\theta_1, \theta_2$ uniformly in $[0, 2\pi)$, and $\varphi_1, \varphi_2$ uniformly in $[0, \pi]$ is slightly unnatural, since this does not give a uniform distribution on the sphere. As explained in §2, we will rather draw $\theta_i \sim U(0, 2\pi)$ and $\varphi \sim \arccos(U(-1, 1))$. We obtain the following improvement to our Algorithm 1:

**Algorithm 2 (Using Chazelle)**
**Input:** A polyhedron $\mathbf{P}$.

**Output:** The solution encoded by $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$ if $\mathbf{P}$ is Rupert.

(1) For each $i \in \{1, 2\}$ draw $\theta_i$ uniformly in $[0, 2\pi)$, and $\tilde{\varphi}_i$ uniformly in $[-1, 1]$. Set $\varphi_i := \arccos(\tilde{\varphi}_i)$.

(2) Construct the two $3 \times 2$ matrices $A$ and $B$ corresponding to the linear maps $M_{\theta_1, \varphi_1}$ and $M_{\theta_2, \varphi_2}$. Compute the two projections of $\mathbf{P}$ given by $\mathcal{P}' := A \cdot \mathbf{P}$ and $\mathcal{Q}' := B \cdot \mathbf{P}$.

(3) Find vertices on the convex hulls of $\mathcal{P}'$ and $\mathcal{Q}'$; denote them by $\mathcal{P}$ and $\mathcal{Q}$.

(4) Call $\text{Chazelle}(\mathcal{P}, \mathcal{Q})$ (or $\text{ChazelleR}(\mathcal{P}, \mathcal{Q})$) if $\mathbf{P}$ is point symmetric).

(5) If Step (4) yields a solution $(x, y, \alpha)$, return $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2)$. Otherwise, repeat Steps (1)-(5).

The algorithm above can find solutions to Rupert's problem for many solids in fractions of seconds and is able to solve one of the previously unsolved Archimedean polyhedra (see Theorem 2). However, we can improve it even further. Analyzing its practical performance, it is clear that the most time consuming part is Step (4). Heuristically, this is expected because the theoretical complexity of Chazelle is $O(pq^2)$, if $p$ is the number of vertices of $\mathcal{P}$ and $q$ the number of vertices of $\mathcal{Q}$ [Cha83], while all other steps in Algorithm 2 are at most linear in $N$, the number of vertices of $\mathbf{P}$. Therefore, a natural practical improvement to this algorithm would be to discard pairs $(\mathcal{P}, \mathcal{Q})$ already before Step (4) if it can be algorithmically easily seen that $\mathcal{P}$ cannot fit inside $\mathcal{Q}$. Indeed, we can do so by first computing elementary geometric invariants of the polygons. Moreover, these invariants can be computed for a large batch of polygons coming from randomly drawn projections; then we can discard most pairs and need to test only the remaining ones.

Define *area* and *perimeter* of a polygon in the obvious way and we call the longest line segment inside $\mathcal{P}$ the diameter of $\mathcal{P}$. Denote the three by $\text{Area}(\mathcal{P})$, $\text{Peri}(\mathcal{P})$ and $\text{Dia}(\mathcal{P})$ respectively. The following easy lemma allows to speed up our search.

**Lemma 1.** Assume that a convex polygon $\mathcal{P}$ fits in a polygon $\mathcal{Q}$ then:

1. The area of $\mathcal{P}$ is smaller than the area of $\mathcal{Q}$: $\text{Area}(\mathcal{P}) < \text{Area}(\mathcal{Q})$.

2. The diameter of $\mathcal{P}$ is smaller than the diameter of $\mathcal{Q}$: $\text{Dia}(\mathcal{P}) < \text{Dia}(\mathcal{Q})$.

3. The perimeter of $\mathcal{P}$ is smaller than the perimeter of $\mathcal{Q}$: $\text{Peri}(\mathcal{P}) < \text{Peri}(\mathcal{Q})$.

*Proof.* Since area, perimeter and diameter are invariant under translation and rotation, we may assume that $\mathcal{P}$ not only fits inside $\mathcal{Q}$ but already lies inside $\mathcal{Q}$. Then the statements 1 and 2 become evident. Figure 3 proves part 3 of the lemma. Note that convexity is important only for this part. $\square$
Obviously the perimeter of a polygon can be computed in linear time de-
pending on the number of vertices. The Shoelace formula allows for the same
complexity for the area. The method of *rotating calipers* allows to compute the
diameter of a (convex) polygon in linear time as well [Sha78, Cor. 3.1]. We
obtain the following efficient algorithm.

**Algorithm 3 (Using Chazelle and Lemma 1)**
***
**Input:** A polyhedron **P**, a batch size $M \in \mathbb{N}$.

**Output:** The solution encoded by $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$ if **P** is Rupert.

(1) For each $j \in \{1, \dots, M\}$ draw $\theta_j$ uniformly in $[0, 2\pi)$, and $\tilde{\varphi}_j$ uniformly in $[-1, 1]$. Set $\varphi_j := \arccos(\tilde{\varphi}_j)$.

(2) For each $j \in \{1, \dots, M\}$ construct the $3 \times 2$ matrix $A_j$ corresponding to the linear map $M_{\theta_j, \varphi_j}$. Compute the projection of $\mathbf{P}$ given by $\mathcal{P}_j' := A_j \cdot \mathbf{P}$. Find the vertices on the convex hull of $\mathcal{P}_j'$ and denote them by $\mathcal{P}_j$. Compute and store: Area($\mathcal{P}_j$), Peri($\mathcal{P}_j$) and Dia($\mathcal{P}_j$).

(3) For each $j \in \{1, \dots, M\}$ and $k \in \{1, \dots, M\}$ such that $k \neq j$: if Area($\mathcal{P}_j$) < Area($\mathcal{P}_k$) and Peri($\mathcal{P}_j$) < Peri($\mathcal{P}_k$) and Dia($\mathcal{P}_j$) < Dia($\mathcal{P}_k$) then call Chazelle($\mathcal{P}_j$, $\mathcal{P}_k$) (or ChazelleR($\mathcal{P}_j$, $\mathcal{P}_k$) if $\mathbf{P}$ is point symmetric).

(4) If for some pair $(j, k)$ Step (3) yields a solution $(x, y, \alpha)$, then return $(x, y, \alpha, \theta_j, \theta_k, \varphi_j, \varphi_k)$. Otherwise, repeat steps (1)-(4).

We ran our implementations on all 5 Platonic, 13 Archimedean, 13 Catalan and 92 Johnson polyhedra. The results are presented in Section 4.

**3.2 Finding and improving Nieuwland's numbers**

In this short section, we briefly explain an algorithmic method which yields
lower bounds on Nieuwland numbers of polyhedra and a simple procedure for

<figure><img src="image_6.png" /><figcaption>Figure 3: Proof that if convex $\mathcal{P}$ lies inside $\mathcal{Q}$ then $\text{Peri}(\mathcal{P}) < \text{Peri}(\mathcal{Q})$.</figcaption></figure>
finding “good” solutions to Rupert’s problem. Recall from Definition 3 that if there exist $x, y \in \mathbb{R}$, $\alpha, \theta_1, \theta_2 \in [0, 2\pi)$, $\varphi_1, \varphi_2 \in [0, \pi]$ and $\mu \ge 1$ such that

$$ (T_{x,y} \circ R_{\alpha} \circ M_{\theta_1, \varphi_1})(\mu\mathbf{P}) \subset M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ} \qquad (5) $$

then the Nieuwland number of $\mathbf{P}$ is greater than $\mu$, that is $\nu(\mathbf{P}) > \mu$. We will say that the Nieuwland number of a solution $(x, y, \alpha, \theta_1, \varphi_1, \theta_2, \varphi_2)$ to Rupert’s problem of some polyhedron is the largest real number $\mu$ such that (5) holds. Naturally we will say that a solution is better than another if it has a larger Nieuwland number. Clearly, the Nieuwland number of a solution to Rupert’s problem for some polyhedron $\mathbf{P}$ gives a lower bound on $\nu(\mathbf{P})$.

In the previous section we introduced algorithms for finding solutions to Rupert’s problem, i.e. finding solutions to (5) with $\mu > 1$. Given such a solution $(x, y, \alpha, \theta_1, \varphi_1, \theta_2, \varphi_2)$, it is easy to efficiently find (numerically) an approximation with any given precision for its Nieuwland number using a binary search method: Given $\mathbf{P}$, $v = (x, y, \alpha, \theta_1, \varphi_1, \theta_2, \varphi_2)$ and some $\mu$ it is easy to check whether (5) holds, therefore one can search for the correct $\mu$ by constantly halving the interval which it contains. We will denote this procedure $\mu(v, \mathbf{P})$.

Since we are also interested in “optimal” solutions to Rupert’s problem, i.e. solutions with maximal Nieuwland number, we will briefly explain a procedure to improve a found solution. The idea is simple: starting with a solution $v = (x, y, \alpha, \theta_1, \varphi_1, \theta_2, \varphi_2) \in \mathbb{R}^7$, we first compute $\mu(v, \mathbf{P})$ and then perturb all parameters by small random numbers $r_1, \dots, r_7$: $v'_i = v_i + r_i$. If by chance we find a better solution, i.e. if $\mu(v', \mathbf{P}) > \mu(v, \mathbf{P})$, we continue with $v'$, otherwise we choose another random vector $(r_1, \dots, r_7)$. In practice, the numbers $r_i$ are drawn uniformly from some small intervals around 0, which are steadily narrowed down if no improvement was observed for a long time. Also, in order to avoid convergence to “local minima”, one should run this procedure on several different initial solutions. Similarly to the considerations before, if $\mathbf{P}$ is point symmetric, we can choose $x = y = 0$ and then draw only $(r_1, \dots, r_5) \in \mathbb{R}^5$.

We note that this method is indeed rather naive and probably may be improved easily. For example, in the very recent work [Fre22] Fredriksson uses non-linear optimization methods like SLSQP and Nelder-Mead to find numerically optimal solutions for Rupert’s problem. Still, in practice we observed that our approach performs quite well. For example, after less than one minute of computational time on a regular computer, we found a solution to Rupert’s problem for the Cube and improved it to have Nieuwland’s number of 1.06058. As mentioned in the introduction, it is known that the optimal solution for the Cube has Nieuwland’s number $3\sqrt{2}/4 \approx 1.06066$.

We will present our results on improved lower bounds for Nieuwland numbers for various solids in §4.2.

## 3.3 Deterministic algorithm

In this section we will design a deterministic algorithm for deciding whether a given polyhedron satisfies Rupert’s property. The main idea is to transform
the problem into systems of polynomial inequalities and consequently into the decidability problem of emptiness of semi-algebraic sets.

The first step towards this algorithm is to develop an algebraic formulation for expressing the containment of a point $B \in \mathbb{R}^2$ in the convex hull formed by some points $A_1, \dots, A_n \in \mathbb{R}^2$.

**Lemma 2.** Let $A_1, \dots, A_n \in \mathbb{R}^2$ be the vertices of a convex polygon ordered in counter-clockwise direction and $B \in \mathbb{R}^2$ a point strictly inside this polygon. Set $A_{n+1} := A_1$. Then $\det(A_i - B, A_{i+1} - B) > 0$ for $i = 1, \dots, n$.

*Proof.* As $B$ lies inside the described polygon, the oriented angles $\langle A_i B A_{i+1} \rangle$ lie in the open interval $(0, \pi)$. This implies

$$ \det(A_i - B, A_{i+1} - B) = \underbrace{\|A_i - B\| \cdot \|A_{i+1} - B\|}_{>0} \cdot \underbrace{\sin(\langle A_i B A_{i+1} \rangle)}_{>0} > 0. \quad \square $$

**Lemma 3.** Let $A_1, \dots, A_n, B \in \mathbb{R}^2$, set $A_{n+1} := A_1$ and assume that for $i = 1, \dots, n$ it holds that $\det(A_i - B, A_{i+1} - B) > 0$. Then $B$ lies strictly inside the convex hull spanned by $A_1, \dots, A_n$.

*Proof.* Assume that $B$ is not inside the interior of the convex hull. By the continuity of the determinant, if $B$ lies exactly on the border, there exists a $B' \in \mathbb{R}^2$ outside the convex hull, still satisfying all (strict) inequalities. So we can assume that $B$ lies outside the convex hull. Then there exists a $v \in \mathbb{R}^2$ such that all $A_i$ strictly lie on the same side of the line $\{B + vt: t \in \mathbb{R}\} \subset \mathbb{R}^2$. Hence, there is a $w \in \mathbb{R}^2$ perpendicular to $v$ such that every $A_i$ can be written as $A_i = B + t_i v + s_i w$, with $t_i \in \mathbb{R}$ and $s_i \in \mathbb{R}^+$. Let $U = (v, w) \in \mathbb{R}^{2 \times 2}$; it follows that

$$ (A_i - B, A_{i+1} - B) = U \cdot \begin{pmatrix} t_i & t_{i+1} \\ s_i & s_{i+1} \end{pmatrix}. $$

Taking the determinant, we find $0 < \det(A_i - B, A_{i+1} - B) = \det(U)(t_i s_{i+1} - s_i t_{i+1})$. Dividing by $s_i s_{i+1} > 0$ yields $0 < \det(U)(t_i/s_i - t_{i+1}/s_{i+1})$. Finally, summing over all these inequalities gives the desired contradiction. $\square$

Let $\mathbf{P} = \{P_1, \dots, P_n\}$ be a convex polyhedron with $n$ enumerated vertices and further let a parallel projection $\mathcal{P} = (T_{x,y} \circ R_\alpha \circ M_{\theta,\varphi})(\mathbf{P})$ of the polyhedron be given. Only a subset of the projected $P_i$ lie on the boundary of $\mathcal{P}$. Let those be $P_{s_1}, \dots, P_{s_k}$ ordered in counter-clockwise direction as they appear along the boundary. We call the cycle $s = (s_1, \dots, s_k)$ the silhouette of the polyhedron under the projection.

Note that two projections $(T_{x,y} \circ R_\alpha \circ M_{\theta,\varphi})(\mathbf{P})$ and $(M_{\theta,\varphi})(\mathbf{P})$ always have the same silhouette, as translations and rotations do not influence which points of a polygon are on its boundary.

Further, we define $S_n$ to be the set of all non-empty cycles of any (non-empty) subset of the numbers from 1 to $n$. For instance, we have $S_3 = \{(1), (2), (3), (1, 2), (2, 3), (1, 3), (1, 2, 3), (1, 3, 2)\}$.

Clearly, the silhouette of a polyhedron with $n$ enumerated vertices under any projection is an element of $S_n$. The following argument bounds $|S_n|$ from
above: Denote by $k$ the length of a cycle and recall that there are $(k-1)!$ cycles of $k$ elements. Hence we have

$$|S_n| = \sum_{k=1}^{n} \binom{n}{k} (k-1)! = \sum_{k=1}^{n} \frac{n!}{k(n-k)!} < n! \sum_{k=1}^{n} \frac{1}{(n-k)!} < e \cdot n!, \quad (6)$$

where $e \approx 2.72$ is Euler's number.

**Theorem 1.** Let $\mathbf{P}$ be a convex polyhedron with $n$ vertices having integer coordinates, whose absolute value is bounded by $m$. There exists a deterministic algorithm with running time $(\log(m) \cdot n)^{O(1)} \cdot n!$ deciding whether $\mathbf{P}$ is Rupert and finding a solution if it exists.

*Proof.* We start by enumerating the vertices of the polyhedron $\mathbf{P} = \{P_1, \dots, P_n\}$. The algorithm we will present can decide whether there exists a solution to Rupert's problem

$$(T_{x,y} \circ R_{\alpha} \circ M_{\theta_1, \varphi_1})(\mathbf{P}) \subset M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ}$$

for any possible silhouette $s \in S_n$ of the projection on the right-hand side. Then the full algorithm will run over all elements of $S_n$.

Let $x, y, \alpha, \theta_1, \varphi_1, \theta_2, \varphi_2$ be variables. Given a silhouette $s = (s_1, s_2, \dots, s_k)$, let $Q_i := M_{\theta_2, \varphi_2}(\mathbf{P}_{s_i})$ and $P_j := (T_{x,y} \circ R_{\alpha} \circ M_{\theta_1, \varphi_1})(\mathbf{P}_j)$ for $i = 1, \dots, k$ and $j = 1, \dots, n$. We also set $Q_{k+1} := Q_1$. In other words, $Q_1, \dots, Q_k$ denote the vertices on the boundary of $M_{\theta_2, \varphi_2}(\mathbf{P})^{\circ}$ given a solution with silhouette $s$. Recall that by definition the vertices $Q_{s_1}, \dots, Q_{s_k}$ are in ordered in counter-clockwise direction. We define the system of $kn$ inequalities in the seven unknowns $x, y, \alpha, \theta_1, \varphi_1, \theta_2, \varphi_2$:

$$\det(Q_{s_i} - P_j, Q_{s_{i+1}} - P_j) > 0 \quad j = 1, \dots, n \text{ and } i = 1, \dots, k. \quad (7)$$

Now there are two important observations:

1. If this system has a solution $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$, then by Lemma 3 all $P_j$ lie in the interior of the convex hull of the $Q_{s_i}$. Therefore this septuple gives a solution to Rupert's problem for $\mathbf{P}$ (not necessarily for the silhouette $s$).

2. If the system (7) does not have a solution, then there does not exist a solution to Rupert's problem with the silhouette $s$. In other words, if Rupert's problem for $\mathbf{P}$ has a solution $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2)$ for some $s$, then (7) must hold at this point. Since in the definition of silhouette, the vertices are required to be ordered in counter-clockwise direction, we can apply Lemma 2 and the observation follows.

Therefore solving the system (7) is of crucial importance. Denote by $Z_{j,i}$ the matrices $(Q_{s_i} - P_j, Q_{s_{i+1}} - P_j)$, i.e. write (7) as $\det(Z_{j,i}) > 0$.

Now we would like to employ algorithms for deciding existence of solutions to systems of polynomial inequalities, but the system (7) involves trigonometric functions. However, it is also easy to see that (7) is a polynomial system
in the “variables” $x, y, \sin(\alpha), \cos(\alpha), \sin(\theta_i), \cos(\theta_i), \sin(\varphi_i), \cos(\varphi_i), i = 1, 2$.
Henceforth, we shall apply the following rational parametrization of the circle:

$$f: \mathbb{R} \to \mathbb{R}^2$$
$$t \mapsto \left( \frac{1-t^2}{1+t^2}, \frac{2t}{1+t^2} \right).$$

It is well-known that not only $||f(t)|| = 1$ for all $t$, but also that $f$ is a bijection between $\mathbb{R}$ and $S^2 \setminus \{(-1, 0)\}$. We will substitute the variables $\alpha, \theta_i, \varphi_i, i = 1, 2$ with the variables $a, b_1, b_2, c_1, c_2 \in \mathbb{R}$ by

$$(\cos(\alpha), \sin(\alpha)) := f(a),$$
$$(\cos(\theta_i), \sin(\theta_i)) := f(b_i),$$
$$(\cos(\varphi_i), \sin(\varphi_i)) := f(c_i),$$

for $i = 1, 2$. Now all entries of $Z_{j,i}$ are rational functions and so are also the inequalities $\det(Z_{j,i}) > 0$. Next, for each $i$ and $j$ we define the matrix $\tilde{Z}_{j,i}$ as the matrix $Z_{j,i}$ multiplied by $(1+a^2)(1+b_1^2)(1+b_2^2)(1+c_1^2)(1+c_2^2) > 0$. Each entry of the matrix $\tilde{Z}_{j,i}$ is a polynomial in $x, y, a, b_1, b_2, c_1, c_2$.

Note that the determinants of $Z_{j,i}$ and $\tilde{Z}_{j,i}$ have the same sign by the linearity of the determinant. Therefore, the system (7) is equivalent to the system $\det(\tilde{Z}_{j,i}) > 0$. Expanding $\det(\tilde{Z}_{j,i})$ shows that its coefficients are bounded by $O(m^2)$ and the polynomials have a total degree of at most 22.

Therefore, we are left with a system $\det(\tilde{Z}_{j,i}) > 0$ consisting of $kn$ polynomial inequalities in 7 variables, each of them having total degree of at most 22 and integer coefficients bounded in absolute value by $O(m^2)$. According to [GV88], this system can be solved in a complexity that is polynomial in $\log(m^2)(nk \cdot 22)^7$, i.e. polynomial in $\log(m)(nk)^7$. Using $k \le n$ the complexity simplifies to $(\log(m)n)^{O(1)}$.

Finally, in the worst case, we need to solve such a system for every possible cycle in $S_n$ of possible silhouettes, so using the observation (6), we get the total upper bound for the running time complexity: $(\log(m) \cdot n)^{O(1)} \cdot n!$. $\square$

The described algorithm can be summarized as follows:

**Algorithm 4**

Input: A polyhedron $\mathbf{P} = \{P_1, \dots, P_n\} \subseteq \mathbb{Z}^3$.

Output: The solution encoded by $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$ if $\mathbf{P}$ is Rupert.

For every possible silhouette $s = (s_1, \dots, s_k) \in S_n$:

(1) Define the system of inequalities $\det(Q_{s_i} - P_j, Q_{s_{i+1}} - P_j) > 0$ for $j = 1, \dots, n$ and $i = 1, \dots, k$, where $Q_i := M_{\theta_2, \varphi_2}(\mathbf{P}_{s_i})$ and $P_j := (T_{x,y} \circ R_{\alpha} \circ M_{\theta_1, \varphi_1})(\mathbf{P}_j)$ as well as $Q_{k+1} := Q_1$.
(2) Substitute the variables $\alpha, \theta_i, \varphi_i$ with $a, b_i, c_i$, $i = 1, 2$, using the above defined function $f$. This yields a system of rational inequalities.

(3) Multiply each inequality by $((1+a^2)(1+b_1^2)(1+b_2^2)(1+c_1^2)(1+c_2^2))^2$, to get a system of polynomial inequalities with integer coefficients.

(4) Search for a solution using the algorithm described in [GV88].

(5) If (4) yielded a solution: Transform the found solution back to the original variables $(x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2) \in \mathbb{R}^7$ using $f^{-1}$. Break the loop and return this septuple as a solution to Rupert's Problem.

Note that Theorem 1 above can easily be extended to incorporate polyhedra having rational coordinates, as these can be stretched by the least common multiple of the denominators of $\mathbf{P}$ in order to have integer coefficients. Moreover, if the coordinates of the polyhedron are not rational but algebraic numbers (like for most Platonic and Archimedean solids) the algorithm above can be adapted as well. The trick is to add to the system of inequalities (7) new variables and equations given by minimal polynomials encoding these coordinates.

We remark that the bound $O(n!)$ on the possible number of silhouettes is very pessimistic. For example, up to (isomorphic) permutations, the Cube has essentially only one silhouette, while 8! is quite huge. We are confident that by a closer inspection one can show that the number of possible silhouettes actually grows polynomially in $n$ and for regular polyhedra, like the Platonic or Archimedean solids, is quite small. In practice, however, this does not change much, because the complexity to solve already one single system of inequalities corresponding to a silhouette seems to be infeasible (we will address this issue in §4 more explicitly). Therefore, any possible way to reduce the number of silhouettes one needs to check still leads to an algorithm that is unlikely to determine the existence or non-existence of a solution for a non-trivial polyhedron. So we conclude that, at least for now, the described deterministic algorithm is only of theoretical value.

## 3.4 Rupertness

In this section we will quantify the likelihood of finding a solution to Rupert's problem by a randomly chosen projection. For a given polyhedron $\mathbf{P}$ we will define the Rupertness $\text{Rup}(\mathbf{P})$ as the probability that two random projections of it yield a solution to Rupert's problem. We already discussed that point symmetry is advantageous in general for proving Rupert's property, as it decreases the search space from $\mathbb{R}^7$ to $\mathbb{R}^5$. Keeping that in mind, we will only focus on comparing point symmetric polyhedra and define Rupertness only in this setting:

**Definition 4.** Let $\mathbf{P}$ be a centrally symmetric polyhedron. The Rupertness of $\mathbf{P}$, denoted $\text{Rup}(\mathbf{P})$, is the probability that two uniformly chosen projections $M_{\theta_1, \varphi_1}(\mathbf{P}), M_{\theta_2, \varphi_2}(\mathbf{P})$ can be extended to a solution of Rupert's problem for $\mathbf{P}$, i.e. there exists some $\alpha \in [0, \pi)$ such that $(R_\alpha \circ M_{\theta_1, \varphi_1})(\mathbf{P}) \subset M_{\theta_2, \varphi_2}(\mathbf{P})^\circ$.
Note that, naturally, in this definition we draw $\theta_i$ and $\phi_i$ ($i = 1, 2$) not uniformly on the intervals $[0, 2\pi)$ and $[0, \pi]$ but in a way such that the projections are uniformly distributed on the sphere. As mentioned in §2 this can be modeled by choosing $\theta_i \sim U(0, 2\pi)$ uniformly and $\phi \sim \arccos(U(-1, 1))$.

As observed in Section 2, if $\mathbf{P}$ is Rupert then there must already exist a set of solutions with positive measure. Therefore, a point symmetric polyhedron $\mathbf{P}$ is Rupert if and only if $Rup(\mathbf{P}) > 0$. This also proves that if a solution to Rupert's problem of a polyhedron exists, Algorithm 3 will find it eventually.

As we will elaborate in §4, our algorithms can solve all Archimedean polyhedra except three: The Rhombicosidodecahedron (RID in short), Snub cube and Snub dodecahedron. Hence, the RID is the only remaining point symmetric Archimedean polyhedron, for which Rupert's problem is open. Our main application of the notion of Rupertness is to statistically show that the RID is significantly different from the solved Archimedean polyhedra.

Using the algorithms from §3.1 and elementary statistics, we can estimate confidence intervals of Rupertness for various solids. For example, if 1000 random pairs of projections of the Cube gave 65 solutions, the probability estimate would be 6.5% and since this can be viewed as a Bernoulli experiment, one can also calculate the $1 - \alpha$ confidence interval $6.5\% \pm \epsilon$ for this probability for any $\alpha \in (0, 1)$. More precisely, if $n$ random pairs of projections $M_{\theta_1, \phi_1}(\mathbf{P}), M_{\theta_2, \phi_2}(\mathbf{P})$ gave $k > 0$ solutions then the Clopper-Pearson formula implies that the $1 - \alpha$ confidence interval for the underlying probability is given by $(S_{\min}, S_{\max})$, where

$$S_{\min} = \left( 1 + \frac{n-k+1}{k \cdot F(\alpha/2; 2k, 2(n-k+1))} \right)^{-1}, \qquad (8)$$

$$S_{\max} = \left( 1 + \frac{n-k}{(k+1) \cdot F(1-\alpha/2; 2(k+1), 2(n-k))} \right)^{-1},$$

and $F(q; d_1, d_2)$ is the $q$ quantile of the $F$-distribution with $d_1$ and $d_2$ degrees of freedom. In the case $k = 0$, the probability is between 0 and $1 - \sqrt{n/\alpha}$ with a certainty of $1 - \alpha$.

# 4 Explicit results

In this section we collect the explicit results of our work. We prove Rupert's property for a tenth Archimedean solid, show that most Catalan and Johnson solids are Rupert, improve on almost all known Nieuwland numbers and estimate the Rupertness of all point symmetric Platonic and Archimedean polyhedra. The solutions described below in Theorem 2 and 3 as well as in §4.2 are found using the probabilistic and numerical algorithms from the previous section in the programming language R and then verified with rigorous bounds in Maple.

## 4.1 Rupert solids

We start by resolving a new Archimedean solid:
<figure><img src="image_7.png" /><figcaption>Figure 4: The Truncated icosidodecahedron is Rupert.</figcaption></figure>

**Theorem 2.** *The Truncated icosidodecahedron has Rupert's property.*

*Proof.* Since this polyhedron is centrally symmetric, we can set $x = y = 0$ by Proposition 2. So we just need to find the five parameters $\alpha, \theta_1, \theta_2, \varphi_1, \varphi_2$ as in Proposition 1. They can be found quickly by applying Algorithm 3 to the list of coordinates of the vertices of the Truncated icosidodecahedron (see Table 4). Here is an improved solution (after application of the method described in §3.2):

$$ \begin{align*} \alpha &= 0.43584, \\ \theta_1 &= 2.77685, \qquad \theta_2 = 0.79061, \\ \varphi_1 &= 2.09416, \qquad \varphi_2 = 2.89674. \end{align*} $$

A rigorous verification in Maple proves that this quintuple indeed corresponds to a solution of Rupert's problem for the Truncated icosidodecahedron. The visualization of this solution is presented in Figure 4 where the two projections of the polyhedron are plotted such that the black one lies inside the red one. $\square$

We explained in the introduction that of the 13 Archimedean solids 8 were proven to be Rupert in [CYZ18] and an additional one in [Hof19, Lav19]. The theorem above raises this number up to 10, leaving only three Archimedean solids open: Snub cube, Rhombicosidodecahedron and Snub dodecahedron.

The same method and proof as above can be applied to the family of dual solids to the Archimedean ones, called the Catalan solids<fnref n="3" />. We obtain:

<footnote n="3">³For the coordinates of the Catalan solids we used we refer to the wonderful website www.dmccooey.com/polyhedra/Catalan.html.</footnote>
**Theorem 3.** *The Rhombic dodecahedron, Triakis octahedron, Tetrakis hexahedron, Deltoidal icositetrahedron, Disdyakis dodecahedron, Rhombic triacontahedron, Triakis icosahedron, Pentakis dodecahedron and Disdyakis triacontahedron all have Rupert's property.*

*Proof.* The parameters for the solution of each solid are displayed in Table 3. □

Interestingly, this theorem shows that, similarly to Archimedean solids, 9 of the 13 Catalan solids admit Rupert's property. Except for the Triakis tetrahedron (Figure 6, left), the remaining unresolved ones are precisely the dual polyhedra of the unsolved Archimedean solids. This raises the question on connectivity of the notions of duality and Rupert's property; we will state it precisely in §4.4.

As mentioned in the introduction, since the submission of this work, Fredriksen [Fre22] could prove that the Triakis tetrahedron and Pentagonal icositetrahedron are Rupert.

In order to test the power of the presented algorithms, we ran our implementation on the family of 92 Johnson solids<fnref n="4" />. We let the algorithm search for a solution for each polyhedron for at most an hour. The result is as follows.

**Theorem 4.** *Out of the 92 Johnson solids (at least) 82 admit Rupert's property.*
The remaining ones are: J25, J45, J47, J71, J72, J73, J74, J75, J76, J77.

Note that J71, J72, J73, J74, J75, J76, J77 are all closely connected to the Rhombicosidodecahedron which we conjecture to be not Rupert (Conjecture 2).

## 4.2 Lower bounds on Nieuwland numbers

Running the algorithm from §3.2 for a few hours on the solved Platonic and Archimedean solids, we could significantly improve most of the previously known lower bounds for their Nieuwland numbers. Table 1 summarizes these results. Like before, these numbers are found numerically in R and then verified rigorously in Maple.

For the Platonic solids Dodecahedron and Icosahedron we have found solutions with Nieuwland numbers 1.010818 and 1.010805 respectively. These figures are lower bounds for the Nieuwland numbers of these polyhedra. The numerical similarity of these numbers suggests that possibly they agree completely, like it is (conjecturally [JWY17]) the case for the Cube and Octahedron. We address this question again in §4.4. Figure 5 is a visualization of our solutions to Rupert's problem for the Dodecahedron and Icosahedron. In both cases we plot different projections of the solids in red and black such that the black projection lies inside the red one.

<footnote n="4">⁴Exact coordinates taken from www.dmccoocy.com/polyhedra/Johnson.html.</footnote>
<figure><img src="image_8.png" /><figcaption>Figure 5: Solution of the Rupert's problem for the Dodecahedron (left) with Nieuwland number 1.010818 and for the Icosahedron (right) with Nieuwland number 1.010805.</figcaption></figure>

## 4.3 Estimating Rupertness

Recall from Definition 4 that the Rupertness of a point symmetric polyhedron is the probability that a pair of uniformly random projections of it can be extended to a solution of Rupert's problem. Like we explained in §3.4, we can estimate this probability by randomly drawing projections $M_{\theta_1,\varphi_1}(\mathbf{P})$, $M_{\theta_2,\varphi_2}(\mathbf{P})$ and then searching for $\alpha \in (0, \pi)$ such that $(R_{\alpha} \circ M_{\theta_1,\varphi_1})(\mathbf{P}) \subset M_{\theta_2,\varphi_2}(\mathbf{P})^{\circ}$ holds. For each of the 14 point symmetric Platonic and Archimedean we drew at least 10 million pairs of random projections and for each pair decided on the existence of such an $\alpha \in (0, \pi)$. The quantities of corresponding solutions are summarized in Table 3. For example, the first row means that out of our $10^7$ random projections of the Cube precisely 657337 can be extended to a solution of Rupert's problem. This means that the Rupertness of the Cube is approximately 6.57% and the 99.9% confidence interval calculated with the Clopper-Pearson formula (8) is (0.0655, 0.0659).

One notices immediately that the Rhombicosidodecahedron (Figure 6 right) is not only still unsolved regarding Rupert's property, since out of 100 million tries 0 could have been extended to a solution, but also that its Rupertness is (with confidence of 99.9%) significantly lower than the Rupertness of any other point symmetric Platonic or Archimedean solid. In fact, with probability 99.9%, the Rupertness of the RID is less than 1/10000 of the Rupertness of the Truncated dodecahedron, the one with the smallest figure. Based on Table 2 we state the following surprising conjecture which contradicts Conjecture 1 taken from [CYZ18, Open problem, Conjecture, p. 503].

**Conjecture 2.** *The Rhombicosidodecahedron does not have Rupert's property.*

A natural attempt to prove Conjecture 2 would be to employ the deterministic algorithm in Theorem 1, or rather its extension to polyhedra with
<table><caption>Table 1: Improved Nieuwland numbers for Platonic and Archimedean solids. The old best lower bounds for the Nieuwland numbers are taken from [JWY17] and [CYZ18]. The improvement is calculated using $(\mu_{new} - 1)/(\mu_{old} - 1)$. coordinates given by algebraic numbers (see §3.3). Like we already explained in the remark at the end of §3.3, the bound $n!$ is very pessimistic also in this case. To be precise, we are confident that it should not be difficult to prove that (accounting for symmetries) there are not more than 50 possible silhouettes to consider for the Rhombicosidodecahedron. Since the RID has 60 vertices, it follows that we would need to prove emptiness of 50 semi-algebraic sets defined by at most $60^2 = 3600$ polynomial inequalities in $7 - 2 + 1 = 6$ variables (we can set $x = y = 0$ but we need a variable for the golden ratio) of total degree of at most 22. Unfortunately, it seems that these numbers are too big for current algorithms and implementations: in order to have a chance for termination in reasonable time, we would need to reduce the number of inequalities to below 20. Therefore, Conjecture 2 is still open.</caption><thead><tr><th>Name of solid</th><th>Old best &mu;</th><th>New best &mu;</th><th>Improvement</th></tr></thead><tbody><tr><td>Tetrahedron</td><td>1.004 235</td><td>1.014 473</td><td>3.42</td></tr><tr><td>Cube</td><td>1.060 660</td><td>1.060 659</td><td>&mdash;</td></tr><tr><td>Octahedron</td><td>1.060 660</td><td>1.060 640</td><td>&mdash;</td></tr><tr><td>Dodecahedron</td><td>1.005 882</td><td>1.010 818</td><td>1.84</td></tr><tr><td>Icosahedron</td><td>1.009 107</td><td>1.010 805</td><td>1.19</td></tr><tr><td>Truncated tetrahedron</td><td>&gt; 1</td><td>1.014 210</td><td>&mdash;</td></tr><tr><td>Cuboctahedron</td><td>1.014 61</td><td>1.014 571</td><td>&mdash;</td></tr><tr><td>Truncated cube</td><td>1.020 36</td><td>1.030 659</td><td>1.51</td></tr><tr><td>Truncated octahedron</td><td>1.008 15</td><td>1.014 602</td><td>1.79</td></tr><tr><td>Rhombicuboctahedron</td><td>1.006 09</td><td>1.012 819</td><td>2.10</td></tr><tr><td>Truncated cuboctahedron</td><td>1.003 70</td><td>1.006 563</td><td>1.77</td></tr><tr><td>Snub cube</td><td>&mdash;</td><td>&mdash;</td><td>&mdash;</td></tr><tr><td>Icosidodecahedron</td><td>1.000 15</td><td>1.000 878</td><td>5.85</td></tr><tr><td>Truncated dodecahedron</td><td>1.000 14</td><td>1.001 612</td><td>11.51</td></tr><tr><td>Truncated icosahedron</td><td>1.000 04</td><td>1.001 955</td><td>48.88</td></tr><tr><td>Rhombicosidodecahedron</td><td>&mdash;</td><td>&mdash;</td><td>&mdash;</td></tr><tr><td>Truncated icosidodecahedron</td><td>&mdash;</td><td>1.002 048</td><td>&mdash;</td></tr><tr><td>Snub dodecahedron</td><td>&mdash;</td><td>&mdash;</td><td>&mdash;</td></tr></tbody></table>

Initially we were quite skeptical that the other unsolved Archimedean solids (Snub cube and Snub Dodecahedron) as well as for the four unsolved Catalan solids (numbers 19, 25, 29, 31 in Table 3) and the 10 open Johnson solids (see Theorem 4) admit Rupert's property. For these solids we did not estimate the Rupertness and hence have no statistical evidence; so we concluded that it is very much possible that one should just execute the algorithms for a longer time in order to find a solution. Indeed, after the submission of our work, Fredriksson [Fre22] was able to improve on our methods and show Rupert's property for the Catalan solids 19 and 25 in Table 3, as well as for the Johnson solids J25, J45, J47, J71 and J76. We concentrated our search on the RID, since
<table><caption>Table 2: Estimation of the Rupertness of point symmetric Platonic and Archimedean solids. The column k says how many of the n randomly chosen projections can be extended to solutions. k/n is the estimate of the Rupertness and the last column is the 99.9% confidence interval for it.</caption><thead><tr><th>Name of solid</th><th>n</th><th>k</th><th>k/n<br>(in %)</th><th>Confidence interval<br>(α = 99.9%)</th></tr></thead><tbody><tr><td>Cube</td><td>10<sup>7</sup></td><td>657337</td><td>6.57</td><td>(0.0655, 0.0659)</td></tr><tr><td>Octahedron</td><td>10<sup>7</sup></td><td>1195417</td><td>11.95</td><td>(0.119, 0.120)</td></tr><tr><td>Dodecahedron</td><td>10<sup>7</sup></td><td>230918</td><td>2.31</td><td>(0.0230, 0.0232)</td></tr><tr><td>Icosahedron</td><td>10<sup>7</sup></td><td>295645</td><td>2.96</td><td>(0.0294, 0.0297)</td></tr><tr><td>Cuboctahedron</td><td>10<sup>7</sup></td><td>390404</td><td>3.90</td><td>(0.0389, 0.0392)</td></tr><tr><td>Truncated cube</td><td>10<sup>7</sup></td><td>335602</td><td>3.36</td><td>(0.0334, 0.0337)</td></tr><tr><td>Truncated octahedron</td><td>10<sup>7</sup></td><td>149188</td><td>1.49</td><td>(0.0148, 0.0150)</td></tr><tr><td>Rhombicuboctahedron</td><td>10<sup>7</sup></td><td>131176</td><td>1.31</td><td>(0.0130, 0.0132)</td></tr><tr><td>Truncated cuboctahedron</td><td>10<sup>7</sup></td><td>46044</td><td>0.460</td><td>(0.00455, 0.00466)</td></tr><tr><td>Icosidodecahedron</td><td>10<sup>7</sup></td><td>40046</td><td>0.400</td><td>(0.00395, 0.00406)</td></tr><tr><td>Truncated dodecahedron</td><td>10<sup>7</sup></td><td>7583</td><td>0.0758</td><td>(0.000736, 0.000781)</td></tr><tr><td>Truncated icosahedron</td><td>10<sup>7</sup></td><td>10813</td><td>0.108</td><td>(0.00105, 0.00111)</td></tr><tr><td><i>Rhombicosidodecahedron</i></td><td>10<sup>8</sup></td><td>0</td><td>0</td><td>[0, 0.000000053)</td></tr><tr><td>Truncated<br>icosidodecahedron</td><td>10<sup>7</sup></td><td>16394</td><td>0.164</td><td>(0.00161, 0.00167)</td></tr></tbody></table>

it is the smallest point symmetric solid for which we could not find a solution to Rupert's problem.

<figure><img src="image_9.png" /><figcaption>Figure 6: Triakis tetrahedron (left), Rhombicosidodecahedron (right)</figcaption></figure>
## 4.4 Concluding remarks and future work

One may notice a surprising fact in Theorem 3: A point symmetric Archimedean solid is proven to be Rupert if and only if its dual solid is. While this is only a small indication for the connectivity of duality and Rupert's property, Table 1 provides more evidence: the Cube and the Octahedron are conjectured to have the same Nieuwland number and the same seems to hold for the other pair of dual Platonic solids: the Dodecahedron and Icosahedron. Based on these observations we formulate natural and interesting but apparently not easy-to-answer questions:

1. Is a point symmetric Archimedean solid Rupert if and only if its dual Catalan solid has Rupert's property?

2. Do dual Platonic solids have the same Nieuwland number? If so, is there a geometric reason for this?

3. What are the exact Nieuwland numbers of the Dodecahedron and Icosahedron? Do they also admit simple algebraic expressions like the (conjectured) $3\sqrt{2}/4$ for the Cube and Octahedron?<fnref n="5" />

If a solution to Rupert's problem of a Platonic or Archimedean solid is given in $\mathbb{R}^3$ by $\mathbf{P}$ and its copy $\mathbf{Q}$, one can look at the duals of both polyhedra. It is quite intriguing that it seems that the dual of an “optimal” solution (i.e. one with highest Nieuwland number) of a Platonic solid yields an “optimal” solution for the dual solid. However, we could not find a (geometric) explanation for this. Moreover, the dual of some solution of a Platonic or Archimedean solid is not necessarily a solution at all.

As already mentioned, Conjecture 2 contradicts current beliefs on Rupert's property for polyhedra, but at the same time we have statistical reasons to believe in our conjecture. Assuming its validity, further natural questions are:

4. What distinguishes the Rhombicosidodecahedron from other (point symmetric) Archimedean solids and prevents this polyhedron to have Rupert's property? Is there an easy criterion for Rupert polyhedra?

5. How can one prove Conjecture 2? Are the remaining Archimedean and Catalan solids (12, 16, 18, 19, 25, 29, 31 in Table 3) Rupert?<fnref n="6" />

## Acknowledgments

We would like to thank Alin Bostan for his careful and supportive reading of the first version of this manuscript, Herwig Hauser for his constantly encouraging advices, and Mohab Safey El Din for his great help and expertise on algorithms for semi-algebraic sets. The authors are also grateful to David I. McCooey for creating the wonderful website www.dmccooey.com/polyhedra which contains coordinates, visualizations and information for hundreds of interesting

<footnote n="5">⁵In [SY22] we conjecture that the minimal polynomial for these numbers is given by $2025x^8 - 11970x^6 + 17009x^4 - 9000x^2 + 2000$.</footnote>

<footnote n="6">⁶The Catalan solids 19 and 25 are now resolved in [Fre22].</footnote>
polyhedra. Finally, the authors thank the anonymous referees for their helpful comments.

The second author was financially supported by the DOC fellowship of the ÖAW (26101), the WTZ collaboration project of the OeAD (FR 09/2021) and the DeRerumNatura project ANR-19-CE40-0018.

# 5 Appendix

In the appendix we most importantly present Table 3 which summarizes our solutions to Rupert's problem for all Platonic, 10 Archimedean and 9 Catalan solids. According to Proposition 1, any solution can be encoded by seven parameters $x, y, \alpha, \theta_1, \theta_2, \varphi_1, \varphi_2$. So for each solved polyhedron we provide these numbers in the corresponding columns. Proposition 2 implies that if a polyhedron is point symmetric, one can choose $x = y = 0$, so in these cases $x$ and $y$ are zero. The right column of Table 3 shows the Nieuwland number of the solution.

Finally, Table 4 incorporates the exact coordinates we used for the Platonic and Archimedean solids. The coordinates for Catalan and Johnson solids can be found at www.github.com/Vog0/RupertProblem and are taken, as mentioned, from the website www.dmccooey.com/polyhedra. The first link also contains the source code in R and Maple we used to find and then verify solutions.
<table><caption>Table 3: Solutions to Rupert's problem for Platonic, Archimedean and Catalan solids.</caption><thead><tr><th>Nr.</th><th>Name of solid</th><th>x</th><th>y</th><th>α</th><th>θ₁</th><th>φ₁</th><th>θ₂</th><th>φ₂</th><th>μ(v, P)</th></tr></thead><tbody><tr><td>1.</td><td>Tetrahedron</td><td>0.1788244</td><td>-0.0976062</td><td>1.0372426</td><td>5.3278439</td><td>1.5713832</td><td>3.9444529</td><td>0.9501339</td><td>1.014473</td></tr><tr><td>2.</td><td>Cube</td><td>0</td><td>0</td><td>2.4840821</td><td>1.9060829</td><td>3.1415929</td><td>5.8188256</td><td>2.3004443</td><td>1.060659</td></tr><tr><td>3.</td><td>Octahedron</td><td>0</td><td>0</td><td>3.1415873</td><td>5.4977985</td><td>1.9105975</td><td>6.2808288</td><td>1.5701448</td><td>1.060640</td></tr><tr><td>4.</td><td>Dodecahedron</td><td>0</td><td>0</td><td>1.0378047</td><td>0.8553414</td><td>2.108091</td><td>4.918788</td><td>2.0545287</td><td>1.010818</td></tr><tr><td>5.</td><td>Icosahedron</td><td>0</td><td>0</td><td>2.7276836</td><td>2.7732324</td><td>2.6181502</td><td>2.3091726</td><td>2.2712915</td><td>1.010805</td></tr><tr><td>6.</td><td>Truncated tetrahedron</td><td>0.160858</td><td>-0.164724</td><td>4.7775741</td><td>6.2831072</td><td>0.7854425</td><td>2.0992734</td><td>1.3849498</td><td>1.014210</td></tr><tr><td>7.</td><td>Cuboctahedron</td><td>0</td><td>0</td><td>3.1386793</td><td>2.5259348</td><td>1.5710827</td><td>0.7902177</td><td>0.9351593</td><td>1.014571</td></tr><tr><td>8.</td><td>Truncated cube</td><td>0</td><td>0</td><td>2.298646</td><td>4.3427928</td><td>3.1415862</td><td>2.089632</td><td>2.2876946</td><td>1.030659</td></tr><tr><td>9.</td><td>Truncated octahedron</td><td>0</td><td>0</td><td>1.5690349</td><td>3.1415601</td><td>0.785367</td><td>5.3243536</td><td>2.0933886</td><td>1.014602</td></tr><tr><td>10.</td><td>Rhombicuboctahedron</td><td>0</td><td>0</td><td>0.017061</td><td>2.9503929</td><td>3.1415921</td><td>4.1693802</td><td>0.636201</td><td>1.012819</td></tr><tr><td>11.</td><td>Truncated cuboctahedron</td><td>0</td><td>0</td><td>0.2396229</td><td>3.1416249</td><td>0.785486</td><td>4.4525352</td><td>0.429099</td><td>1.006563</td></tr><tr><td>12.</td><td>Snub cube</td><td>0</td><td>0</td><td>1.578603</td><td>2.7736451</td><td>0.7120286</td><td>4.7086522</td><td>2.1263666</td><td>1.000878</td></tr><tr><td>13.</td><td>Icosidodecahedron</td><td>0</td><td>0</td><td>2.2092757</td><td>4.3599229</td><td>1.5508055</td><td>1.6477247</td><td>1.0979977</td><td>1.001612</td></tr><tr><td>14.</td><td>Truncated dodecahedron</td><td>0</td><td>0</td><td>0.9547212</td><td>4.7124428</td><td>1.470154</td><td>0.8649729</td><td>2.0954566</td><td>1.001955</td></tr><tr><td>15.</td><td>Truncated icosahedron</td><td>0</td><td>0</td><td>0.4358364</td><td>2.7768504</td><td>2.0941596</td><td>0.79061</td><td>2.8967442</td><td>1.002048</td></tr><tr><td>16.</td><td>Rhombicosidodecahedron</td><td>0</td><td>0</td><td>0.1178211</td><td>6.1466092</td><td>2.5957828</td><td>1.5695218</td><td>0.7842378</td><td>1.002500</td></tr><tr><td>17.</td><td>Truncated icosidodecahedron</td><td>0</td><td>0</td><td>0.231712</td><td>2.84e-05</td><td>0.5535717</td><td>1.9227518</td><td>2.1379305</td><td>1.007037</td></tr><tr><td>18.</td><td>Snub dodecahedron</td><td>0</td><td>0</td><td>0.25481489</td><td>3.3133906</td><td>0.4995076</td><td>2.3963212</td><td>2.1824603</td><td>1.001304</td></tr><tr><td>19.</td><td>Triakis tetrahedron</td><td>0</td><td>0</td><td>0.2389694</td><td>3.926939</td><td>0.9553557</td><td>5.171164</td><td>1.3442843</td><td>1.027201</td></tr><tr><td>20.</td><td>Rhombic dodecahedron</td><td>0</td><td>0</td><td>0.3562255</td><td>5.7674031</td><td>2.2867379</td><td>0.0005374</td><td>1.5665899</td><td>1.030648</td></tr><tr><td>21.</td><td>Triakis octahedron</td><td>0</td><td>0</td><td>0.1945682</td><td>3.4241341</td><td>1.1711373</td><td>0.0040963</td><td>2.3603178</td><td>1.009632</td></tr><tr><td>22.</td><td>Tetrakis hexahedron</td><td>0</td><td>0</td><td>0.6277374</td><td>0.6012867</td><td>1.4476059</td><td>6.1255227</td><td>3.1382821</td><td>1.007632</td></tr><tr><td>23.</td><td>Deltoidal icositetrahedron</td><td>0</td><td>0</td><td>0.1178211</td><td>6.1466092</td><td>2.5957828</td><td>1.5695218</td><td>0.7842378</td><td>1.002500</td></tr><tr><td>24.</td><td>Disdyakis dodecahedron</td><td>0</td><td>0</td><td>0.231712</td><td>2.84e-05</td><td>0.5535717</td><td>1.9227518</td><td>2.1379305</td><td>1.007037</td></tr><tr><td>25.</td><td>Pentagonal icositetrahedron</td><td>0</td><td>0</td><td>0.231712</td><td>2.84e-05</td><td>0.5535717</td><td>1.9227518</td><td>2.1379305</td><td>1.007037</td></tr><tr><td>26.</td><td>Rhombic triacontahedron</td><td>0</td><td>0</td><td>2.5481489</td><td>3.3133906</td><td>0.4995076</td><td>2.3963212</td><td>2.1824603</td><td>1.001304</td></tr><tr><td>27.</td><td>Triakis icosahedron</td><td>0</td><td>0</td><td>3.1547479</td><td>5.4202246</td><td>2.1024926</td><td>4.2553188</td><td>2.4568193</td><td>1.001845</td></tr><tr><td>28.</td><td>Pentakis dodecahedron</td><td>0</td><td>0</td><td>0.2547479</td><td>5.4202246</td><td>2.1024926</td><td>4.2553188</td><td>2.4568193</td><td>1.001845</td></tr><tr><td>29.</td><td>Deltoidal hexecontahedron</td><td>0</td><td>0</td><td>2.5886126</td><td>4.2871288</td><td>0.7860227</td><td>5.917639</td><td>2.107937</td><td>1.000210</td></tr><tr><td>30.</td><td>Disdyakis triacontahedron</td><td>0</td><td>0</td><td>2.5886126</td><td>4.2871288</td><td>0.7860227</td><td>5.917639</td><td>2.107937</td><td>1.000210</td></tr><tr><td>31.</td><td>Pentagonal hexecontahedron</td><td>0</td><td>0</td><td>2.5886126</td><td>4.2871288</td><td>0.7860227</td><td>5.917639</td><td>2.107937</td><td>1.000210</td></tr></tbody></table>
<table><caption>Table 4: Used coordinates of all Platonic and Archimedean solids, as used in the Maple Package `geom3d` (for verification), except Snub Cube and Snub Dodecahedron, which are not needed for our results. $Φ = (\sqrt{5} + 1)/2 \approx 1.62$ is the golden ratio.</caption><thead><tr><th>Name of solid</th><th>Coordinates</th></tr></thead><tbody><tr><td>1. Tetrahedron</td><td>(±1, ±1, ±1) with an even number of “-” signs</td></tr><tr><td>2. Cube</td><td>(±1, ±1, ±1)</td></tr><tr><td>3. Octahedron</td><td>all permutations of (0, 0, ±1)</td></tr><tr><td>4. Dodecahedron</td><td>(±1, ±1, ±1) and all even permutations of (0, ±Φ<sup>-1</sup>, ±Φ)</td></tr><tr><td>5. Icosahedron</td><td>even permutations of (0, ±Φ, ±1)</td></tr><tr><td>6. Truncated tetrahedron</td><td>all permutations of (±1, ±1, ±3) with an even number of “-” signs</td></tr><tr><td>7. Cuboctahedron</td><td>all permutations of (±1, ±1, 0)</td></tr><tr><td>8. Truncated cube</td><td>all permutations of (±1, ±1, ±(√2 - 1))</td></tr><tr><td>9. Truncated octahedron</td><td>all permutations of (0, ±1, ±2)</td></tr><tr><td>10. Rhombicuboctahedron</td><td>all permutations of (±1, ±1, ±(1 + √2))</td></tr><tr><td>11. Truncated cuboctahedron</td><td>all permutations of (±1, ±(1 + √2), ±(1 + 2√2))</td></tr><tr><td>12. Snub cube</td><td>all even permutations of (±1, ±1/t, ±t) with an even number of plus signs and all odd permutations with an odd number of plus signs. t is the tribonacci constant</td></tr><tr><td>13. Icosidodecahedron</td><td>all permutations of (0, 0, ±Φ) and all even permutations of (±1/2, ±Φ/2, ±Φ<sup>2</sup>/2)</td></tr><tr><td>14. Truncated dodecahedron</td><td>all even permutations of (0, ±1/Φ, ±(2 + Φ)), (±1/Φ, ±Φ, ±2Φ) and (±Φ, ±2, ±(Φ + 1))</td></tr><tr><td>15. Truncated icosahedron</td><td>all odd permutations of (0, ±1, ±3Φ), (±1, ±(2 + Φ), ±2Φ) and (±Φ, ±2, ±(2Φ + 1))</td></tr><tr><td>16. Rhombicosidodecahedron</td><td>all even permutations of (±1, ±1, ±Φ<sup>3</sup>), (±Φ<sup>2</sup>, ±Φ, ±2Φ) and (±(2 + Φ), 0, ±Φ<sup>2</sup>)</td></tr><tr><td>17. Truncated icosidodecahedron</td><td>all even permutations of (±1/Φ, ±1/Φ, ±(3 + Φ)), (±2/Φ, ±Φ, ±(1 + 2Φ)), (±1/Φ, ±Φ<sup>2</sup>, ±(-1 + 3Φ)), (±(2Φ - 1), ±2, ±(2 + Φ)) and (±Φ, ±3, ±2Φ)</td></tr><tr><td>18. Snub dodecahedron</td><td>all even permutations of (2α, 2, 2β), (α + β/Φ + Φ, -αΦ + β + 1/Φ, α/Φ + βΦ - 1), (α + β/Φ - Φ, αΦ - β + 1/Φ, α/Φ + βΦ + 1), (-α/Φ + βΦ + 1, -α + β/Φ - Φ, αΦ + β - 1/Φ), (-α/Φ + βΦ - 1, α - β/Φ - Φ, αΦ + β + 1/Φ) with an odd number of sign changes of the coordinates, where ξ = √(Φ/2 + 1/2√(Φ - 5/27) + √(Φ/2 - 1/2√(Φ - 5/27)), α = ξ - 1/ξ and β = ξΦ + Φ<sup>2</sup> + Φ/ξ</td></tr></tbody></table>
References

[AAS98] P. K. Agarwal, N. Amenta, and M. Sharir. Largest placement of one convex polygon inside another. *Discrete Comput. Geom.*, 19(1):95–104, 1998.

[BGHJ21] A. Bezdek, Z. Guan, M. Hujter, and A. Joós. Cubes and boxes have Rupert's passages in every nontrivial direction. *Amer. Math. Monthly*, 128(6):534–542, 2021.

[Cha83] B. Chazelle. The polygon containment problem. *Advances in Com-puting Research I*, pages 1–33, 1983.

[CYZ18] Y. Chai, L. Yuan, and T. Zamfirescu. Rupert property of Archimedean solids. *Amer. Math. Monthly*, 125(6):497–504, 2018.

[Fre22] A. Fredriksson. The triakis tetrahedron and the pentagonal icosite-trahedron are Rupert. https://arxiv.org/abs/2210.00601, 2022.

[GV88] D. Y. Grigor'ev and N. Vorobjov. Solving systems of polynomial in-equalities in subexponential time. *Journal of Symbolic Computation*, 5(1):37–64, 1988.

[Hof19] B. Hoffmann. Rupert properties of polyhedra and the generalised Nieuwland constant. *J. Geom. Graph.*, 23(1):29–35, 2019.

[JWY17] R. P. Jerrard, J. E. Wetzel, and L. Yuan. Platonic passages. *Math. Mag.*, 90(2):87–98, 2017.

[Lav19] G. Lavau. The truncated tetrahedron is Rupert. *Amer. Math. Monthly*, 126(10):929–932, 2019.

[Sch50] D. Schreck. Prince Rupert's problem and its extension by Pieter Nieuwland. *Scripta Math.*, 16:73–80 and 261–267, 1950.

[Scr68] C. J. Scriba. Das Problem des Prinzen Ruprecht von der Pfalz. *Praxis Math.*, 10(9):241–246, 1968.

[Sha78] M. I. Shamos. *Computational Geometry*. PhD thesis, USA, 1978. AAI7819047.

[SY22] J. Steininger and S. Yurkevich. Extended Abstract for: Solving Rup- pert's Problem Algorithmically. *ACM Commun. Comput. Algebra*, 56(2):32–35, nov 2022.

[Ton18] P. Tonpho. Covering of objects related to Rupert property, 2018. Master Thesis, http://cuir.car.chula.ac.th/handle/123456789/73138.

[TW22] P. Tonpho and W. Wichiramala. Rupert property of some particular n-simplex and n-octahedrons, June 2022.