My problem is to find two circles in 3D space that share a tangent vector. The only thing known is a a point and tangent on each circle and the radius for both circles.

The problem can be visualized with this image/video:

Known:

- Point on Circle A

- Circle tangent at point Pa, normalized

- Radius of Circle A

- Point on Circle B

- Circle tangent at point Pb, normalized

- Radius of Circle B

Wanted:

- Circle-Circle tangent point on Circle A

- Circle-Circle tangent point on Circle B

We know the following:

- is the angle(unknown) between the Circle A and Circle B plane

I have tried to solve this by substitution but it gets messy. I'm happy for any suggestion in how to find an analytic solution. Maybe I have missed some geometric relations that could help to find a solution?

Here is some relations that could be used.

There is a relation between the given circle tangents and the wanted circle-circle tangent which gives:

Circle A:

This gives:

Doing same thing for Circle B gives:

Combining this gives: