Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I can't seem to come up with a simple formula to head-tail adding two vectors in spherical coordinates. So I'd like to know:

  1. Can anybody point out a way to do it in spherical coordinates (without converting back and forth from cartesian coordinates)?
  2. For the sake of execution speed in a computer program, is it faster to do it straight in spherical coordinates or converting back and forth from cartesian coordinates?

update: to clarify, I'm not talking about the trivial case in which the tails of the two vectors lay in the same point

share|improve this question
Depends: what are you intending to do? Do you want to know the coordinates of the point that you will end up at after moving along a particular vector from some other point? It's important to note that treating coordinates as vectors only works in exceedingly nice coordinate systems (e.g. Cartesian). –  Zhen Lin Jan 15 '11 at 9:07

1 Answer 1

up vote 4 down vote accepted

Added: As pointed out by David Zaslavsky in his comment the sum below holds only in the trivial case in which $\overrightarrow{u}_P$, $\overrightarrow{v}_P$ are applied to the same point $P$. If the vectors $\overrightarrow{u}_P$, $\overrightarrow{v}_Q$ are applied to two different points $P,Q$, then the unit vectors $\overrightarrow{e}_{r},\overrightarrow{e}_{\theta },\overrightarrow{e}_{\varphi }$ have different directions, and consequently the sum $\overrightarrow{u}_P+\overrightarrow{v}_Q$ is given by a more complex formula and I do NOT see how to avoid the usual spherical to Cartesian coordinates conversion and back.

If you have two vectors in spherical coordinates

$\overrightarrow{u}=u_{r}\overrightarrow{e}_{r}+u_{\theta }\overrightarrow{e}% _{\theta }+u_{\varphi }\overrightarrow{e}_{\varphi }$

$\overrightarrow{v}=v_{r}\overrightarrow{e}_{r}+v_{\theta }\overrightarrow{e}% _{\theta }+v_{\varphi }\overrightarrow{e}_{\varphi }$

their sum is

$\overrightarrow{u}+\overrightarrow{v}=\left( u_{r}+v_{r}\right) \overrightarrow{e}_{r}+\left( u_{\theta }+v_{\theta }\right) \overrightarrow{% e}_{\theta }+\left( u_{\varphi }+v_{\varphi }\right) \overrightarrow{e}% _{\varphi }$

share|improve this answer
This only applies if the two vectors exist at the same point, though - such as if you had two vector fields and you wanted to add up the values at corresponding points. Because the OP talks about the head-tail method, I suspect that may not be the case here. –  David Z Jan 14 '11 at 22:38
@David Zaslavsky, You are right! I updated my answer. –  Américo Tavares Jan 15 '11 at 0:04

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.