All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 Dodecahedron (Posted on 2005-03-24)

A regular dodecahedron has 12 pentagonal sides and 20 vertices. Assuming the bottom face is lying on the X-Y plane, above the X-axis, with one edge along (0,0,0)-(0,1,0), what are the coordinates of the remaining 18 vertices?

 See The Solution Submitted by Erik O. No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
 solution Comment 1 of 1

On a pentagon with unit-length sides, the vertices are .8506508083520399 units from the center and the centers of the edges are .6881909602355868 units from the center.  The total of these is the "diameter" from one vertex to the center of the opposite side: 1.538841768587627.

The dihedral angle can be computed by spherical trigonometry if a sphere is constructed around a vertex.  The triangle's sides are all the 108-degree angles of the three pentagons surrounding the vertex.  The angles on the spherical triangle are the dihedral angles of the dodecahedron: 116.565051177078. This dihedral angle helps us compute the distances upward and outward from the centers of the bottom edges of the base of the dodecahedron to the higher mid-level set of vertices. The vertical (z) distance to this set of five vertices is 1.538841768587627 * sin(116.565051177078) = 1.37638192047118. The distance outward is the absolute value of 1.538841768587627 * cos(116.565051177078), or .688190960235584. To this must be added the .6881909602355868 distance the center of the edge already is outward from the center of the pentagon. (They are apparently the same number, with just rounding differences.) The total comes out to 1.376381920471171.

The slant angle of the edges extending up directly from the base can also be calculated by spherical trig.  Divide the triangle above into two parts by erecting a median. We now have a right spherical triangle, with a 54-degree leg and a 108-degree hypotenuse. The angle between the 54-degree side and the 108-degree side is the 116.565...-degree angle. The supplement of the slant angle is the remaining side (opposite the 116.565 angle). That side is  121.717474411461 degrees, making the slant angle 58.28252558853899 degrees. Since the edge is 1, the z coordinate of this set of five vertices is sin(58.28252558853899)=.850650808352039. The distance outward of each of these vertices is cos(58.28252558853899) + .8506508083520399, the latter term being the distance the base vertex already is outward from the center. This total is 1.37638192047118. This is good, as it should in fact match that for the other set of five intermediate level vertices.

Since the relative z-coordinate differences are the same from top to bottom as bottom to top, the z coordinates of the top level are the sum of the two z-coordinate distances we have found: 1.37638192047118 + .850650808352039 = 2.22703272882322.

To get the x and y coordinates, the easiest way will be to translate the center of each level to x=0, y=0. The center of the base (and the dodecahedron) is at x = tan(54)/2 = .6881909602355868 found in the first paragraph. The y-coordinate of the center is .5. Once translated (by subtracting tan(54)/2 from the x coordinate and .5 from the y), one of the vertices will be at (-.6881909602355868,-.5), which is indeed the .85065080835204 from the center calculated in the first paragraph. We just need to rotate by all the multiples of 72 degrees, and then translate back by adding (.6881909602355868,.5) to each.

The sets of x and y coordinates, first for the top level and bottom level and then for the two mid-levels, can be calculated from the following program. Increments are 36, so as to alternate between the top and the bottom, or the two mid-levels:

DEFDBL A-Z
pi = ATN(1) * 4
dr = pi / 180
CLS

r = .8506508083520399#
FOR a = 0 TO 359 STEP 36
angle = a
PRINT USING "  #.##############"; COS(angle * dr) * r + .6881909602355868#; SIN(angle * dr) * r + .5
NEXT
PRINT

r = (1.376381920471171# + 1.37638192047118#) / 2
FOR a = 0 TO 359 STEP 36
angle = a
PRINT USING "  #.##############"; COS(angle * dr) * r + .6881909602355868#; SIN(angle * dr) * r + .5
NEXT

To the results, below, I've appended the Z coordinate that goes with each:

x                 y                  z
1.53884176858763  0.50000000000000          0
1.37638192047117  1.00000000000000  2.22703272882322
0.95105651629515  1.30901699437495          0
0.42532540417602  1.30901699437495  2.22703272882322
0.00000000000000  1.00000000000000          0
-.16245984811645  0.50000000000000  2.22703272882322
0.00000000000000  0.00000000000000          0
0.42532540417602  -.30901699437495  2.22703272882322
0.95105651629515  -.30901699437495          0
1.37638192047117  -.00000000000000  2.22703272882322
2.06457288070676  0.50000000000000  .850650808352039
1.80170732464720  1.30901699437495  1.37638192047118
1.11351636441161  1.80901699437495  .850650808352039
0.26286555605957  1.80901699437495  1.37638192047118
-.42532540417602  1.30901699437495  .850650808352039
-.68819096023559  0.50000000000000  1.37638192047118
-.42532540417602  -.30901699437495  .850650808352039
0.26286555605957  -.80901699437495  1.37638192047118
1.11351636441161  -.80901699437495  .850650808352039
1.80170732464720  -.30901699437495  1.37638192047118

 Posted by Charlie on 2005-03-25 19:57:24

 Search: Search body:
Forums (0)