Vous êtes ici : Accueil > Equipes de travail > LaTeX > Tikz et les droites remarquables d’un triangle
Publié : 17 juillet 2010

Tikz et les droites remarquables d’un triangle

Il y a quelque temps, sur la liste de discussion pgf-users, était posée la question suivante : comment construire le cercle circonscrit à un triangle ?

Le package tkz-2d d’Alain Matthes permet de répondre élégamment et efficacement à la question : en quelques lignes de code, l’affaire est réglée.

Cependant, il est très utile d’essayer de maîtriser les macros de Tikz afin de bien comprendre son fonctionnement et par ailleurs il faut savoir que tkz-2d n’est à ce jour pas encore sur ctan et que son utilisation n’est donc pas encore supportée par l’ensemble de la communauté LaTeX.

Les constructrions proposées par J.L. Diaz se trouvent ici. On y découvre de nombreuses astuces...

Voici le code de la seconde construction

\usetikzlibrary{calc}
\usetikzlibrary{through}

\begin{document}
   \begin{tikzpicture}
       \coordinate[label=45:$A$]  (A) at (3,2);
       \coordinate[label=200:$B$] (B) at (-1, -1);
       \coordinate[label=0:$C$]   (C) at (4,0);
       % Segments middle points
       \coordinate (AB) at ($(A)!.5!(B)$);
       \coordinate (AC) at ($(A)!.5!(C)$);
       % Points in perpendicular to above middle points
       % The numbers 1 and 2.8 are choosen for the drawing
       % of the help lines, but the center of the circle
       % is found also if we use any other number
       \coordinate (AAB) at ($(AB)!1!-90:(A)$);
       \coordinate (AAC) at ($(AC)!2.8!90:(A)$);
       % Center as intersection of mediatrix
       \coordinate (Center) at (intersection of AB--AAB and AC--AAC);
       % Draw the points
       \foreach \p in {A,B,C}  \draw[fill=red] (\p) circle (3pt);
       % Draw the center
       \draw[fill=blue] (Center) circle (4pt);
       % Draw final circle
       \node at (Center) [draw=blue, circle through=(A)] {};
       % Optionally, draw help lines to see how it is built
       % \draw[help lines] (A)--(B) (A)--(C) (AB) node {AB}
       %    --(AAB) node {AAB} (AC) node{AC}--(AAC) node{AAC};
   \end{tikzpicture}
\end{document}

On remarquera que
- Le milieu AB de [AB] est obtenu par la commande
\coordinate (AB) at ($(A) !.5 !(B)$) ;
qui nécessite la bibliothèque “calc”,
- La perpendiculaire à la droite AB passant par le milieu de [AB] est obtenue en faisant tourner de (-90°) le point A autour de ce milieu.
\coordinate (AAB) at ($(AB) !1 !-90 :(A)$) ;
Ne nions pas le caractère ésotérique de cette ligne de code !
\coordinate (P) at ($(X) !r !a :(Y)$) ;
définit le point P comme image de Y par la rotation autour de X d’angle a suivie de l’homothétie de centre X et de rapport r.
- Le centre est obtenu par une commande très légère
\coordinate (Center) at (intersection of AB—AAB and AC—AAC) ;
- Le cercle lui-même est construit comme un “node” et nécessite la bibliothèque “through”.

Il est plus simple de constuire le centre de gravité G du triangle. Pour nos débutants, voici le code source :

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
        Centre de gravit\'e d'un triangle \par
        \bigskip
        \begin{tikzpicture}
                \coordinate[label=left:$A$] (A) at (-1,-1);
                \coordinate[label=right:$B$]  (B) at (3,1);
                \coordinate[label=above:$C$]  (C) at (0,3);
                \draw (A)--(B)--(C)--cycle;
                \coordinate[label=below:$C_1$] (mAB) at ($(A)!0.5!(B)$);
                \coordinate[label=above right:$A_1$] (mBC) at ($(B)!0.5!(C)$);
                \coordinate[label=left:$B_1$] (mCA) at ($(C)!0.5!(A)$);
                \draw (C)--(mAB);
                \draw (A)--(mBC);
                \draw (B)--(mCA);
                \coordinate (G) at (intersection of A--mBC and B--mCA) ;
                \fill (G) circle (0.5mm) node[below right,red] {$G$};
                \foreach \p in {A,B,C,mAB,mBC,mCA}
                        \fill (\p) circle (0.5mm);
        \end{tikzpicture}
\end{document}

Nous ne résisterons pas à la tentation de représenter une des figures les plus célèbres de nos manuels de mathématique...


Venons-en à la construction des hauteurs et de l’orthocentre, en reprenant les idées de J.L.Diaz.

Pour cela, une idée est de construire le triangle EDF dont les milieux des côtés sont les points A, B et C.
Ce triangle EDF est aussi l’image de ABC par l’homothétie de centre G et de rapport (-2), on peut donc le construire de plusieurs manières.

Voyons D comme 4ème point du parallélogramme ABCD.
Le code permettant de construire ce 4èmepoint peut s’avérer être très utile dans bon nombre de situations. Le voici :

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
        \begin{tikzpicture}
                \coordinate[label=above:$A$] (A) at (2,3);
                \coordinate[label=left:$B$] (B) at (-1, -2);
                \coordinate[label=right:$C$] (C) at (4,-1);
                \coordinate (D) at ($(A)+(C)-(B)$);               
                \draw (A)--(B)--(C)--(D)--cycle;
                \foreach \i in {A,B,C,D}
                        \fill[red] (\i) circle (0.6mm);
                \path (D) node[right,blue]{$D$};
        \end{tikzpicture}
\end{document}

Le code du cadre précédent ne fait rien d’autre que construire le point D...

La ligne \coordinate (D) at ($(A)+(C)-(B)$) ; est très compacte et réalise un calcul vectoriel sur les coordonnées de A et les composantes du vecteur BC

Revenons à notre orthocentre.
On définit donc
D (E, F) tel que ABCD (resp.ACBE, ABFC) soit un parallélogramme.

De là, en faisant tourner D (E, F) de ±90° autour de A (resp. B, C), on obtient de nouveaux points situés sur les hauteurs du triangle.

La construction de l’orthocentre H se fait alors très simplement par intersection de deux hauteurs.

% Urem de Bruxelles - Hugues Vermeiren
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
        Construction de l'orthocentre d'un triangle

        \bigskip
        \begin{tikzpicture}
                \coordinate[label=above:$A$] (A) at (0,3);
                \coordinate[label=left:$B$] (B) at (-2, 0);
                \coordinate[label=right:$C$] (C) at (2,-1);
                %
                \coordinate (D) at ($(A)+(C)-(B)$);       
                \coordinate (E) at ($(B)+(A)-(C)$);       
                \coordinate (F) at ($(C)+(B)-(A)$);
                \draw[orange,thick] (A)--(B)--(C)--cycle;
                %
                \coordinate (HA) at ($(A)!1.5!-90:(D)$);
                \coordinate (HB) at ($(B)!1!-90:(E)$);
                \coordinate (HC) at ($(C)!1!-90:(F)$);
                \coordinate (H) at (intersection of HA--A and HB--B);
                \coordinate (A') at (intersection of HA--A and B--C);
                \coordinate (B') at (intersection of HB--B and C--A);
                \coordinate (C') at (intersection of HC--C and A--B);
                \draw (A)--(A') (A)--(H);% on surécrit pour couvrir tous les cas
                \draw (B)--(B') (B)--(H);
                \draw (C)--(C') (C)--(H);
                \draw[orange,dashed] (A)--(B') (B)--(A') (A)--(C');
                %
                \foreach \i in {A',B',C'}
                        \fill (\i) circle (0.6mm);
                \foreach \i in {A,B,C}
                        \fill[red,draw=black] (\i) circle (0.8mm);
                \fill[blue!30,draw=black] (H) circle (0.8mm) node[right=0.2cm,black]{$H$};
                %
                \draw[help lines] (D) node{D}--(E) node {E}--(F) node{F}--cycle;
        \end{tikzpicture}
\end{document}

Cette dernière construction n’est qu’un exemple de réalisation. L’idée était d’offrir un prolongement aux constructions proposées sur la liste de discussion pgf-users.

Si on désire procéder autrement, on se rappelera par exemple que, le centre de gravité G et le centre du cercle circonscrit étant donnés, on obtient l’orthocentre H comme image de O par une homothétie de centre G et de rapport (-2).

A ce sujet, on relira, sur le site de Xavier Hubaut, la page consacrée à ce thème.

Documents joints