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