Duality of Polyhedra
This worksheet describes the polyhedron duality routine of the geom3d package. For visibility, the plots and table below were generated with the worksheet set to a wide size.
In order to access the routines in the geom3d package by their short names, the with command has been used.
>



An Introductory Demonstration


>




The Concept of Duality


The edges and vertices of a polyhedron constitute a special case of a graph in which a set of points, or nodes, is joined in pairs by segments or branches. Therefore, the essential property of a polyhedron is that its faces together form a single unbounded surface. The edges are merely curves drawn on the surface that come together in sets of three or more at the vertices.
In other words, a polyhedron with faces, edges, and vertices may be regarded as a map, that is, as the partition of an unbounded surface into polygonal regions by means of simple curves joining pairs of points.
From a given map, we may derive a second, called the dual map, on the same surface. This second map has vertices, one in the interior of each face of the given map; edges, one crossing each edge of the given map; and faces, one surrounding each vertex of the given map. Corresponding to a pgonal face of the given map, the dual map will have a vertex where p edges (and p faces) come together.
Duality is a symmetric relation: A map is the dual of its dual.
A map is said to be regular, of type {p,q}, when there are p vertices and p edges for each face, and q edges and q faces at each vertex, that are arranged symmetrically in a sense that can be made precise. Therefore, a regular polyhedron is a special case of a regular map. For each map of type {p,q} is a dual map of type {q,p}.
Consider the regular polyhedron {p,q}, with its vertices, edges, and faces. If we replace each edge by a perpendicular line touching the midsphere at the same point, we obtain the edges of the reciprocal polyhedron {q,p}, which has vertices and faces. This process is in fact reciprocation with respect to the midsphere: the vertices and faceplanes of {p,q} are the poles and the polars, respectively, of the faceplanes and vertices of {q,p}.
Reciprocation with respect to another concentric sphere would yield a larger or smaller {q,p}.
This process of reciprocation can evidently be applied to any figure that has a recognizable "center". It agrees with the topological duality that we defined for maps. The 13 Archimedean solids are therefore included in this case; that is, for each Archimedean solid there exists a reciprocal polyhedron with respect to a concentric sphere.


Specifying Dual Polyhedra in geom3d


In Maple, one can define a duality of a regular polyhedron or of an Archimedean solid by using the command duality(dualp,p,s) where dualp is the name of the reciprocal polyhedron of the given polyhedron p with respect to the sphere s which is concentric with p (that is, s and p have the same center).
The following series of Maple commands show how to define and display the reciprocal polyhedron of a given regular polyhedron.
>


>




Duals of the Archimedean Solids in geom3d


A given regular polyhedron is closed under dualitythe duality of a regular polyhedron is also a regular polyhedron.
This is not the case for the Archimedean solids, though. The following table shows the polyhedron type of the duals of the Archimedean solids:
Archimedean Solids Maple's Schlafli Reciprocal Polyhedron Maple's Schlafli
TruncatedTetrahedron _t([3,3]) TriakisTetrahedron dual(_t([3,3]))
TruncatedOctahedron _t([3,4]) TetrakisHexahedron dual(_t([3,4]))
TruncatedHexahedron _t([4,3]) TriakisOctahedron dual(_t([4,3]))
TruncatedIcosahedron _t([3,5]) PentakisDodecahedron dual(_t([3,5]))
TruncatedDodecahedron _t([5,3]) TriakisIcosahedron dual(_t([5,3]))
cuboctahedron [[3],[4]] RhombicDodecahedron dual([[3],[4]])
icosidodecahedron [[3],[5]] RhombicTriacontahedron dual([[3],[5]])
SmallRhombicuboctahedron _r([[3],[4]]) TrapezoidaIcositetrahedron dual(_r([[3],[4]]))
SmallRhombiicosidodecahedron _r([[3],[5]]) TrapezoidalHexecontahedron dual(_r([[3],[5]]))
GreatRhombicuboctahedron _t([[3],[4]]) HexakisOctahedron dual(_t([[3],[4]]))
GreatRhombiicosidodecahedron _t([[3],[5]]) HexakisIcosahedron dual(_t([[3],[5]]))
SnubCube _s([[3],[4]]) PentagonalIcositetrahedron dual(_s([[3],[4]]))
SnubDodecahedron _s([[3],[5]]) PentagonalHexacontahedron dual(_s([[3],[5]]))
To access information relating to the reciprocal of an Archimedean solid gon, use the following function calls:
center(gon); returns the center of the midsphere of gon.
faces(gon); returns the faces of gon, with each face is represented as a list of coordinates of its vertices.
form(gon); returns the form of gon (TriakisTetrahedron3d, ...).
radius(gon); returns the midradius of gon.
schlafli(gon); returns the Schlafli symbol of gon.
vertices(gon); returns the coordinates of vertices of gon.
For example:
 (4.1) 
The following figure shows the 13 reciprocals of the Archimedean solids:
 (4.2) 
 (4.3) 
 (4.4) 
 (4.5) 
 (4.6) 
 (4.7) 
 (4.8) 
 (4.9) 
 (4.10) 
 (4.11) 
 (4.12) 
 (4.13) 
 (4.14) 
>



Return to Index for Example Worksheets
