The Rupert property of a polyhedron

The Rupert property of a polyhedron derives from a mathematical question formulated by Prince Rupert of the Rhine in the 17th century. A polyhedron P is said to have the Rupert property if a polyhedron of the same or larger size and the same shape as P can pass through a hole in P.

A brute force exploration of whether various polyhedra have the Rupert property was conducted with a Python script. The data for each polyhedron was obtained from from Visual Polyhedra. It was subjected to two sets of random 3D rotations, each set consisting of:-

  1. rotation by a random angle about the x axis
  2. rotation by a random angle about the y axis
  3. rotation by a random angle about the z axis
The z coordinate of each vertex was then dropped, giving a projection of each polyhedron on to the x - y plane. To represent the front of a projected polyhedron, only the edges of faces whose normal had a negative z component were drawn. The polygonal outline of each projected polyhedron was obtained by taking only those edges which were shared by a front face and a back face. It was assumed that the polygonal outlines of projected convex polyhedra would also be convex. The polygonal outlines of the two randomly rotated polyhedra were compared. If one was entirely contained in the other it meant that it could represent a hole which would satisfy the Rupert property. Otherwise the procedure was repeated with different random rotations.

For the tetrahedron and the truncated tetrahedron, no solution was found after millions of trials. To find a solution, it was necessary to apply a small translation after one set of rotations. An efficient function was coded to find any translation which would make one polygon fit inside a second polygon. For the Archimedean solids, no solution was found for the snub cube, the snub dodecahedron, and the rhombicosidodecahedron, with or without translation, after many millions of trials. This accords with the findings of Steininger and Yurkevich in their paper An algorithmic approach to Rupert’s problem. We also found at first only nine Catalan solids with the Rupert property, although Fredriksson reported in his paper The triakis tetrahedron and the pentagonal icositetrahedron are Rupert that these also have the Rupert property. The Pentagonal Icositetrahedron was found later with a slight translation after some tweaking of the script.

It is not that easy to visualise a pierced polyhedron in 3D. These interactive drawings are parallel projections produced by another Python script using the parameters x, y, α, θ1, ϕ1, θ2, ϕ2 from Table 3 of the first paper (or similar ones from Table 1 of the second paper). The faces of the hole are invisible at first as those parameters project them to the sides of a polygon. Each polyhedron can then be rotated about the x-axis by dragging up or down with the left-button of the mouse and rotated about the y-axis by dragging left or right with the left-button of the mouse. Clicking on the name brings up an enlarged drawing, in which the polygon can also be rotated about the z-axis using the scroll wheel of the mouse. Similar drawings have been produced for the Johnson solids.


In the following figures produced by the first Python script, the polyhedron drawn with red edges is inside the hole in the polyhedron drawn with blue edges. It may appear to touch the blue polygon but only when a small gap is below the resolution of the figure. Clicking on any figure links to a scalable PDF in which the containment can be visually confirmed.

Platonic Solids


Archimedean Solids

Truncated Tetrahedron
Truncated Octahedron
Truncated Cube
Truncated Cuboctahedron
Truncated Icosahedron
Truncated Dodecahedron
Truncated Icosidodecahedron

Catalan Solids

Rhombic Dodecahedron
Triakis Octahedron
Tetrakis Hexahedron
Deltoidal Icositetrahedron
Disdyakis Dodecahedron
Rhombic Triacontahedron
Triakis Icosahedron
Pentakis Dodecahedron
Disdyakis Triacontahedron
Pentagonal Icositetrahedron (laevo)

Christopher B. Jones 2023-08-25