PolyHedral Database (PHD)

Designed at NetLib


The polyhedron's number is also the name of its description file.

The description file consists of a number of fields. A field header is a line with an initial ":", the remainder of the line is the field name. Fields start with a field header line and are terminated by the next field header line or by end of file. A polyhedron's description is terminated by the field "EOF". The fields include, but are not limited to the following:

  • number
    The polyhedron's number written and read with the C language %d printf/scanf format.

  • name
    The polyhedron's name is less than 128 characters long and is not capitalized.

  • symbol
    The eqn input for two symbols separated by a tab; the Johnson symbol, and the Schla symbol.

  • dual
    The name of the dual polyhedron optionally followed by a horizontal tab and the number of the dual.

  • vertices
    The first line contains the number of vertices. The vertices are arranged one per line as an (x,y,z) coordinate of white-space separated values. The vertices are implicitly numbered starting at zero.

  • net
    The first line contains the number of faces and the maximum number of vertices in a face. The remaining lines are the faces in the planar net. Each face has a vertex count followed by the vertex numbers. The vertices are listed in counter-clockwise order as viewed from outside the polyhedron.

  • hinges
    The first line contains the number of hinges in the planar net. The remaining lines are hinge connections. The format is "face1 side1 face2 side2 value". Sides are numbered from zero. Depending on the dihedral value it may be a reflex or re-entrant hinge.

  • solid
    The first line contains the number of faces and the maximum number of vertices in a face. The remaining lines are the faces in the 3D polyhedron. Each face has a vertex count followed by the vertex numbers. The vertices are listed in counter-clockwise order as viewed from outside the polyhedron.

  • dihedral
    The first line contains the number of distinct dihedrals. Each dihedral starts on a new line and has a count and a value. If the count is non-zero, then that many "face edge" pairs (one per line) follow the dihedral value.

  • EOF
    The end of the polyhedron's description.

A value consists of a floating point number optionally followed by a expression enclosed by square brackets "[]". The expression is the exact value represented in code. The code may include assignments but does not include white space.

   Example - Cube

:name
cube
:number
1
:symbol
{4,3}   @P sub 4 @
:dual
octahedron
:sfaces
6 6{4}
:svertices
8 8(@4 sup 3@)
:net
6 4
4 4 3 7 8
4 5 4 8 9
4 1 0 3 4
4 3 2 6 7
4 8 7 10 11
4 11 10 12 13
:solid
6 4
4 15 14 18 19
4 17 15 19 21
4 17 16 14 15
4 14 16 20 18
4 19 18 20 21
4 21 20 16 17
:hinges
5
0 0 2 2 1.5707963267948966
0 1 3 3 1.5707963267948966
0 2 4 0 1.5707963267948966
0 3 1 1 1.5707963267948966
5 0 4 2 1.5707963267948966
:dih
1
12 4 4 1.5707963267948966
:vertices
22 14
-1.5[-3/2] -.5[-1/2] 0[0]
-1.5[-3/2] .5[1/2] 0[0]
-.5[-1/2] -1.5[-3/2] 0[0]
-.5[-1/2] -.5[-1/2] 0[0]
-.5[-1/2] .5[1/2] 0[0]
-.5[-1/2] 1.5[3/2] 0[0]
.5[1/2] -1.5[-3/2] 0[0]
.5[1/2] -.5[-1/2] 0[0]
.5[1/2] .5[1/2] 0[0]
.5[1/2] 1.5[3/2] 0[0]
1.5[3/2] -.5[-1/2] 0[0]
1.5[3/2] .5[1/2] 0[0]
2.5[5/2] -.5[-1/2] 0[0]
2.5[5/2] .5[1/2] 0[0]
-3.5 -1.5 -2.0
-3.5 -1.5 -1.0
-3.5 -0.5 -2.0
-3.5 -0.5 -1.0
-2.5 -1.5 -2.0
-2.5 -1.5 -1.0
-2.5 -0.5 -2.0
-2.5 -0.5 -1.0
:EOF