Canonical Polyhedra

The canonical forms of polyhedra with 4 to 9 faces

Originator: Ed Pegg Jr (Wolfram Research)

(2907 elements)

Examples

Basic Examples

Retrieve the ResourceObject:

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

View the data:

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

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

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

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

In[4]:=
With[{data = ResourceData["Canonical Polyhedra"]}, 
 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[4]=

See the seven canonical hexahedra and their duals:

In[5]:=
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[5]=

Render the 34 canonical heptahedra, viewed from above:

In[6]:=
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[6]=

Draw the Schlegel diagrams of the 34 heptahedra:

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

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[8]:=
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[8]=

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

Source Metadata

Data Downloads