# Calculate the Angle between two vectors in 3d Spherical Coordinates

I have two vectors in spherical coordinates, both originating at the origin and both with the same magnitude equal to one. One is vertical: {1,0,0} and the other undefined: {Ms,Mt,Mp}. The other one can be anywhere depending on an energy equation. I need to know the angle between them. So I take the dot product:

$(1,0,0) \cdot (Ms,Mt,Mp) = Ms+0+0=Ms= \left| 1\right| \left| \text{Ms}\right| \cos (\omega )$

Therefore $~~~~\cos (\omega ) = 1 ~~~~~~~~$ and $~~~~ \omega = ArcCos[1]$

But, it doesn't make sense that no matter the direction of the vector the angle is constant.

Where did I go wrong?

• In spherical coordinates, how do you get $(1,0,0) \cdot (Ms,Mt,Mp) = Ms+0+0$? The pairwise multiplication of coordinates is a formula that works in Cartesian coordinates, but the two coordinate systems are very different. Also, if both vectors have magnitude $1$ then $Ms=1$, doesn't it? – David K Feb 14 '16 at 0:26
• Ms does equal 1. – Joseph Feb 14 '16 at 0:27
• I'm looking at dot products and not seeing the adjustment for spherical coordinates. – Joseph Feb 14 '16 at 0:36
• There's no "adjustment". It just doesn't work that way at all. – David K Feb 14 '16 at 1:08
• So my only recourse is to convert to cartesian coordinates, take the dot product, and convert back to spherical coordinates? The integrating Jacobian or the like will not suffice in a vector dot product? – Joseph Feb 14 '16 at 18:51