Converting from spherical coordinates to cartesian around arbitrary vector $N$

1.1k Views Asked by At

So if I'm given an arbitrary unit vector $N$ and another vector $V$ defined in spherical coordinates $\theta$ (polar angle between $N$ and $V$) and $\phi$ (azimuthal angle) and $r = 1$. How do I convert vector $V$ into cartesian coordinates?

Now, I know that in general the conversion from spherical to cartesian is as follows:

$$x = r \sin \theta \cos \phi$$ $$y = r \sin \theta \sin \phi $$ $$z = r \cos \theta$$

However, since the angles $\theta$ and $\phi$ are defined respective to the vector $N$ and not the axes, the above conversion wouldn't work, yes? So how would I go about modifying the conversion?

1

There are 1 best solutions below

0
On

This is not well defined. You really need three vectors to define the spherical coordinate system. With only $ n $, how do you decide where $ \phi = 0 $ is?

Anyway, suppose that you do have an orthonormal basis $ e_1, e_2, e_3 = n $. Then you can write V as $ x e_1 + y e_2 + z e_3 $, where $ x,y,z $ are given by the formula you gave. If you have the Cartesian coordinates of $ e_1, e_2, e_3 $, then you are done.