How can I find the common axis of 2 cones in space that have the same base radius but different heights? 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.
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}$.
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}$.