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

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?

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.