Canonical Polyhedra

The canonical forms of polyhedra with 4 to 9 faces

Originator: Ed Pegg Jr (Wolfram Research)

(2907 elements)

Examples

Basic Examples

View the data:

In[1]:=
ResourceData["Canonical Polyhedra"]
Out[1]=

View the data for the canonical form of the regular octahedron:

In[2]:=
ResourceData["Canonical Polyhedra"][["8_1"]]
Out[2]=

View a nonahedron “9_7” with a unit sphere, showing the tangency to the edges:

In[3]:=
With[{data = ResourceData["b013bf42-a5bd-4d38-b15d-9cbe7382b540"]}, Graphics3D[{EdgeForm[Thick], Opacity[.8], GraphicsComplex[data["9_7"]["Vertices"], Polygon[data["9_7"]["Faces"]]], Sphere[{0, 0, 0}, 1]}, Boxed -> False, SphericalRegion -> True, ViewAngle -> Pi/11]]
Out[3]=

See the seven canonical hexahedra and their duals:

In[4]:=
With[{data = ResourceData["Canonical Polyhedra"]}, Grid[Transpose[
   Table[{Graphics3D[{Opacity[.6], EdgeForm[{Black, Thick}], GraphicsComplex[data[["6_" <> ToString[r]]]["Vertices"], Polygon[data[["6_" <> ToString[r]]]["Faces"]]]}, Boxed -> False, SphericalRegion -> True, ImageSize -> {120, 120}, ViewAngle -> Pi/31, ViewPoint -> {0, 0, 10}], Graphics3D[{Opacity[.6], EdgeForm[{Black, Thick}], GraphicsComplex[data[["6_" <> ToString[r]]]["DualVertices"], Polygon[data[["6_" <> ToString[r]]]["DualFaces"]]]}, Boxed -> False, SphericalRegion -> True, ImageSize -> {120, 120}, ViewAngle -> Pi/31, ViewPoint -> {0, 0, 10}]}, {r, 1, 7}]]]]
Out[4]=

Render the 34 canonical heptahedra, viewed from above:

In[5]:=
With[{data = ResourceData["Canonical Polyhedra"]}, Grid[Partition[
   Join[Table[
     Graphics3D[{Opacity[.6], EdgeForm[{Black, Thick}], GraphicsComplex[data[["7_" <> ToString[r]]]["Vertices"], Polygon[data[["7_" <> ToString[r]]]["Faces"]]]}, Boxed -> False, SphericalRegion -> True, ImageSize -> {120, 120}, ViewAngle -> Pi/31, ViewPoint -> {0, 0, 10}], {r, 1, 34}], {""}], 7]]]
Out[5]=

Draw the Schlegel diagrams of the 34 heptahedra:

In[6]:=
Grid[Partition[
  Join[Table[
    Graph[ImportString[
      ResourceData["Canonical Polyhedra"][["7_" <> ToString[r]]][
       "G6"], {"Graph6"}], GraphLayout -> "TutteEmbedding", ImageSize -> {120, 120} ], {r, 1, 34}], {""}], 7]]
Out[6]=

The pyramid built from an n-gon is self-complementary or self-dual. Here are 35 of the 70 other self-dual polyhedra within the dataset, each shown with the dual. Notice how the edges are always perpendicular to each other:

In[7]:=
With[{data = ResourceData["Canonical Polyhedra"]}, Grid[Partition[
   Graphics3D[{EdgeForm[Thick], Opacity[.6], GraphicsComplex[data[[#]]["Vertices"], Polygon[data[[#]]["Faces"]]], GraphicsComplex[data[[#]]["DualVertices"], Polygon[data[[#]]["DualFaces"]]]}, Boxed -> False, SphericalRegion -> True, ImageSize -> {100, 100}, ViewAngle -> Pi/31, ViewPoint -> {0, 10, 0} ] & /@ Take[Select[Range[2907], data[[#]]["SelfComplementary"] == True && data[[#]]["FaceSides"][[2]] > 3 &], 35], 7]]]
Out[7]=

Wolfram Research, "Canonical Polyhedra" from the Wolfram Data Repository (2017)   https://doi.org/10.24097/wolfram.98862.data

Data Resource History

Source Metadata

Data Downloads

Publisher Information