Duality

What is it?

DualsPlatonicSolids_1000.gif
Image from MathWorld

The dual of a convex polyhedron is obtained by placing a vertex of the new (dual) polyhedron in the center of each face of the original polyhedron and if two faces of the original polyhedron are joined by an edge, then the vertices in the centers of those faces are joined by an edge in the dual. Basically, the vertices of one polyhedron correspond to the faces of the other. The dual of the dual is the original polyhedron. A point in the center of each of the 6 faces of a cube connected as described results in an octahedron.

A characteristic of dual polyhedra is that the dual of the dual is the original polyhedron. The dual of the octahedron is the cube. By the construction of the dual each face in the original corresponds to a vertex in the dual (the vertex placed in the center of the face), and each vertex in the original corresponds to a face in the dual. The number of edges in a polyhedron and its dual are always equal, since a new edge is constructed for every edge connecting two faces in the original, so the counts for the dual are the same as the counts in the original, but with the number of faces and vertices interchanged.

The dual of the icosahedron, {3, 5}, is the dodecahedron, {5, 3}, and vice versa. The twenty 3-sided faces and twelve 5-way corners of the icosahedron correspond to the twenty 3-way corners and twelve 5-sided faces of the dodecahedron. Each has thirty edges. The compound of the icosahedron and dodecahedron shows these relationships very clearly.
icos-dodec.gif
Image from /www.georgehart.com

For platonic solids the dual to {p, q} is always {q, p}. When one takes the duals of the Archimedean solids however, one gets a new class of solids, the Archimedean duals.


member pmoews created an openSCAD file for Duals of Polyhedra.

If the points are the vertices of an Archimedean solid the output is a Catalan solid.

If the points are a solution to the Thomson problem, the output is the convex hull dual.

If the points are the centers of the faces of a polyhedron all equidistant from the origin, the output is the polyhedron.

More than one set of points can be used as input so as to output compound polyhedra. For example the Archimedean polyhedra cannot be output directly as their faces are not equidistant from the origin. However the Archimedean solids can be generated by treating each set of faces separately and combining them.

Some sample scad files and their outputs are provided. They are:
A program to generate a cuboctahedron from its face centers:
cuboctahedron_to_self.scad
A program to generate a rhombic dodecahedron from the vertices of the cuboctahedron:
cuboctahedron_to_dual.scad
A program to generate the cuboctahedron - rhombic dodecahedron compound:
compound_cuboctahedron_dual.scad
A program to generate the material common to a cuboctahedron and a rhombic dodecahedron:
common_cuboctahedron_dual.scad