It's pretty simple in theory. I use the identity AB=|A||B|cos b where A and B are vectors in 3-D space originating from the same point and b is the angle between them. The tricky part is finding the exact value of the vectors A and B. Basically you have to construct the necessary vectors by hand, using pencil and paper instead of a computer, which rounds everything off to decimals. If you would like to know exactly what vectors you should be computing, see

this post

Of course, seeing as the asnwer will always be the form of:

arccos((a1b1+a2b2+a3b3)/(sqrt((a1^2+a2^2+a3^2)(b1^2+b2^2+b3^2))))

we can simplify this expression to say with certainty the answer will always be of the form:

arccos((a+sqrt(b))/c)

And, assuming we can always write the coordinates of te vectors in the form (sqrt(a),sqrt(b),sqrt(c)) which seems to be likely but not guaranteed, then we can simplify the expression further to say that the answer will be of the form:

arccos(sqrt(a/b))

In many cases, it boils down to the second option so you can actually cheat and get the answer quickly by assuming this form. Find the angle in decimal, take the cosine, square it. This miraculously gives you a rational number that you can plug into the above expression and simplify. This at least works for Rhombic Dodecahedra, Rhombic Tricontahedra, and Triangular Dipyramids (Meteor Madness, More Madness), but it does not work for Icosahedra, where the jumbling angle is arccos((3sqrt(5)-1)/8). That one requires some actual work (or

Mathematica )

Peace,

Matt Galla