MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do you recenter a spherical coordinate system. For example, if the center were at $\left (0, 0, 0 \right )$ and I wanted to move the center of the spherical coordinate system to $\left (\rho_{1}, \Theta_{1}, \Phi_{1} \right )$, then what transformation would I apply to $\left (\rho_{2}, \Theta_{2}, \Phi_{2} \right )$?

In cartesian coordinates, you would simply subtract the two vectors.

share|cite|improve this question
How about converting to cartesian, translating, then converting back? – Jonas Meyer Jan 9 '10 at 3:19
What Jonas suggested is essentially what Mariano's code below does. – Michael Lugo Jan 9 '10 at 15:36
up vote 5 down vote accepted

This is going to be unsightly...

The following Mathematica code:

Simplify@ CoordinatesFromCartesian[
 CoordinatesToCartesian[{r, theta, phi}, Spherical] 
                     + CoordinatesToCartesian[{r0, theta0, phi0}, Spherical],

gives the following output (doctored so that it looks nicer):

$$ r' = \sqrt{r^2+2 r_0 r \left(\sin (\theta ) \sin \left(\theta _0\right) \cos \left(\phi -\phi _0\right)+\cos (\theta ) \cos \left(\theta _0\right)\right)+r_0^2} $$

$$ \theta' = \cos ^{-1}\left(\frac{r \cos (\theta )+r_0 \cos \left(\theta _0\right)}{\sqrt{r^2+2 r_0 r \left(\sin (\theta ) \sin \left(\theta _0\right) \cos \left(\phi -\phi _0\right)+\cos (\theta ) \cos \left(\theta _0\right)\right)+r_0^2}}\right) $$

$$ \phi' = \tan ^{-1}\left(r \sin (\theta ) \cos (\phi )+r_0 \sin \left(\theta _0\right) \cos \left(\phi _0\right),r \sin (\theta ) \sin (\phi )+r_0 \sin \left(\theta _0\right) \sin \left(\phi _0\right)\right) $$

In this last line, there is a two-argument variant of arctan, which is explained here, for example.

share|cite|improve this answer
Thanks a million, This will make my life so much easier. – Ned Jan 9 '10 at 7:45

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.