I'm doing a project where the goal is to map 4d polytopes to 3d in order to represent them graphically. In the project description it advises us to:
Choose a unit vector n in 4-dimensional space. Then the linear map x -> x - (x.n)n projects all of 4-dimensional space orthogonally on to the 3-dimensional subspace orthogonal to n. This does not solve the problem of producing a graphic of the projected object because we need to choose an orthonormal basis in that subspace to identify it with our usual coordinated is 3-dimensional space.
A way of doing this is to use the Gram-Schmidt process. Start with the basis n,e1,e2,e3 of 4-dim space, where e1,e2,e3 are the usual standard basis vectors. Apply G-S to get an orthonormal basis n,f1,f2,f3. Then v -> [ v.f1, v.f2, v.f3 ] gives the projection in coordinates.
There is one difficulty here that you will need to watch out for: if the last entry of n is zero then the original "basis" is not a basis. So one must instead in such cases make a different choice of three of the four possible standard basis vectors.
I think I understand the methodology behind this (though there is always the chance I don't) but a friend of mine doing the same thing has used v -> [ v.n, v.f2, v.f3 ] to map the projection co-ordinates (where v is a vertex of the 4d polytope); is this a viable thing to do just giving a different perspective of the projection, thus a different graphic representation or will in result in a poor representation of the 4d shape? If anyone could help clear this up for me I would be very grateful!