Studies into Polyhedra -- Maths

Look around the Graphics Lab

Regular, Semi-Regular Polyhedra, and thier Duals (first page)
Prisms, Anti-prisms, Pryamids, and related Polyhedra
Miscellanous Polyhedra: Deltahedra
Johnson Solids -- The other convex polyhedra with regular faces

Why I studied polyhedra, and Image Generation Techniques
Known Polyhedral Mathematical Formula
Data Sources and links for Polyhedral Data

Known Mathematics of Polyhedral Generation

Vertex Calculations

The following table defines exactly the locations of vertices for some polyhedra. There is supposed to be a list of the exact formula for all the regular and semi-regular polyhedra, but I have not located a source.

Generally if you set the points as defined below, then find the polyhedra's convex hull, you will produce a mathematically exact polyhedra, to however many decimal places you need. I myself generated the OFF (Object File Format, See my Details Page) files for the objects listed below to 13 decimal places (overkill I know). The data source for the file if generated in this way is given as "Exact Mathematics".

Name                        Vertices defining polyhedra's convex hull   
cube                               (1,1,1) all permutations [8]
cuboctahedron                      (0,1,1) all permutations [12]
octahedron                         (0,0,1) all permutations [6]
truncated octahedron               (0,1,2) all permutations [24]

tetrahedron                (1,1,1) all permutations with odd -ve counts [4]
truncated tetrahedron      (3,1,1) all permutations with odd -ve counts [12]


icosahedron                   z=(sqrt(5)-1)/2 (golden ratio)
                                   (1,0,z)  ordered permutations [12]

rombic dodecahedron           v=1/2     (1,0,0)[6]  (v,v,v)[8]

kite icositetrahedron         u=1/sqrt(2)   v=1/(2*sqrt(2)-1)
                                   (1,0,0)[6]  (0,u,u)[12]  (v,v,v)[8]

disdyakis-dodecahedron        u=1/sqrt(2)   v=1/sqrt(3)
(or hexakis-octahedron)            (1,0,0)[6]  (0,u,u)[12]  (v,v,v)[8]

dodecahedron                  a=1/sqrt(3)  b=sqrt((3-sqrt(5))/6)
                                           c=sqrt((3+sqrt(5))/6)
                                (a,a,a)[8]   (0,b,c) ordered permutations [12]

hexagonal prism                v=sqrt(3)
                                  (0,2,1) signed permutations [4]
                                  (r,1,1) signed permutations [8]

Syntax Notes:
        [n]                Number of permutations (vertices) that results
 "all permutations"        All permutations of the three axis components and
                           all possible +/- sign changes of each axis component.
 "ordered permutations"    As above but sequence order retained.
                 EG: 3 rolls of the vertices and all sign changes in each case.
 "signed permutations"     Order is left as given, with +/- sign changes
 "with odd -ve counts"     The number on negative values in vertices is odd
                 IE: vertices (1,1,-1) allowed,  but (-1,1,-1) is NOT allowed

All the other models displays used data sources that are nowhere nearly as exact, generally to 5 decimal places. Such data is also rarely aligned to to the coordinate system, and had to be rotated in 3 dimensions to maximize axial alignment in the OFF data file and ray-traced image. Most commonly the OFF data used was extracted from the VRML files published on the WWW by George Hart in his Encyclopedia of Polyhedra.

Errors in the data from these alternative sources, specifically points in a face not being co-planer, has caused me some problems in ray-tracing the figures. This required a study into triangulation of the polygons, to resolve the issue. For more information on polyhedra generation see my Ray-tracing Details page.

Mathematical Formula for Polyhedra

The following are the angles between two faces of a polyhedron (the dihedral), for those polygons with only a single such angle.

Name                  F   V   E   angle        cos(a)            tan(a)  
tetrahedron           4   4   6   70.53         1/3             2*sqrt(2)

cube                  6   8  12    90            0                infi
octahedron            8   6  12  109.47        -1/3            -2*sqrt(2)
rombic dodecahedron  12  14  24   120          -1/2              -sqrt(3)
cuboctahedron        14  12  24  125.26      -sqrt(3)/3          -sqrt(2)

dodecahedron         12  20  30  116.57      -sqrt(5)/5             -2
icosahedron          20  12  30  138.19      -sqrt(5)/3         -2*sqrt(2)/5
                                            sin(a) = 2/3

icosidodecahedron    32  30  60  142.62  -sqrt((5+2*sqrt(5))/15)   sqrt(5)-3
triacontahedron      30  32  60   144    -(sqrt(5)-1)/4     -sqrt((5-2*sqrt(5)))
For Platonic Solids, the Geometry Center has a page on Regular Polyhedra Formula, including the dihedral angles between faces, that is very detailed.

Given that 'l' is the length of the edge, then....

Tetrahedron
Sin of angle at edge: 2 * sqrt(2) / 3
Surface area: sqrt(3) * l^2
Volume: sqrt(2) / 12 * l^3
Circumscribed radius: sqrt(6) / 4 * l
Inscribed radius: sqrt(6) / 12 * l

Octahedron
Sin of angle at edge: 2 * sqrt(2) / 3
Surface area: 2 * sqrt(3) * l^2
Volume: sqrt(2) / 3 * l^3
Circumscribed radius: sqrt(2) / 2 * l
Inscribed radius: sqrt(6) / 6 * l

Cube
Sin of angle at edge: 1
Surface area: 6 * l^2
Volume: l^3
Circumscribed radius: sqrt(3) / 2 * l
Inscribed radius: 1 / 2 * l

Icosahedron
Sin of angle at edge: 2 / 3
Surface area: 5 * sqrt(3) * l^2
Volume: 5 * (3 + sqrt(5)) / 12 * l^3
Circumscribed radius: sqrt(10 + 2 * sqrt(5)) / 4 * l
Inscribed radius: sqrt(42 + 18 * sqrt(5)) / 12 * l

Dodecahedron
Sin of angle at edge: 2 / sqrt(5)
Surface area: 3 * sqrt(25 + 10 * sqrt(5)) * l^2
Volume: (15 + 7 * sqrt(5)) / 4 * l^3
Circumscribed radius: (sqrt(15) + sqrt(3)) / 4 * l
Inscribed radius: sqrt(250 + 110 * sqrt(5)) / 20 * l

Programs

For my own use I have a perl script to list all the lengths and angles of a polyhedra given in a OFF file. I can even generate diagrams of the objects or extract the face information, allowing me to build 3D models.

For example, this is the result for a "Kite Hexacontrahedron", which I used to create a Wind inflated ball.


Created: 30 April 2001
Updated: 19 September 2003
Author: Anthony Thyssen, <Anthony.Thyssen@gmail.com>
URL: https://antofthy.gitlab.io/graphics/polyhedra/