Construct unit vector $\vec{m}$ at an angle $\theta$ with a given unit vector $\vec{n}$

197 Views Asked by At

Given a unit vector $\hat{n}$ and angle $\theta_{nm}$, what is the general form for the unit vector $\hat{m}$, if $\theta_{nm}$ is the separation angle between $\hat{n}$ and $\hat{m}$?

Obviously they satisfy:

$$\hat{m}\cdot\hat{m}=1 \quad \hat{n}\cdot\hat{n}=1 \quad \hat{n}\cdot\hat{m}=\cos{\theta_{nm}}$$

This has puzzled me for a bit now. It's intuitive that the 'solution' lies on a cone enveloping $\hat{n}$, but it's unclear to me what its analytic expression is.

The case of $\hat{n}=\left(0, 0, 1\right)$ is trivial in $xyz$-coordinates,

$$ \hat{m} = \left( \cos\phi\sqrt{1-\cos\theta_{nm}},\,\, \sin\phi\sqrt{1-\cos\theta_{nm}},\,\, \cos\theta_{nm} \right) \quad $$

with $\phi$ being any angle. My initial approach was to transform $\hat{n}\rightarrow\left(0, 0, 1\right)$, and then transform $\hat{m}$ inversely, which however seems unnecessary (and I dislike rotation matrices). Given the independence of coordinate systems, there must be a general vector form, which could then be easily cast in Cartesian, spherical, or whatever systems. I am looking for this pure vector solution, not in a vector-component form.

I found a similar question whose solution is in a vector form. But I am unsure how to extend it to the problem at hand.

If you can show how it is applicable to a given $\left( n_x,\, n_y,\, n_z \right)$ or $\left( n_r,\, n_\theta,\, n_\phi \right)$ to get $\hat{m}$, that’d be fantastic! Thanks.

Comment: Here's how to visualize. With all unit vectors, we can think of them lying on a unit-sphere. Let $\hat{n}$ be defined by a point anywhere on the sphere. Then, $\hat{m}$ lies anywhere on the circle centered at $\hat{n}$ and with radius $\sin\theta$.

1

There are 1 best solutions below

2
On BEST ANSWER

As visualized by the OP, the resulting vector $\vec{m}$ shall point to anywhere on a circle with the vector $\vec{n}$ as the center. In other words, the vector $\vec{m}$ is to be parametrized to trace out a circle around $\vec{n}$.

To construct $\vec{m}$ generally, we assume a parametrization vector $\vec{a}$ that is not parallel to $\vec{n}$, but otherwise arbitray. First, a vector that is perpendicular to $\vec{n}$ can be constructed as follows,

$$\vec{u}= \vec{a} - (\vec{a}\cdot\vec{n})\vec{n}$$

which satisfies $\vec{u}\cdot\vec{n}=0$. Next, the unit vector $\vec{m}$ that is at angle $\theta_{nm}$ with $\vec{n}$ can be constructed in the general form below,

$$\vec{m} = \cos \theta_{nm} \> \vec{n} + \sin\theta_{nm}\frac{\vec{u}}{|\vec{u}|}$$

It is straightforward to verify that $|\vec{m}|=1$ and $\vec{m}\cdot\vec{n}=\cos \theta_{nm}$, that is, $\vec{m}$ is a unit vector at the angle $\theta_{nm}$ with the vector $\vec{n}$.

By varying the parametrization vector $\vec{a}$, which is equivalent to, yet more general than, an arbitrary $\phi$, the resulting vector $\vec{m}$ rotates around the given vector $\vec{n}$. As pointed by the OP, the radius of the rotation is $\sin\theta_{nm}$, which can be obtained from the vector expression constructed above.