I have made a 600-cell wireframe model from Eric Weinsteins' 2/13/14 600-cell notebook (600-cell: a regular polytope, 4D, analogous to the icosahedron, with 600 tetrahedral cells, 120 vertices, 720 edges) in Mathematica, projected it onto the circumscribing unit sphere (it originally had a vertex at {0,0,0,1},
and rotated it so that the center of a tetrahedral face is centered on {0,0,0,1}.
When I make a stereo-graphic projection using {0,0,0,1}
as the north pole, it looks correct: the 3 edges nearest to {0,0,0,1}
are largest. But I want to rotate the 600-cell to make the center of the tetrahedral cell, not the face, centered on {0,0,0,1}
. I can't figure out how to do this. I'm using the RotationMatrix[{vec1, vec2}]
command, where mapping the vertices moves vec1
to vec2
. What should the 4D vectors be, and why?
If it helps, the first rotations to get the face centered on {0,0,0,1}
were made by this code:
θ = FaceEdgeAngl["Icosahedron"];
rotate4[obj_, vec1_, vec2_] :=
Map[(RotationMatrix[{vec1, vec2}] . #)&, obj, {1}]
vertsrot =
rotate4[
rotate4[vertic, {1, 0, 0, 0}, {Cos[Pi/5], Sin[Pi/5], 0, 0}],
{0, 0, 0, 1}, {0, 0, Cos[θ], Sin[θ]}];