[Math] Calculate tangent points of two circles.

geometrysystems of equations

I have 2 circles with given center coordinates and radius.
And now I need to find the coordinates of all 8 tangent points to those circles?

enter image description here

I found this site explaining exactly what I want do to:

"The points of tangency t_1 and t_2 for the four lines tangent to two circles with centers x_1 and x_2 and radii r_1 and r_2 are given by solving the simultaneous equations"

enter image description here

enter image description here

enter image description here

enter image description here

That makes sense to me. But I can't solve that analytically.
Can you help me with that?

Best Answer

rather than cranking through the algebra it's probably better to solve this as a "secular" geometry problem and then translate back to the plane.

let $d=|\textbf{x}_1-\textbf{x}_2|$

Define $\alpha$ as the angle measured from the line of centres of the radius to the first point of tangency ( where the tangent lies above both circles )

Define $\beta$ as the angle measured from the line of centres of the radius to the second point of tangency ( where the tangent lies above above the left circle and below the right circle. )

you get $ \cos \alpha = \frac{d}{r_1 - r_2}$ and $ \cos \beta = \frac{r_1 + r_2}{d}$

so the four points of tangency on the left circle have angles of $\pm \alpha$ and $\pm \beta$ relative to the line of centres. The corresponding points on the right circle are at angles $ \pm (\pi - \alpha) $ and at $\mp \beta$, again relative to the line of centres.

to find the co-ordinates of the first point of tangency the only extra bit of info you need is the angle of the line of centres to the horizontal.

$\tan \theta = $ the slope of the line joining $\textbf{x}_1$ and $\textbf{x}_2$

$ \textbf{t}_1= \textbf{x}_1 + r_1(cos( \alpha + \theta), sin(\alpha + \theta))$

follow an analogous procedure to determine the other seven points.

Related Question