Polyhedron Operations Package

A Platonic solid is a convex polyhedron whose faces and vertices are all of the same type. There are five such solids. There are also a few nonconvex polyhedra known that have faces and vertices all of the same type. This package contains functionality for modifying some of the properties of the polyhedra available in PolyhedronData.

TetrahedronCube
OctahedronDodecahedron
IcosahedronHexahedron
GreatDodecahedronSmallStellatedDodecahedron
GreatStellatedDodecahedronGreatIcosahedron

Some of the available polyhedra.

This loads the package.
In[1]:=
Click for copyable input
This displays a dodecahedron centered at the origin.
In[2]:=
Click for copyable input
Out[2]=
This displays two polyhedra simultaneously. The diameter of the icosahedron is reduced by a factor of and its center is moved to the point .
In[3]:=
Click for copyable input
Out[3]=
Stellate[PolyhedronData[polyname]]display a stellated polyhedron
Stellate[PolyhedronData[polyname],ratio]
display a stellated polyhedron with stellation ratio ratio
Geodesate[PolyhedronData[polyname],n]
display the projection of the order- regular tessellation of each face of the polyhedron onto the circumscribed sphere
Geodesate[PolyhedronData[polyname],n,{x,y,z},radius]
display the projection of the order- regular tessellation of each face of the polyhedron onto the circumscribed sphere having center and size radius
Truncate[PolyhedronData[polyname]]display a truncated polyhedron
Truncate[PolyhedronData[polyname],ratio]
display a truncated polyhedron with the polygon edges truncated by the ratio ratio
OpenTruncate[PolyhedronData[polyname]]
display a truncated polyhedron without the polygons that close the truncated vertices
OpenTruncate[PolyhedronData[polyname],ratio]
display a truncated polyhedron with edges truncated by the ratio ratio without the polygons that close the truncated vertices

Transformation functions for polyhedra.

The polyhedra are by default centered at the origin with a unit distance from the origin to the midpoint of the edges. Any of the convex solids can be stellated using Stellate. This replaces each of the polygon faces by a pyramid with the polygon as its base. The user can also adjust the stellation ratio. Note that ratios less than give concave figures and that the default value of this ratio is . Geodesate triangulates fivesided or greater polygons before projecting onto the circumscribed sphere. If the order- of the regular tessellation of each face is not given, a default value of is assumed. The default position of the sphere is with radius . Truncate and OpenTruncate act on every polygon and truncate at each vertex of the polygon. The default value of the truncation ratio is .

Here is a stellated octahedron with stellation ratio equal to . This gives very long points.
In[4]:=
Click for copyable input
Out[4]=
Here is an example of a polyhedron that is triangulated before being projected onto the circumscribed sphere.
In[5]:=
Click for copyable input
Out[5]=
Here is an example of a polyhedron with edges truncated on each side by 40 percent.
In[6]:=
Click for copyable input
Out[6]=
OpenTruncate allows you to view the interior of the truncated polyhedron.
In[7]:=
Click for copyable input
Out[7]=

You can extract the polygon list in the form of a GraphicsComplex from the object produced by PolyhedronData using First. In addition, the , , and properties available in PolyhedronData give you the vertex coordinates, a list of graphics primitives for each face of a polyhedron, and graphics primitives for the edges of a polyhedron, respectively.

First[PolyhedronData[polyname]]give the GraphicsComplex representing the graphic of the named polyhedron
PolyhedronData[polyname,"VertexCoordinates"]
give a list of the coordinates of the vertices of the polyhedron
PolyhedronData[polyname,"Faces"]give a list of the faces of the polyhedron as Polygon primitives
PolyhedronData[polyname,"Edges"]give a list of the edges of the polyhedron as Line primitives

Getting vertex, face, and edge data.

Here is the GraphicsComplex object for the tetrahedron centered at the origin.
In[8]:=
Click for copyable input
Out[8]=
These are the vertices of the tetrahedron.
In[9]:=
Click for copyable input
Out[9]=
Use Normal to transform a GraphicsComplex to a list of Polygon primitives.
In[10]:=
Click for copyable input
Out[10]=
This gives the list of Line primitives representing the edges of the tetrahedron.
In[11]:=
Click for copyable input
Out[11]=