As of Version 12.0, all the functionality of the PolyhedronOperations package is built into the Wolfram System. >>

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.


Some of the available polyhedra.

This loads the package.
Click for copyable input
This displays a dodecahedron centered at the origin.
Click for copyable input
This displays two polyhedra simultaneously. The diameter of the icosahedron is reduced by a factor of 0.15 and its center is moved to the point {3,3,3}.
Click for copyable input
Stellate[PolyhedronData[poly]]display a stellated polyhedron
Stellate[PolyhedronData[poly,ratio]display a stellated polyhedron with stellation ratio ratio
Geodesate[PolyhedronData[poly],n]display the projection of the order- regular tessellation of each face of the polyhedron onto the circumscribed sphere
Geodesate[PolyhedronData[poly],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[poly]]display a truncated polyhedron
Truncate[PolyhedronData[poly],ratio]display a truncated polyhedron with the polygon edges truncated by the ratio ratio
OpenTruncate[PolyhedronData[poly]]display a truncated polyhedron without the polygons that close the truncated vertices
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 Null. This gives very long points.
Click for copyable input
Here is an example of a polyhedron that is triangulated before being projected onto the circumscribed sphere.
Click for copyable input
Here is an example of a polyhedron with edges truncated on each side by 40 percent.
Click for copyable input
OpenTruncate allows you to view the interior of the truncated polyhedron.
Click for copyable input

You can return a polygon list in the form of a GraphicsComplex using PolyhedronData[poly,"GraphicsComplex"]. In addition, "Vertices" gives a list of vertex coordinates, while the "Faces" and "Edges" properties give you the indices of the corresponding objects.

PolyhedronData[poly,"GraphicsComplex"]give the GraphicsComplex representing the graphic of the named polyhedron
PolyhedronData[poly,"Vertices"]give a list of the coordinates of the vertices of the polyhedron
PolyhedronData[poly,"Faces","Polygon"]give a list of the faces of the polyhedron as Polygon primitives
PolyhedronData[poly,"Edges","Line"]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.
Click for copyable input
These are the vertices of the tetrahedron.
Click for copyable input
Use the "Polygon" property annotation to return a list of Polygon primitives.
Click for copyable input
Use the "Line" property annotation to return a list of Line primitives representing the edges of the tetrahedron.
Click for copyable input