How can I find the common axis of 2 cones in space that have the same base radius but different heights?

211 Views Asked by At

How do I find the 3D vector describing the axis of 2 overlapping cones, like this:

If I have only the following information:

  • Coordinates of the common tip
  • Coordinates of a point on the yellow cone's base
  • Coordinates of a point on the blue cone's base
  • The base radius (same for both)
  • The separation between the tip and both bases, along the common axis

Given that the axis can be an arbitrary vector.

1

There are 1 best solutions below

5
On

Let $\mathbf{v}$ be a unit vector along the common axis of the cones, let $\mathbf{a}, \mathbf{b}$ be the vectors joining the vertex to the points on the yellow and blue cones' bases. Since we know the radii and the height of these cones, we can compute $\theta_1, \theta_2$ the angles between $\mathbf{v}, \mathbf{a}$ and $\mathbf{v}, \mathbf{b}$ respectively. So $\mathbf{v} \cdot \mathbf{a} = |\mathbf{a}|\cos{\theta_1} $, $\mathbf{v} \cdot \mathbf{b} = |\mathbf{b}|\cos{\theta_2}$ and $|\mathbf{v}| = 1$ - Three equations with three unknowns so we can solve for $\mathbf{v}$.