Given a unit vector in spherical coordinates, how do I find two orthonormal vectors?

1.4k Views Asked by At

Given a unit vector in spherical coordinates, \begin{align*} \mathbf{n}(\theta, \phi) = \begin{bmatrix} \cos\theta\sin\phi\\ \sin\theta\sin\phi\\ \cos\phi \end{bmatrix}, \end{align*} does anyone know of an elegant way for me to utilise the angles $\theta$ and $\phi$ to compute two orthonormal vectors to $\mathbf{n}$? Preferably without having to used cross-products.

2

There are 2 best solutions below

2
On BEST ANSWER

It is clear that the unit vector $\mathbf v=[-\sin\theta,\cos\theta,0]^T$ will be orthogonal to $\mathbf n$ since you can verify that $\mathbf v\cdot\mathbf n=0$. To find a unit vector orthogonal to these two just compute the cross product, namely $$\mathbf v\times\mathbf n=\begin{vmatrix}\hat\imath&\hat\jmath&\hat k\\-\sin\theta&\cos\theta&0\\\cos\theta\sin\phi&\sin\theta\sin\phi&\cos\phi\end{vmatrix}=\begin{bmatrix}\cos\theta\cos\phi\\\sin\theta\cos\phi\\-\sin\phi\end{bmatrix}.$$ You can easily check that this is also a unit vector, and that $(\mathbf v\times\mathbf n)\cdot\mathbf v=(\mathbf v\times\mathbf n)\cdot\mathbf n=0$.

1
On

You can use an orthonormal vector on the equator,

$$ \pmatrix{\sin\theta\\-\cos\theta\\0}\;, $$

and

$$ \pmatrix{\cos\theta\cos\phi\\\sin\theta\cos\phi\\-\sin\phi}\;. $$