lundi 28 janvier 2019

Cercle tangent extérieurement à 3 cercles

 Je rajoute une précision, communiquée par Juergen Gilg. C'est un sujet qui a été initié sur :
par l'auteur de pseudonyme  `chishimotoji'. De nombreux participants ont développé le sujet dont Juergen Gilg.


Juergen Gilg en collaboration avec Jean-François Burnol pour les calculs, propose une illustration d'un cas particulier du problème d'un cercle tangent à 3 cercles. Un triangle rectangle ABC étant donné, on trace les demi-cercles dont les diamètres sont les côtés, extérieurs au triangle et on détermine le centre et le rayon du cercle  tangent extérieurement aux demi-cercles. On dessine aussi le triangle dont les sommets sont les points de tangence.

Si Juergen Gilg est bien connu des lecteurs de ces pages, précisons que Jean-François Burnol est l'auteur de nombreux packages touchant aux mathématiques et en particulier sur les calculs avec les grands nombres, on aura un aperçu de ses travaux  déposés sur le CTAN en allant sur :


En utilisant le package animate d'Alexander Grahn,  vous aurez la possibilité de créer une animation interactive incluse dans un pdf ou au format SVG sur l'un des principaux navigateurs. Voici celles créées par Juergen Gilg :



\documentclass[dvipsnames]{article}
\usepackage{pstricks,pst-eucl,animate}

% Authors : Juergen Gilg and Jean-François Burnol

\begin{document}
\begin{center}
\begin{animateinline}[%
    controls,
    palindrome,
    begin={\begin{pspicture}(-5.5,-5.5)(9.5,12.5)},
    end={\end{pspicture}}
    ]{7}% frame rate = 2 image/s
\multiframe{20}{rA=4+0.2,rB=3+-0.05}{%
\pstVerb{%
%% Enter the coordinates of the points of the rectangled triangle
%% Chosen as within the given cercle.pdf (Pythagorean triple 3, 4, 5 for a, b, c)
/xA 0 def
/yA 0 def
/xB \rA\space def
/yB 0 def
/xC 0 def
/yC \rB\space  def
%% Midpoints of the sides
/mAx xB xC add 2 div def
/mAy yB yC add 2 div def
/mBx xA xC add 2 div def
/mBy yA yC add 2 div def
/mCx xA xB add 2 div def
/mCy yA yB add 2 div def
%% Calculating the radius of the half circles along the sides of the
%% rectangled triangle
/rAB xA xB sub 2 exp yA yB sub 2 exp add sqrt 2 div def
/AB rAB 2 mul def
/rAC xA xC sub 2 exp yA yC sub 2 exp add sqrt 2 div def
/AC rAC 2 mul def
/rBC xB xC sub 2 exp yB yC sub 2 exp add sqrt 2 div def
/BC rBC 2 mul def
/DENOM BC 5 mul AB 3 mul add AC 3 mul add def
%% JFB formula
%% X = 2 AB (AB + BC) / (5 BC + 3 AB + 3 AC)
%% Y = 2 AC (AC + BC) / (5 BC + 3 AB + 3 AC)
%% R = 2 (BC + AB) (BC + AC) /  (5 BC + 3 AB + 3 AC)
/x0 AB BC add AB mul 2 mul DENOM div def
/y0 AC BC add AC mul 2 mul DENOM div def
/r0 BC AB add BC AC add mul 2 mul DENOM div def
%% JFB formula for the tangent points
%% P1 = (2(a+c)c, -(a+b+c)c) / (3a + b + 2c)
%% P2 = (-(a+b+c)b, 2(a+b)b) / (3a + 2b + c)
%% P3 = ((a+b+c)(a+c), (a+b+c)(a+b))/ (3a + 2b + 2c)
/p1x BC AB add AB mul 2 mul BC 3 mul AC add AB 2 mul add div def
/p1y BC AC add AB add AB mul BC 3 mul AC add AB 2 mul add div neg def
/p2x BC AC add AB add AC mul BC 3 mul AC 2 mul add AB add div neg def
/p2y BC AC add AC mul 2 mul BC 3 mul AC 2 mul add AB add div def
/p3x BC AC add AB add BC AB add mul BC 3 mul AC 2 mul add AB 2 mul add div def
/p3y BC AC add AB add BC AC add mul BC 3 mul AC 2 mul add AB 2 mul add div def
}
%% Setting the nodes of the points of the triangle
\pstGeonode[PointSymbol=none,PosAngle={225,-45,90}](!xA yA){A}(!xB yB){B}(!xC yC){C}
%\pspolygon[linecolor=blue,linejoin=1](A)(B)(C)
%% Setting the nodes of the midpoints of the triangle sides
\pstMiddleAB[PointSymbol=none,PointName=none]{A}{B}{MAB}
\pstMiddleAB[PointSymbol=none,PointName=none]{A}{C}{MAC}
\pstMiddleAB[PointSymbol=none,PointName=none]{B}{C}{MBC}
%% Full circles along the sides of the triangle (not needed!)
%\pscircle(MAB){!rAB}
%\pscircle(MAC){!rAC}
%\pscircle(MBC){!rBC}
%% Drawing the half circles along the sides of the triangle
\pstArcOAB[linecolor=lightgray]{MAB}{A}{B}
\pstArcOAB[linecolor=lightgray]{MAC}{C}{A}
\pstArcOAB[linecolor=lightgray]{MBC}{B}{C}
%% JFB circle and tangent points
\pnode(!x0 y0){O}
\pnode(!p1x p1y){P1}
\pnode(!p2x p2y){P2}
\pnode(!p3x p3y){P3}
\pscircle[linecolor=Green](O){!r0}
\psdot[linecolor=Green](O)\uput[-90](O){\textcolor{Green}{$O$}}
\psdot[linecolor=red](P1)\uput[-90](P1){$P_1$}
\psdot[linecolor=red](P2)\uput[180](P2){$P_2$}
\psdot[linecolor=red](P3)\uput[90](P3){$P_3$}
\pspolygon[linejoin=1,linecolor=red,linewidth=0.5pt](P1)(P2)(P3)
\psline[linecolor=Green]{->}(O)(P3)
\pstMiddleAB[PointSymbol=none,PointName=none]{O}{P3}{rad}
\uput{7pt}[0](rad){\footnotesize\textcolor{Green}{$r$}}
\pspolygon[linecolor=blue,linejoin=1](A)(B)(C)
}
\end{animateinline}
\end{center}
\end{document}



1 commentaire: