Accordez-moi une faveur, prenez quelques instants pour découvrir mon dernier projet.

Merci, Lulu

Segments tangents à deux cercles

Introduction

Cet article traite du calcul des coordonnées des points d’intersection des tangentes à deux cercles. Comme le montre la figure suivante, quatre configurations peuvent exister dans le cas général :

Vue des quatres configurations des tangentes à deux cercles

Mise en équation

Pour commencer, considérons le fait que chaque point appartient au cercle : $$ \left \{ \begin{array}{r c l} (x_1 - x_A)^2 + (y_1 - y_A)^2 = {R_A}^2 \\ (x_2 - x_B)^2 + (y_2 - y_B)^2 = {R_B}^2 \end{array} \right . $$

Considérons maintenant le fait que chaque segment tangent est perpendiculaire au rayon : $$ \left \{ \begin{array}{r c l} (x_1 - x_2)^2 + (y_1 - y_2)^2 + {R_A}^2 = (x_2 - x_A)^2 + (y_2 - y_A)^2 \\ (x_1 - x_2)^2 + (y_1 - y_2)^2 + {R_B}^2 = (x_1 - x_B)^2 + (y_1 - y_B)^2 \end{array} \right . $$

Il devient alors possible de résoudre ces quatre équations afin de déterminer les quatre inconnues. Malheureusement, le système n’est pas linéaire et la résolution est complexe.

Configuration de Thales

En revanche, nous pouvons tirer avantageusement profit des configurations de Thales qui nous permettent de calculer facilement la longueur \( \left | P_1 P_2 \right |\).

Première configuration

Dans cette configuration, le point \( U \) est ajouté sur le rayon du cercle \(C_B\) de façon à ce que \( \left | UP_B \right | = R_B - R_A \).

Première configuration d'une droite tangente à deux cercles

Le triangle \( \widehat {P_A U P_B} \) est rectangle et \( \left | P_AU \right |^2 + \left | P_BU \right |^2 = \left | P_AP_B \right |^2\). En s’appuyant sur ce triangle, nous pouvons déduire que :

$$ \left | P_1P_2 \right | = \sqrt { \left | P_AP_B \right |^2 - (R_A - R_B)^2 }$$

De l’équation précédente, nous pouvons déduire que la première configuration n’existe que si \( \left | P_AP_B \right |^2 \ge (R_A - R_B)^2 \) ie. c’est à dire si aucun des cercles n’est intégralement inclus dans l’autre.

Deuxième configuration

Dans cette nouvelle configuration, les points \(A'\) and \(P_1'\)sont ajoutés de façon à ce que \( \left | P_AP_B \right | = \left | MA' \right | \) et \( \left | P_1P_2 \right | = \left | MP_1' \right | \). Notez que, d’après Thales \( \left | P_1'A' \right | = R_A + R_B \).

Deuxième configuration d'une droite tangente à deux cercles

Comme pour la première configuration \( \widehat {M P_1' A'} \) est un triangle rectangle. $$ \left | MP_1' \right |^2 + \left | P_1'A' \right |^2 = \left | MA' \right |^2 $$ $$ \left | P_1P_2 \right |^2 + (R_A + R_B)^2 = \left | P_AP_B \right |^2 $$

Il devient facile de déduire : $$ \left | P_1P_2 \right | = \sqrt { \left | P_AP_B \right |^2 - (R_A + R_B)^2 }$$ De l’équation précédente, nous pouvons déduire que la seconde configuration n’existe que si \( \left | P_AP_B \right |^2 \ge (R_A + R_B)^2 \) ie. c’est à dire aucun des cercles n’est intégralement inclus dans l’autre.

Simplification des équations

Une fois que \( \left | P_1P_2 \right |\) est connu, les équations peuvent être reformulées. Considérons \(L\) égale à \( \left | P_1P_2 \right |\), les équations deviennent :

$$ \left \{ \begin{array}{ll} (x_1 - x_A)^2 + (y_1 - y_A)^2 = {R_A}^2 \\ L^2 + {R_B}^2 = (x_1 - x_B)^2 + (y_1 - y_B)^2 \end{array} \right . $$

$$ \left \{ \begin{array}{ll} (x_2 - x_B)^2 + (y_2 - y_B)^2 = {R_B}^2 \\ L^2 + {R_A}^2 = (x_2 - x_A)^2 + (y_2 - y_A)^2 \end{array} \right . $$

Nous disposons maintenant de deux systèmes indépendants non linéaires à résoudre, étant donné la symétrie du problème, la résolution d’un système nous permet d’obtenir la solution générale.

Résolution des équations

Comme les systèmes sont équivalents, nous allons nous intéresser au premier : $$ \left \{ \begin{array}{ll} (x_1 - x_A)^2 + (y_1 - y_A)^2 = {R_A}^2 \\ (x_1 - x_B)^2 + (y_1 - y_B)^2 = L^2 + {R_B}^2 \end{array} \right .$$

Il est évident que la solution géométrique est l’intersection de deux cercles de centres \(P_A\) et \(P_B\) avec des rayons respectifs de \(R_A\) et \(\sqrt{L^2+{R_B}^2}\).

Les coordonnées de \(P_1\) sont données par :

$$ \left \{ \begin{array}{ll} x_1= \frac{x_A+x_B}{2} + \frac{(x_B-x_A)({R_A}^2-{R_1}^2)}{2D^2} \pm 2\frac{y_A-y_B}{D^2}\sigma_1 \\ y_1= \frac{y_A+y_B}{2} + \frac{(y_B-y_A)({R_A}^2-{R_1}^2)}{2D^2} \pm 2\frac{x_A-x_B}{D^2}\sigma_1 \end{array} \right .$$

avec

$$ \begin{array}{ll} D = \sqrt{ (x_B-x_A)^2 + (y_B-y_A)^2 } \\ L = \sqrt { D^2 - (R_A \pm R_B)^2 } \\ R_1= \sqrt{L^2+{R_B}^2} \\ \sigma_1=\frac{1}{4}\sqrt{ (D+R_A+R_1)(D+R_A-R_1)(D-R_A+R_1)(-D+R_A+R_1) } \end{array} .$$

Nous pouvons, de la même façon déterminer les coordonnées de \(P_2\):

$$ \left \{ \begin{array}{ll} x_2= \frac{x_B+x_A}{2} + \frac{(x_A-x_B)({R_B}^2-{R_2}^2)}{2D^2} \pm 2\frac{y_B-y_A}{D^2}\sigma_2 \\ y_2= \frac{y_B+y_A}{2} + \frac{(y_A-y_B)({R_B}^2-{R_2}^2)}{2D^2} \pm 2\frac{x_B-x_A}{D^2}\sigma_2 \end{array} \right .$$

avec

$$ \begin{array}{ll} D = \sqrt{ (x_B-x_A)^2 + (y_B-y_A)^2 } \\ L = \sqrt { D^2 - (R_B \pm R_A)^2 } \\ R_2= \sqrt{L^2+{R_A}^2} \\ \sigma_2=\frac{1}{4}\sqrt{ (D+R_B+R_2)(D+R_B-R_2)(D-R_B+R_2)(-D+R_B+R_2) } \end{array} .$$

Un test rapide sous Matlab confirme les résultats :

Figure Matlab des quatres tangentes aux deux cercles

Téléchargements

Un test rapide sous Matlab confirme les résultats :

tangents-to-circle.m

Voir aussi


Dernière mise à jour : 13/04/2019