How to determine maximum angles between vectors?

I'm attempting to distribute vectors with the same origin with a maximum angle of separation. Then if given a set of vectors, I want to determine how far from maximum separation they are. For instance in 2D, two vectors would be 180 degrees apart, 3 would be 120, 4 90, etc. So my two problems are determining maximum separation in 3D and giving some sort of feedback on how close they are to maximum separation.

Thanks

-
– tom Feb 7 '13 at 14:46
Much appreciated! I think I can get close enough to what I want by just using the 12 vertices of an icosahedron. – user61368 Feb 7 '13 at 22:05

You are opening very deep problems about sphere packings, kissing numbers and so on here. A very rough estimate would be the following: The curved surface of a sperical cap on the unit ball with angle $\alpha$ is $2\pi(1-\cos\alpha)$. Hence if you have $n$ vectors and all angles between them are $\ge2\alpha$, then we can compare areas and find $2n\pi(1-\cos\alpha)\le 4\pi$, i.e. the number $$\frac{n(1-\cos\alpha)}2$$ can be taken as a simple estimation for the "quality": The closer the value is to $1$, the better. Note however, that $1$ cannot be reached (except for $n=2$) and in fact for $n\to \infty$, we cannot beat the hexagonal density $\frac\pi{\sqrt{12}}\approx0.9$.