0

I'm looking for a general (hopefully computationally efficient) algorithm for the problem in the title, given the centers and radii of the circles in question. If it matters, I am always looking for the internal common tangent for which the absolute value of the slope is the greatest.

I have found descriptions of techniques to find other specific parameters of tangents, such as the length, and I know I could derive my answers by using them, but my (admittedly suspect) intuition keeps me thinking that there's a better way.

  • Given two circles, there are four possible tangent lines. Which of these four do you consider to be "internal"? – bubba Sep 12 '13 at 04:39
  • As I understand it, by definition, the internal common tangents are the two that cross the line of centers. – Brent Hagany Sep 12 '13 at 11:50

1 Answers1

0

Suppose the circles have radii $a$ and $b$, and the distance between their centers is $d$. Then the tangents make an angle $\theta$ with the line between the centers, where $\sin\theta = (a+b)/d$.

Suppose the line between the centers makes an angle $\phi$ with the $x$-axis. Then the angle you want is $\phi \pm \theta$.

enter image description here

bubba
  • 43,483
  • 3
  • 61
  • 122