I am looking for a closed form and recursive form (an approximate form would be okay) solution to evaluate a fixed vector when I know the angle between it and two other known vectors. Any suggestions on how to go about solving this would be helpful.

Given vectors $\vec{M}$, $\vec{V}_{1}$, and $\vec{V}_{2}$ (all in $\mathbb{R ^{3} } $), I know the angle between $M$ and $\vec{V}_{1}$ is $\theta_{1}$ and the angle between $\vec{M}$ and $\vec{V}_{2}$ is $\theta_{2}$.

I can take the dot product between the vectors to get



I'll simplify the right side and assume the magnitude of all of these vectors is 1.

Using subscripts to break each vector down into its x, y, and z components, I have these simultaneous equations:

$$M_{x}V_{1x}+M_{y}V_{1y}+M_{z}V_{1z}=\cos(\theta_{1})$$ $$M_{x}V_{2x}+M_{y}V_{2y}+M_{z}V_{2z}=\cos(\theta_{2})$$

The only unknown here is vector $\vec{M}$, which is assumed to have unit length.

For what it's worth, each of these describes a cone with a half angle of $\theta$. I'm looking for the vector(s) $\vec{M}$ where the cones intersect.

Is this how I should start? Where do I go from here?

I want to be able to solve this recursively in a Kalman filter (or extended Kalman filter). I'll have a continuous set of vectors $\vec{V}$, and I'd like to update my estimate of $\vec{M}$ recursively. I'm interested in any suggestions on how to approach that.

  • $\begingroup$ I am going to take the word "tangent" out. After looking at it, I see there is an ambiguity where there can be two lines of intersection and two corresponding solutions pointing in the opposite direction (anti-parallel). So I see there can be 1, 2 or 4 solutions. I'll have to determine some way to resolve that ambiguity. $\endgroup$ – Jim Sep 23 '15 at 20:35

I think that you're not going to find a closed form unless you're willing to narrow the problem. As you observe, two cones can intersect in 0, 1, or 2 lines, and each line contributes two (opposing) unit vectors to your answer set. But there's another possibility, which is that the two cones can intersect in a plane.

Suppose $V_1$ and $V_2$ point towards the north and south poles, and $\theta_1 = \theta_2 = \frac{\pi}{2}$. Then every unit vector in the equatorial plane is a solution to your problem. You have infinitely many solutions. And "closed form equations" don't tend to produce that kind of thing.

If you're willing to say "the $V$ vectors are not collinear," then perhaps we can take their average, start working with a plane orthogonal to that average, etc., and eventually get to a quadratic. But as it stands: it seems hopeless.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.