Analytically derive n-spherical coordinates conversions from cartesian coordinates

I'm finding it difficult to find any non-geometrical derivation of coordinate conversions from cartisan to spherical.

I can understand the derivations geometrically, because I can visualize the construction. However, if I would want to find n-spherical coordinates conversions, how would I do so?

In other words, how do I go from 2D:

\begin{align} x & =r\cos\theta \\[6pt] y & =r\sin\theta \\[6pt] \end{align}

to 3D:

\begin{align} z & =r\cos\theta \\[6pt] y & =r\sin\theta\sin\phi \\[6pt] x & =r\sin\theta\cos\phi \\[6pt] \end{align}

to 4D:

\begin{align} w & =r\cos\theta \\[6pt] z & =r\sin\theta\cos\phi \\[6pt] y & =r\sin\theta\sin\phi\sin\psi \\[6pt] x & =r\sin\theta\sin\phi\cos\psi \\[6pt] \end{align}

and etc..

Ok, I can see a pattern to emerge and can guess that 5D is:

\begin{align} v & =r\cos\theta \\[6pt] w & =r\sin\theta\cos\phi \\[6pt] z & =r\sin\theta\sin\phi\cos\psi \\[6pt] y & =r\sin\theta\sin\phi\sin\psi\sin\delta \\[6pt] x & =r\sin\theta\sin\phi\sin\psi\cos\delta \\[6pt] \end{align}

But why?

You know that if the point $(x_1,x_2,\ldots,x_n)$ lies on the sphere of radius $r$, then $$x_1^2+x_2^2+\cdots+x_n^2=r^2.$$ Now $x_1$ ranges from $-r$ to $r$, so we can let $x_1 = r\cos\theta_1$ for $\theta_1\in[0,\pi]$. Then \begin{align} x_2^2+\cdots+x_n^2&=r^2-x_1^2\\ &=(r\sin\theta_1)^2, \end{align} so $(x_2,\ldots,x_n)$ lies on a sphere of radius $r\sin\theta_1$. (This is sensible because $\sin\theta_1\ge0$ when $\theta\in[0,\pi]$.) Then we continue to do the same thing: $$x_2=(r\sin\theta_1)\cos\theta_2,$$ \begin{align} x_3+\cdots+x_n&=(r\sin\theta_1)^2-x_2^2\\ &=(r\sin\theta_1\sin\theta_2)^2, \end{align} $$x_3=(r\sin\theta_1\sin\theta_2)\cos\theta_3,$$ $$\vdots$$ You have to be a little careful when you get down to $x_{n-1}$. Either set the range of $\theta_{n-1}$ to $[0,2\pi]$ to cover the full circle in two dimensions, or let $x_n=\pm r\sin\theta_1\sin\theta_2\cdots\sin\theta_{n-1}$ because the circle in one dimension contains two points.