some trivia about Geometry`Polytopes`
- To: mathgroup@smc.vnet.net
- Subject: [mg11989] some trivia about Geometry`Polytopes`
- From: Wouter Meeussen <eu000949@pophost.eunet.be>
- Date: Fri, 17 Apr 1998 03:40:26 -0400
in the package Geometry`Polytopes`, we can find the vertices of the regular polyhedrons. Nice for use in programs that deal with Dodecahedrons, Icosahedrons and the like. For those who would like these vertices in exact (as opposed to floating point) numbers, I propose (after debugging?) the use (inclusion?, substitution?) of the following: Vertices[Tetrahedron]//InputForm {{0, 0, Sqrt[3]}, {0, 2*Sqrt[2/3], -(1/Sqrt[3])}, {-Sqrt[2], -Sqrt[2/3], -(1/ Sqrt[3])}, {Sqrt[2], -Sqrt[2/3], -(1/Sqrt[3])}} Vertices[Octahedron]//InputForm {{0, 0, Sqrt[2]}, {Sqrt[2], 0, 0}, {0, Sqrt[2], 0}, {0, 0, -Sqrt[2]}, {-Sqrt[ 2], 0, 0}, {0, -Sqrt[2], 0}} Vertices[Cube]//InputForm {{1/Sqrt[2], 1/Sqrt[2], 1/Sqrt[2]}, {-(1/Sqrt[2]), 1/Sqrt[2], 1/Sqrt[2]}, {-( 1/Sqrt[2]), -(1/Sqrt[2]), 1/Sqrt[2]}, {1/Sqrt[2], -(1/Sqrt[2]), 1/Sqrt[2]}, {-(1/Sqrt[2]), -(1/Sqrt[2]), -(1/Sqrt[ 2])}, {1/Sqrt[2], -(1/Sqrt[2]), -(1/Sqrt[2])}, {1/Sqrt[2], 1/Sqrt[2], -(1/Sqrt[2])}, {-(1/Sqrt[2]), 1/Sqrt[2], -(1/Sqrt[ 2])}} Vertices[Dodecahedron]//InputForm {{Sqrt[(5 - Sqrt[5])/10], (3 - Sqrt[5])/2, Sqrt[(5 + Sqrt[5])/10]}, {-Sqrt[5/2 - 11/(2*Sqrt[5])], (-1 + Sqrt[5])/2, Sqrt[(5 + Sqrt[5])/10]}, {-2*Sqrt[1 - 2/Sqrt[5]], 0, Sqrt[(5 + Sqrt[5])/10]}, {-Sqrt[5/2 - 11/(2* Sqrt[5])], (1 - Sqrt[5])/2, Sqrt[(5 + Sqrt[5])/10]}, {Sqrt[(5 - Sqrt[5])/10], (-3 + Sqrt[5])/2, Sqrt[(5 + Sqrt[5])/10]}, {Sqrt[(5 + Sqrt[5])/10], (-1 + Sqrt[5])/2, Sqrt[5/2 - 11/(2*Sqrt[5])]}, {-Sqrt[1 - 2/Sqrt[5]], 1, Sqrt[5/2 - 11/(2*Sqrt[5])]}, {-Sqrt[2 - 2/Sqrt[ 5]], 0, Sqrt[5/2 - 11/(2*Sqrt[5])]}, {-Sqrt[1 - 2/Sqrt[5]], -1, Sqrt[5/2 - 11/(2*Sqrt[5])]}, {Sqrt[(5 + Sqrt[5])/10], (1 - Sqrt[5])/2, Sqrt[5/2 - 11/(2*Sqrt[5])]}, {Sqrt[1 - 2/Sqrt[5]], 1, -Sqrt[5/2 - 11/(2*Sqrt[5])]}, {-Sqrt[(5 + Sqrt[5])/10], (-1 + Sqrt[5])/2, -Sqrt[5/2 - 11/(2*Sqrt[5])]}, {-Sqrt[(5 + Sqrt[5])/10], (1 - Sqrt[5])/2, -Sqrt[5/2 - 11/(2*Sqrt[5])]}, {Sqrt[1 - 2/Sqrt[5]], -1, -Sqrt[5/2 - 11/(2*Sqrt[5])]}, {Sqrt[2 - 2/Sqrt[ 5]], 0, -Sqrt[5/2 - 11/(2*Sqrt[5])]}, {Sqrt[5/2 - 11/(2*Sqrt[5])], (-1 + Sqrt[5])/2, -Sqrt[(5 + Sqrt[5])/10]}, {-Sqrt[(5 - Sqrt[5])/10], (3 - Sqrt[5])/2, -Sqrt[(5 + Sqrt[5])/10]}, {-Sqrt[(5 - Sqrt[5])/10], (-3 + Sqrt[5])/2, -Sqrt[(5 + Sqrt[5])/10]}, {Sqrt[5/2 - 11/(2*Sqrt[5])], (1 - Sqrt[5])/2, -Sqrt[(5 + Sqrt[5])/10]}, {2* Sqrt[1 - 2/Sqrt[5]], 0, -Sqrt[(5 + Sqrt[5])/10]}} Vertices[Icosahedron]//InputForm {{0, 0, Sqrt[10/(5 + Sqrt[5])]}, {2*Sqrt[2/(5 + Sqrt[5])], 0, Sqrt[2/(5 + Sqrt[5])]}, {(-1 + Sqrt[5])/Sqrt[2*(5 + Sqrt[5])], 1, Sqrt[2/(5 + Sqrt[5])]}, {-((1 + Sqrt[5])/Sqrt[2*(5 + Sqrt[5])]), Sqrt[-1 + 10/(5 + Sqrt[5])], Sqrt[ 2/(5 + Sqrt[5])]}, {-((1 + Sqrt[5])/Sqrt[2*(5 + Sqrt[5])]), -Sqrt[-1 + 10/(5 + Sqrt[5])], Sqrt[ 2/(5 + Sqrt[5])]}, {(-1 + Sqrt[5])/Sqrt[2*(5 + Sqrt[5])], -1, Sqrt[2/(5 + Sqrt[5])]}, {(1 + Sqrt[5])/Sqrt[2*(5 + Sqrt[5])], Sqrt[-1 + 10/(5 + Sqrt[5])], -Sqrt[2/( 5 + Sqrt[5])]}, {-((-1 + Sqrt[5])/Sqrt[2*(5 + Sqrt[5])]), 1, -Sqrt[2/(5 + Sqrt[5])]}, {-2* Sqrt[2/(5 + Sqrt[5])], 0, -Sqrt[2/(5 + Sqrt[5])]}, {-((-1 + Sqrt[5])/Sqrt[2*(5 + Sqrt[5])]), -1, -Sqrt[2/(5 + Sqrt[5])]}, {(1 + Sqrt[5])/Sqrt[2*(5 + Sqrt[5])], -Sqrt[-1 + 10/(5 + Sqrt[5])], -Sqrt[ 2/(5 + Sqrt[5])]}, {0, 0, -Sqrt[10/(5 + Sqrt[5])]}} It's trivial, but applying N[..] to these is faster than the inverse operation (:-)) wouter. Dr. Wouter L. J. MEEUSSEN w.meeussen.vdmcc@vandemoortele.be eu000949@pophost.eunet.be