Platonic solid

(Redirected from Polyhedral dual)

A Platonic solid is a polyhedron, or 3 dimensional figure, in which all faces are congruent regular polygons such that the same number of faces meet at each vertex. There are five such solids: the cube (regular hexahedron), the regular tetrahedron, the regular octahedron, the regular dodecahedron, and the regular icosahedron.

The tetrahedron has four faces, all of which are triangles. It also has four vertices and six edges. Three faces meet at each vertex.

The cube has six faces, all of which are squares. It also has eight vertices and twelve edges. Three faces meet at each vertex.

The octahedron has eight faces, all of which are triangles. It also has six vertices and twelve edges. Four faces meet at each vertex.

The dodecahedron has twelve faces, all of which are pentagons. It also has twenty vertices and thirty edges. Three faces meet at each vertex.

The icosahedron has twenty faces, all of which are triangles. It also has twelve vertices and thirty edges. Five faces meet at each vertex.

It is easy to verify that all five Platonic solids satisfy Euler's polyhedral formula.

[asy]import three; currentprojection = orthographic(-1.2,-0.2,0.4); triple[] P = {(0,0,(2/3)^.5),(3^(-0.5),0,0),(-1/2/3^.5,1/2,0),(-1/2/3^.5,-1/2,0)};  void drawFrontFace(int x, int y, int z){  draw(P[x] -- P[y] -- P[z] -- cycle, linewidth(0.7));  /* fill(P[x] -- P[y] -- P[z] -- cycle, rgb(0.7,0.7,0.7)); */ }  void drawBackFace(int x, int y, int z){  draw(P[x] -- P[y] -- P[z] -- cycle, linetype("2 6")); }   drawFrontFace(0,3,2);drawBackFace(0,1,3);drawBackFace(0,2,3);drawBackFace(1,2,3);   [/asy]   [asy] import three; currentprojection = orthographic(5,-6,4); triple[] P = {(0,0,0),(1,0,0),(1,1,0),(0,1,0),(0,0,1),(1,0,1),(1,1,1),(0,1,1)};  void drawFrontFace(int w, int x, int y, int z){  draw(P[w]--P[x] -- P[y] -- P[z] -- cycle, linewidth(0.7));  /* fill(P[x] -- P[y] -- P[z] -- cycle, rgb(0.7,0.7,0.7)); */ }  void drawBackFace(int w, int x, int y, int z){  draw(P[w]--P[x] -- P[y] -- P[z] -- cycle, linetype("2 6")); }   drawFrontFace(4,5,6,7);drawFrontFace(0,1,5,4);drawFrontFace(1,2,6,5); drawBackFace(0,1,2,3); drawBackFace(3,3,7,7);  [/asy]   [asy] import three; currentprojection = orthographic(0.5,-3,1.4); triple[] P = {(1,0,0),(0,1,0),(-1,0,0),(0,-1,0),(0,0,1),(0,0,-1)};  void drawFrontFace(int x, int y, int z){ draw(P[x] -- P[y] -- P[z] -- cycle, linewidth(0.7)); }  void drawBackFace(int x, int y, int z){ draw(P[x] -- P[y] -- P[z] -- cycle, linetype("2 6")); }   drawFrontFace(0,1,4);drawFrontFace(1,2,4);drawFrontFace(0,1,5);drawFrontFace(1,2,5);drawBackFace(2,3,4);drawBackFace(3,0,4);drawBackFace(2,3,5);drawBackFace(3,0,5); [/asy]   [asy] import three; real phi = (1+5^.5)/2; currentprojection=orthographic(2,-2.2,2); pen d=linewidth(0.7),l=linetype("2 6"); triple P[]; /* compute permutations of {±1, ±1, ±1}-cyc{0, ±1/φ, ±φ}*/ for(int i = 0; i < 8; ++i)  P.push(( (-1)^( floor(i/4) ), (-1)^( ( floor(i/2) ) % 2), (-1)^(i%2) )); for(int i = 0; i < 4; ++i)  P.push(( 0, (-1)^( floor(i/2) ) / phi, (-1)^(i%2) * phi )); for(int i = 0; i < 4; ++i)  P.push(( (-1)^(i%2) * phi, 0, (-1)^( floor(i/2) ) / phi )); for(int i = 0; i < 4; ++i)  P.push(( (-1)^( floor(i/2) ) / phi, (-1)^(i%2) * phi, 0 ));  void drawFrontFace(int x[]){for(int i = 1; i < x.length; ++i) draw(P[x[i-1]]--P[x[i]],d); draw(P[x[0]]--P[x[x.length-1]],d);}  void drawBackFace(int x[]){for(int i = 1; i < x.length; ++i) draw(P[x[i-1]]--P[x[i]],l); draw(P[x[0]]--P[x[x.length-1]],l);}   int frontFaces[][] = {{7,11,3,17,19},{6,10,2,17,19},{14,12,2,17,3},{8,10,2,12,0},{14,12,0,16,1},{6,10,8,4,13}},  backFaces[][] = {{4,8,0,16,18},{9,1,14,3,11},{13,4,18,5,15},{18,5,9,1,16},{5,9,11,7,15}}; for(int j=0;j<frontFaces.length;++j) drawFrontFace(frontFaces[j]);  for(int j=0;j<backFaces.length;++j) drawBackFace(backFaces[j]);   [/asy]   [asy] import three; real phi = (1+5^.5)/2; currentprojection=orthographic(2,-2,2);  triple P[] = {(0,1,phi),(0,-1,phi),(0,-1,-phi),(0,1,-phi),(1,phi,0),(-1,phi,0),(-1,-phi,0),(1,-phi,0),(phi,0,1),(phi,0,-1),(-phi,0,-1),(-phi,0,1)};  void drawFrontFace(int x, int y, int z){ draw(P[x] -- P[y] -- P[z] -- cycle, linewidth(0.7)); }  void drawBackFace(int x, int y, int z){ draw(P[x] -- P[y] -- P[z] -- cycle, linetype("2 6")); }   drawFrontFace(6,10,11);drawFrontFace(5,10,11);drawFrontFace(5,0,11);drawFrontFace(6,10,2);drawFrontFace(3,10,2);drawFrontFace(5,10,3);drawFrontFace(5,0,4);drawFrontFace(5,4,3);drawFrontFace(9,2,3);drawFrontFace(9,4,3); drawBackFace(11,1,6);drawBackFace(7,1,8);drawBackFace(8,1,0);drawBackFace(0,4,8);drawBackFace(8,4,9);drawBackFace(7,8,9);drawBackFace(7,2,6); [/asy]


Those are the only possible Platonic solids. See the bottom for the proof.

Duality

Interestingly enough, if you take a Platonic solid and connect the centers of adjacent faces with line segments, those segments will be the edges of another Platonic solid. This relationship is known as duality. It has many interesting properties. For instance: The dual of a tetrahedron is another tetrahedron. For this reason, we call the tetrahedron self-dual.

The cube and the octahedron are duals, so connecting the centers of the faces of a cube gives an octahedron and vice-versa. Cubes have the same number of faces as octahedra have vertices, and vice-versa. Cubes and octahedra have the same number of edges. Also, the number of faces at each vertex of a cube is the same as the number of edges on each face of an octahedron, and vice versa.

The icosahedron and the dodecahedron are duals, so connecting the centers of the faces of an icosahedron gives a dodecahedron and vice-versa. Icosahedra have the same number of faces as dodecahedra have vertices, and vice-versa. Icosahedra and dodecahedra have the same number of edges. Also, the number of faces at each vertex of an icosahedron is the same as the number of edges on each face of an dodecahedron, and vice versa.

Note that the number of edges of two duals is the same, and the number of vertices of one dual is the number of faces of the other dual.

In fact, every polyhedron has a dual polyhedron. For example, the dual of a triangular prism is a triangular biyramid (2 triangular pyramids with their bases attached).

Proof that there are only five Platonic solids

To have a polyhedron, at least three faces are at each vertex. Also, the sum of the angles at each vertex must be less than 360 degrees. The Platonic solids only use regular polygonal faces, and only one type is used in each. If we use a regular hexagon or a regular polygon with more sides, it will violate one of those rules listed above. Thus, Platonic solids are only made of regular pentagons, quadrilaterals, and triangles. You can fit three pentagons around a point and no more, so we have one so far. You can only fit three squares around a point and no more, so now we have two. You can fit anywhere from three to five equilateral triangles around a point, but no more. This adds three, so we have a total of five. We have exhausted all cases, so those are the only five, which are shown above.

Special note: The kelper-ponsiot solids are solids that are almost platonic, but have intersecting faces and edges.

Symmetry groups

The orientation-preserving symmetry groups of the five platonic solids are as follows:

Tetrahedron: $A_4$, $12$ symmetries;

Octahedron: $S_4$, $24$ symmetries;

Cube: $S_4$, $24$ symmetries;

Icosahedron: $A_5$, $60$ symmetries;

Dodecahedron: $A_5$, $60$ symmetries.

One can observe that dual platonic solids always have isomorphic symmetry groups.