TRIANGLES ET DROITES PARTICULIERES (41)
Liste des figures
Figure fig_aa01_150208_triangle
figure 0001
Figure fig_aa02_150208_triangle
figure 0002
Figure fig_ab01_150208_triangle
figure 0003
Figure fig_ab02_150208_triangle
figure 0004
Figure fig_ac01_190208_triangle
figure 0005
Figure fig_ad01_090109_triangle_grille
figure 0006
Figure fig_ad02_090109_triangle_grille
figure 0007
Figure fig_ad03_090109_triangle_grille
figure 0008
Figure fig_ad04_070209_triangle
figure 0009
Figure fig_ba01_290208_triangle
figure 0010
Figure fig_ba02_290208_triangle
figure 0011
Figure fig_ba03_290208_triangle
figure 0012
Figure fig_ba04_290208_triangle
figure 0013
Figure fig_ba05_290208_triangle
figure 0014
Figure fig_ba06_290208_triangle
figure 0015
Figure fig_ba07_290208_triangle
figure 0016
Figure fig_bb01_290208_triangle
figure 0017
Figure fig_bb02_290208_triangle
figure 0018
Figure fig_bb03_290208_triangle
figure 0019
Figure fig_bc01_290208_triangle
figure 0020
Figure fig_bc02_290208_triangle
figure 0021
Figure fig_bc03_141109_triangle
figure 0022
Figure fig_bc04_290208_triangle
figure 0023
Figure fig_bc05_290208_triangle
figure 0024
Figure fig_bc06_290208_triangle
figure 0025
Figure fig_bc07_290208_triangle
figure 0026
Figure fig_bc08_290208_triangle
figure 0027
Figure fig_ca01_250208_mediane
figure 0028
Figure fig_cb01_250208_medianes
figure 0029
Figure fig_cb02_250208_medianes
figure 0030
Figure fig_cb03_250208_medianes
figure 0031
Figure fig_cc01_290208_medianes
figure 0032
Figure fig_db01_250208_hauteurs
figure 0033
Figure fig_db02_250208_hauteurs
figure 0034
Figure fig_dc01_290208_hauteurs
figure 0035
Figure fig_ea01_190308_mediatrice
figure 0036
Figure fig_eb01_250208_mediatrices
figure 0037
Figure fig_eb02_250208_mediatrices
figure 0038
Figure fig_eb03_250208_mediatrices
figure 0039
Figure fig_ec01_290208_mediatrices
figure 0040
Figure fig_ec02_290208_cercle_circonscrit
figure 0041
Asymptote - Figure 0001: fig_aa01_150208_triangle.asy
(Code compilé avec Asymptote version 2.14svn)
largeur320 Figure fig_aa01_150208_triangle
// On définit la largeur de l'image ; 
// la hauteur va s'adapter pour garder les proportions.
size(5cm,0);

// On trace le triangle.
draw ((0,0)--(1,0)--(0,1)--cycle);
Asymptote - Figure 0002: fig_aa02_150208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_aa02_150208_triangle
// On définit la largeur de l'image ;
// la hauteur va s'adapter pour garder les proportions.
size(6cm,0);

// On définit les sommets du triangle.
pair A=(0,0), B=(1.5,0), C=(0.5,1);

// On trace le triangle.
draw (A--B--C--cycle);
Asymptote - Figure 0003: fig_ab01_150208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ab01_150208_triangle
// On définit la largeur de l'image ;
// la hauteur va s'adapter pour garder les proportions.
size(6cm,0);

// On définit les sommets du triangle.
pair A=(-2,0), B=(5,0), C=(3,3), D=(2,3), E=(0,5);

// On trace une surface triangulaire rouge.
fill((A--B--C--cycle),red);

// et un triangle d'un rouge plus foncé.
draw((A--D--E--cycle),1bp+.8red);
Asymptote - Figure 0004: fig_ab02_150208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ab02_150208_triangle
// Taille d'image automatique
size(0,0);
 
// On trace le triangle de deux couleurs
filldraw((0,0)--(6cm,0)--(1cm,4cm)--cycle,
       fillpen=red,
       drawpen=linewidth(1mm)+.8blue);
           
shipout(bbox(3mm,white));
Asymptote - Figure 0005: fig_ac01_190208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ac01_190208_triangle
size(6cm,0);
pair A=0, B=(1,0), C=(1.5,1.5);
 
draw(A--B--C--cycle);
dot("$A$",A,dir(C--A,B--A));  
dot("$B$",B,dir(C--B,A--B));  
dot("$C$",C,dir(A--C,B--C));
Asymptote - Figure 0006: fig_ad01_090109_triangle_grille.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ad01_090109_triangle_grille
import math;

size(6cm,0);

add(grid(6,5,lightgray));

pair pA=(1,1), pB=(5,1), pC=(4,4);
 
draw(pA--pB--pC--cycle);
dot("$A$",pA,dir(pC--pA,pB--pA));  
dot("$B$",pB,dir(pC--pB,pA--pB));  
dot("$C$",pC,dir(pA--pC,pB--pC));
Asymptote - Figure 0007: fig_ad02_090109_triangle_grille.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ad02_090109_triangle_grille
import math;

size(6cm,0);

// Définition de styles de points
marker croix=marker(scale(2)*cross(4),
                     1bp+gray);

add(grid(6,5,.8lightgray));

pair pA=(1,1), pB=(5,1), pC=(4,4);
 
draw(pA--pB--pC--cycle);
draw("$A$",pA,dir(pC--pA,pB--pA),blue,croix);  
draw("$B$",pB,dir(pC--pB,pA--pB),croix);  
draw("$C$",pC,dir(pA--pC,pB--pC),croix);
Asymptote - Figure 0008: fig_ad03_090109_triangle_grille.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ad03_090109_triangle_grille
import math;
import markers;

size(6cm,0);

// Définition de styles de points
marker croix=marker(scale(3)*cross(4),
                     1bp+gray);

add(grid(6,6,.8lightgray));

pair pA=(1,1), pB=(5,5), pC=(2,4);
 
draw(pA--pB--pC--cycle);
draw("$A$",pA,SW,blue,croix);  
draw("$B$",pB,SE,blue,croix);  
draw("$C$",pC,NW,croix);

draw(pA--pC,StickIntervalMarker(1,2,size=8,angle=-45,red));
draw(pB--pC,StickIntervalMarker(1,2,size=8,angle=-45,red));
Asymptote - Figure 0009: fig_ad04_070209_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ad04_070209_triangle
import math;

size(6cm,0);

// Définition de styles de points
marker cross=marker(scale(3)*rotate(45)*cross(4),1bp+red);
// Définition du triangle
pair pA=(1,1), pB=(5,1), pC=(4,4);
path triangle=pA--pB--pC--cycle;

// Construction des points puis du triangle
cross.mark(triangle); 
draw(triangle);
Asymptote - Figure 0010: fig_ba01_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ba01_290208_triangle
/* L'extension geometry de Philippe Ivaldi définit :
   * plusieurs nouvelles structures (types) dont **triangle** ;
   * plusieurs nouvelles fonctions dont triangleabc
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
// Contruction d'un triangle en spécifiant les longueurs des côtés.,
triangle t=triangleabc(3,4,5);
draw(t);
Asymptote - Figure 0011: fig_ba02_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ba02_290208_triangle
/* L'extension geometry de Philippe Ivaldi définit :
   * plusieurs nouvelles structures (types) dont **triangle** ;
   * plusieurs nouvelles fonctions dont triangleabc
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
// Définition d'un triangle en spécifiant les longueurs des côtés.,
triangle tri = triangleabc(3,4,5);
// L'instruction show trace le triangle, étiquette les sommets et les côtés.
// Quand elles ne sont pas spécifiées, 
// les étiquettes (labels) par défaut des trois sommets sont A, B et C,
// les étiquettes (labels) associées aux trois côtés sont a, b et c.
show(tri);
Asymptote - Figure 0012: fig_ba03_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ba03_290208_triangle
/* L'extension geometry de Philippe Ivaldi définit :
   * plusieurs nouvelles structures (types) dont **triangle** ;
   * plusieurs nouvelles fonctions dont triangleabc
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
// Définition d'un triangle en spécifiant les longueurs des côtés.,
triangle t = triangleabc(3,4,5);
// L'instruction show trace le triangle, étiquette les sommets et les côtés.
// Quand elles ne sont pas spécifiées, 
// les étiquettes (labels) par défaut des trois sommets sont A, B et C,
// les étiquettes (labels) associées aux trois côtés sont a, b et c.
show(t,LA="$D$",LB="$E$",LC="$F$",La="",Lb="",Lc="");
Asymptote - Figure 0013: fig_ba04_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ba04_290208_triangle
/* L'extension geometry de Philippe Ivaldi définit :
   * plusieurs nouvelles structures (types) dont **triangle** ;
   * plusieurs nouvelles fonctions dont triangleabc
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
// Définition d'un triangle en spécifiant les longueurs des côtés.,
triangle t = triangleabc(3,4,5);
// ... et son tracé en rouge, en indiquant les longueurs.
show(La="3",Lb="4",Lc="5",t,red);
Asymptote - Figure 0014: fig_ba05_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ba05_290208_triangle
/* L'extension geometry de Philippe Ivaldi définit :
   * plusieurs nouvelles structures (types) dont **triangle** ;
   * plusieurs nouvelles fonctions dont triangleabc
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
// Définition d'un triangle en spécifiant les longueurs des côtés.,
triangle tri2=triangleabc(7,4,7);
// ... et son tracé en rouge, en indiquant les longueurs.
show(La="7",Lb="4",Lc="",tri2,1bp+blue);
// Par défaut, comme dans les exemples précédents, 
// les deux premiers points t.A et t.B (quand le triangle est nommé t)
// sont placés sur une horizontale.
// Pour orienter différemment le triangle, on utilisera l'argument angle.
Asymptote - Figure 0015: fig_ba06_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ba06_290208_triangle
/* L'extension geometry de Philippe Ivaldi définit :
   * plusieurs nouvelles structures (types) dont **triangle** ;
   * plusieurs nouvelles fonctions dont triangleabc
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
// Définition d'un triangle en spécifiant les longueurs des côtés.,
triangle t2=triangleabc(7,4,7,angle=90);
// ... et son tracé en rouge, en indiquant les longueurs.
show(La="7",Lb="4",Lc="",t2,1bp+blue);
markangle("$\alpha$",1,radius=.5cm,t2.B,t2.A,t2.C);
markangle("$\beta$",2,radius=.5cm,t2.C,t2.B,t2.A);
Asymptote - Figure 0016: fig_ba07_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ba07_290208_triangle
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
show(currentcoordsys);
// Triangle ABC avec A à l'origine
triangle t1=triangleabc(3,4,5,angle=90);
show(La="3",Lb="4",Lc="5",
     t1,.8bp+blue);
// Triangle DEF avec "A" de coordonnées (2,3)
// "A" désignant le premier point, étiqueté D
triangle t2=triangleabc(3,4,5,angle=30,A=(2,3));
show(LA="D",LB="E",LC="F",
     La="3",Lb="4",Lc="",
     t2,.8bp+red);
// Mise en évidence de l'incidence des arguments
// angle et A.
markangle("$\alpha=30^\circ$",1,radius=.5cm,
          t2.A+dir(0),t2.A,t2.B);
draw((t2.A.x,0)--t2.A--(0,t2.A.y),
      dashed+.5bp+red);
Asymptote - Figure 0017: fig_bb01_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bb01_290208_triangle
/* L'extension geometry de Philippe Ivaldi définit :
   * plusieurs nouvelles structures (types) dont **triangle** ;
   * plusieurs nouvelles fonctions dont triangleAbc
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
// Contruction d'un triangle en spécifiant deux longueurs et un angle
triangle t=triangleAbc(70,3,5); // A en majuscule !
show(La="", Lb="3", Lc="5",t);
markangle("$70^\circ$",2,radius=.5cm,t.B,t.A,t.C);
Asymptote - Figure 0018: fig_bb02_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bb02_290208_triangle
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(7cm);
show(currentcoordsys);
triangle t2=triangleAbc(70,3,5,angle=30,A=(2,0));
show(LA="D",LB="E",LC="F",
     La="",Lb="3",Lc="5",
     t2,.8bp+red);
markangle("$\alpha=30^\circ$",1,radius=.5cm,
          t2.A+dir(0),t2.A,t2.B);        
Asymptote - Figure 0019: fig_bb03_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bb03_290208_triangle
import geometry;
size(7cm);
show(currentcoordsys);
// Triangle ABC avec A à l'origine
triangle t1=triangleAbc(70,3,5);
show(LA="",
     La="",Lb="3",Lc="5",
     t1,.8bp+blue);
markangle("$70^\circ$",2,radius=.5cm,
          t1.B,t1.A,t1.C);
// Triangle DEF avec "A" de coordonnées (2,4)
// "A" désignant le premier point, étiqueté D
triangle t2=triangleAbc(70,3,5,angle=30,A=(2,4));
show(LA="D",LB="E",LC="F",
     La="",Lb="3",Lc="5",
     t2,.8bp+red);
markangle("$70^\circ$",2,radius=.5cm,
          t2.B,t2.A,t2.C);
 
// Mise en évidence de l'incidence des arguments
// angle et A.
markangle("$\alpha=30^\circ$",1,radius=.8cm,
          t2.A+dir(0),t2.A,t2.B);
draw((t2.A.x,0)--t2.A--(0,t2.A.y),
     dashed+.5bp+red);
Asymptote - Figure 0020: fig_bc01_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bc01_290208_triangle
/* Triangle défini par ses sommets*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
point A=(0,0); 
point B=(1,2); 
point C=(-1,1); 
triangle t=triangle(A,B,C);
draw(t);
Asymptote - Figure 0021: fig_bc02_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bc02_290208_triangle
/* Triangle défini par ses sommets*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
point p1=(0,0),p2=(1,2),p3=(-1,1); 
triangle t=triangle(p1,p2,p3);
show(t);
// L'instruction show trace le triangle, étiquette les sommets et les côtés.
// Quand elles ne sont pas spécifiées, 
// les étiquettes (labels) par défaut des trois sommets sont A, B et C,
// les étiquettes (labels) associées aux trois côtés sont a, b et c.
Asymptote - Figure 0022: fig_bc03_141109_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bc03_141109_triangle
/* Triangle défini par ses sommets*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(8cm);

point p1=(0,0),p2=(1,2),p3=(-1,1); 
triangle tri=triangle(p1,p2,p3);

real a=length(segment(tri.BC)),
     b=length(segment(tri.AC)),
     c=length(segment(tri.AB));

show(LA="",LB="",LC="",
     La=(string) a,Lb=(string) b,Lc=(string) c,
     tri);
     
triangle tri2=shift(0,-3)*tri;
string a2=format("%.1f",length(segment(tri2.BC))),
       b2=format("%.2f",length(segment(tri2.AC))),
       c2=format("%.3f",length(segment(tri2.AB)));

show(LA="",LB="",LC="",
     La=a2,Lb=b2,Lc=c2,
     tri2,
     linewidth(1bp));
       
Asymptote - Figure 0023: fig_bc04_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bc04_290208_triangle
/* Triangle défini par ses sommets*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
point D=(0,0),E=(1,2),F=(-1,1); 
triangle t=triangle(D,E,F);
draw(t,1bp+orange);
label(t);
// par défaut, label(t) étiquette A, B, C les sommets du triangle !
// On ne confondra pas un point et son étiquette (label). 
Asymptote - Figure 0024: fig_bc05_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bc05_290208_triangle
/* Triangle défini par ses sommets*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
point pa=(0,0),pb=(1,2),pc=(-1,1); 
triangle tria=triangle(pa,pb,pc);
draw(tria,1bp+.5green);
label("$X$","$Y$","$Z$",tria,.3green);
Asymptote - Figure 0025: fig_bc06_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bc06_290208_triangle
/* Triangle défini par ses sommets*/
import geometry;
size(6cm);
point A=(0,0); 
point B=(1,2); 
point C=(-1,1); 
triangle t=triangle(A,B,C);
label("$D$","$E$","$F$", t, 0.8*blue);
draw(t,1.5bp+0.8*red,dot);
Asymptote - Figure 0026: fig_bc07_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bc07_290208_triangle
/* Triangle défini par ses sommets*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
// Déf. du style des points : des croix grises
marker croix=marker(scale(1mm)*rotate(45)*cross(4),
                    1bp+.8grey);
point pD=(0,0),pE=(1,2),pF=(-1,1); 
triangle t=triangle(pD,pE,pF);
label("$D$","$E$","$F$", t, 0.8*blue);
draw(t,bp+0.8*blue,croix);
Asymptote - Figure 0027: fig_bc08_290208_triangle.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_bc08_290208_triangle
/* Triangle défini par ses sommets*/

// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm);
point A=(0,0),B=(3,0),C=(0,3);
point D=(4,0),E=(4,4),F=(0,4);
triangle t1=triangle(A,B,C);
draw(t1);label(t1);
triangle t2=triangle(D,E,F);
draw(t2,1bp+green);
label("$D$","$E$","$F$",t2,.5green);
Asymptote - Figure 0028: fig_ca01_250208_mediane.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ca01_250208_mediane
/* Une première méthode pour la construction d'une médiane */
size(6cm,0);
import markers;
// Tracé du triangle
pair A=0, B=(3,0), C=(2.5,3);
draw(A--B--C--cycle);
// Médiane issue de A d'une première méthode
draw (A--midpoint(B--C));
// Codage
draw(B--C,1bp+red,StickIntervalMarker(angle=45,size=3mm,space=1mm));
Asymptote - Figure 0029: fig_cb01_250208_medianes.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_cb01_250208_medianes
/* Trois méthodes pour la construction d'une médiane */
size(6cm,0);
// Tracé du triangle
pair A=0, B=(3,0), C=(2.5,3);
draw(A--B--C--cycle);
dot("$A$",A,dir(C--A,B--A));  
dot("$B$",B,dir(C--B,A--B));  
dot("$C$",C,dir(A--C,B--C));
// Médiane issue de A d'une première méthode
draw (A--midpoint(B--C));
// Médiane issue de B d'une seconde méthode
draw (B--A+0.5*(C-A));
// Médiane issue de C d'une troisième méthode
draw (C--interp(A,B,0.5));
Asymptote - Figure 0030: fig_cb02_250208_medianes.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_cb02_250208_medianes
/* Construction des trois médianes, en utilisant une boucle */
size(6cm,0);
// Tracé du triangle
pair A=0, B=(3,0), C=(2.5,3);
path p=A--B--C--cycle;
draw(p);
pair[] Mil=new pair[2];
// Tracé des médianes, avec une boucle cette fois
for (int i = 0; i <= 2; ++i) {
  Mil[i]=(point(p,i+1)+point(p,i+2))/2;
  draw (point(p,i)--Mil[i]);  
}
// Tracé du centre de gravité
dot("$G$",(A+B+C)/3);
Asymptote - Figure 0031: fig_cb03_250208_medianes.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_cb03_250208_medianes
/* Utilisation du centre de gravité pour construire les médianes */
import math;
size(6cm,0);
// On définit une fonction qui va retourner le centre de 
// gravité d'un triangle lorsque l'on donne ses sommets.
pair CentreGravite (pair Point1,pair Point2,pair Point3) {
    return (Point1+Point2+Point3)/3;
}
// Tracé du triangle
pair A=0, B=(3,1), C=(1.5,3);
pair G=CentreGravite(A,B,C);
path p=A--B--C--cycle;
draw(p);
// Tracé des médianes, avec une boucle
for (int i = 0; i <= 2; ++i)
{
  drawline(G,(point(p,i)+point(p,i+1))/2,
           1bp+green+dashed);
}
dot(G,blue);
Asymptote - Figure 0032: fig_cc01_290208_medianes.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_cc01_290208_medianes
/* Utilisation de l'extension de Philippe Ivaldi */
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(7cm,0);
point A=(0,3),C=(2,5);
// B image de A par translation de vecteur (5,-1)
point B=A+(5,-1);
// Définition et tracé du triangle
triangle Tri=triangle(A,B,C);
draw(Tri);label(Tri);
// Définition et tracé des médianes
line medA=median(Tri.VA);
draw(medA,.8+red);
line medB=median(Tri.VB);
draw(medB,dashed+.8+blue);
line medC=median(Tri.VC);
draw(medC,dotted+1.2+green);
Asymptote - Figure 0033: fig_db01_250208_hauteurs.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_db01_250208_hauteurs
/* un triangle et ses hauteurs */

import math;
size(6cm,0);
// Tracé du triangle
pair A=0, B=(3,1), C=(1.5,3);
path p=A--B--C--cycle;
draw(p);
drawline(A,A+dir(90+degrees(B-C,false)),
         .5bp+red+dashed);
drawline(B,B+dir(90+degrees(A-C,false)),
         .5bp+blue+dashed);
drawline(C,C+dir(90+degrees(A-B,false)),
         .5bp+.5green+dashed);
Asymptote - Figure 0034: fig_db02_250208_hauteurs.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_db02_250208_hauteurs
/* un triangle, ses hauteurs et l'orthocentre */

import math;
size(6cm,0);
// Tracé du triangle
pair A=0, B=(3,1), C=(1.5,3);
path p=A--B--C--cycle;
draw(p);
// On va définir D[0],D[1],D[2] trois points des hauteurs issues
// respectivement de A, B et C
pair[] D=new pair[2]; 
// Tracé des hauteurs, avec une boucle cette fois
for (int i = 0; i <= 2; ++i)
{
D[i]=point(p,i)+dir(90+degrees(point(p,i+1)-point(p,i+2),false));
drawline(point(p,i),D[i],1bp+green+dashed);
}
// Construction de l'orthocentre
pair H=extension(A,D[0],B,D[1]);
dot(H,blue);
Asymptote - Figure 0035: fig_dc01_290208_hauteurs.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_dc01_290208_hauteurs
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(7cm,0);
show(currentcoordsys);
point pA=(1,2),pB=(4,1),pC=(3,5);
triangle TRI=triangle(pA,pB,pC);
draw(TRI,.8bp+red);
label(TRI,alignFactor=1,alignAngle=-60);
// Hauteur issue de A
point projA=projection(pB,pC)*pA;
drawline(pA,projA,blue);
perpendicularmark(TRI.BC,line(pA,projA));
// Hauteur issue de B
point projB=projection(pA,pC)*pB;
drawline(pB,projB,green);
perpendicularmark(TRI.AC,line(pB,projB));
// Orthocentre
dot(extension(pA,projA,pB,projB));
Asymptote - Figure 0036: fig_ea01_190308_mediatrice.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ea01_190308_mediatrice
/* Médiatrice d'un segment
   en utilisant la fonction bissector de l'extension geometry.
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(7cm,0);

// Affichage du repère courant
show(currentcoordsys);
// Définition du triangle ABC
point pA=(4,1), pB=(1,3),  pC=(-1,-1);
triangle tABC=triangle(pA,pB,pC);
// ... puis de la médiatrice de [AB]
line medAB=bisector(pA,pB);
// ... puis de la médiatrice de [BC]
// d'une autre méthode : en désignant le côté.
line medBC=bisector(tABC.BC);

// On trace le tout :
dot("A",pA,NE);
dot("B",pB,N);
draw(tABC);
draw(pA--pB,1bp+blue,
     StickIntervalMarker(2,2, 0.8*blue)); // syntaxe 1
draw(medAB,dashed+.8bp+red);
draw(segment(tABC.BC),1bp+green,
     StickIntervalMarker(2,2, 0.8*green)); // syntaxe 2
draw(medBC,dashed+.8bp+red);

// Codage des angles droits
perpendicularmark(line(pA,pB),medAB); // syntaxe 1
perpendicularmark(tABC.BC,medBC); // syntaxe 2

draw(box((-2,-2),(5,4)),invisible);
Asymptote - Figure 0037: fig_eb01_250208_mediatrices.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_eb01_250208_mediatrices
/* un triangle et ses médiatrices : une autre méthode
   sans utiliser la fonction bisector de l'extension geometry.
*/
import math;
size(6cm,0);
// Tracé du triangle
pair A=0, B=(3,1), C=(1.5,3);
path p=A--B--C--cycle;
draw(p);
// Définition des milieux des côtés
pair mBC=midpoint(B--C);
pair mAC=midpoint(A--C);
pair mAB=midpoint(A--B);
// Tracé des trois médiatrices
drawline(mBC,mBC+dir(90+degrees(B-C,false)),
         .5bp+red+dashed);
drawline(mAC,mAC+dir(90+degrees(A-C,false)),
         .5bp+blue+dashed);
drawline(mAB,mAB+dir(90+degrees(A-B,false)),
         .5bp+.5green+dashed);
Asymptote - Figure 0038: fig_eb02_250208_mediatrices.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_eb02_250208_mediatrices
/* un triangle et ses médiatrices : une autre méthode
   sans utiliser la fonction bisector de l'extension geometry.
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(6cm,0);
// Tracé du triangle
pair A=0, B=(3,1), C=(1.5,3);
path p=A--B--C--cycle;
draw(p);
pair[] Mil=new pair[2]; 
pair[] ImS=new pair[2]; 
// Tracé des médiatrices, avec une boucle
for (int i = 0; i <= 2; ++i)
{
Mil[i]=midpoint(point(p,i+1)--point(p,i+2));
ImS[i]=rotate(90,Mil[i])*point(p,i+1);
drawline(Mil[i],ImS[i],1bp+green+dashed);
}
// Construction du centre du cercle circonscrit
pair O=extension(Mil[0],ImS[0],Mil[1],ImS[1]);
dot(O,blue);
// Construction du cercle circonscrit au triangle
draw(shift(O)*scale(abs(O-A))*unitcircle,red);
Asymptote - Figure 0039: fig_eb03_250208_mediatrices.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_eb03_250208_mediatrices
/* un triangle et ses médiatrices : encore une méthode
   sans l'extension geometry. Mais je conseille de l'utiliser
   car on y trouve les fonctions bisector, circumcircle et circumcenter
   qui permettent le tracé des médiatrices, du cercle circonscrit et de
   son centre, beaucoup plus facilement. Voir exemples qui suivent.
*/
import math;
size(6cm,0);
// On définit une fonction qui va retourner le centre du cercle circonscrit 
// d'un triangle lorsque l'on donne ses sommets.
pair CentreCercleCirconscrit (pair Point1,
                              pair Point2,
                              pair Point3) {
    pair MilieuP1P2=(Point1+Point2)/2;
    pair MilieuP2P3=(Point2+Point3)/2;
 return extension(MilieuP1P2,
                  rotate(90,MilieuP1P2)*Point2,
                  MilieuP2P3,
                  rotate(90,MilieuP2P3)*Point3);
}
// Tracé du triangle
pair A=0, B=(3,1), C=(1.5,3);
pair O=CentreCercleCirconscrit(A,B,C);
path p=A--B--C--cycle;
draw(p);
// Tracé des médiatrices, avec une boucle
for (int i = 0; i <= 2; ++i)
{
  drawline(O,(point(p,i)+point(p,i+1))/2,
           1bp+green+dashed);
}
// Tracé du cercle circonscrit, de son centre
draw(shift(O)*scale(abs(O-A))*unitcircle,1bp+red);
dot(O,blue);
Asymptote - Figure 0040: fig_ec01_290208_mediatrices.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ec01_290208_mediatrices
/* Médiatrices d'un triangle
   en utilisant la fonction bisector de l'extension geometry.
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(7.5cm,0);
show(currentcoordsys);
point pA=(1,1),pB=(5,0),pC=(1.5,6);
triangle TRI=triangle(pA,pB,pC);
draw(TRI,.8bp+red);
label(TRI);
 
line medAB=bisector(TRI.AB);
draw(medAB, blue);
perpendicularmark(TRI.AB,medAB,quarter=4);
 
line medAC=bisector(TRI.AC);
draw(medAC, red);
perpendicularmark(TRI.AC,medAC,quarter=4);
 
line medBC=bisector(TRI.BC);
draw(medBC, green);
perpendicularmark(TRI.BC,medBC,quarter=2);
 
draw(circumcircle(TRI));

addMargins(.5cm,.5cm);
Asymptote - Figure 0041: fig_ec02_290208_cercle_circonscrit.asy
(Code compilé avec Asymptote version 1.95svn)
largeur320 Figure fig_ec02_290208_cercle_circonscrit
/* Cercle circonscrit à un triangle et son centre
   facilement avec l'extension geometry !
*/
// import geometry_dev; // extension devenue l'extension geometry officielle
import geometry;        // le 12/05/09, dans la version 1.71 d'asymptote. :-))

size(7.5cm,0);
show(currentcoordsys);
point pA=(1,1),pB=(5,0),pC=(1.5,6);
triangle TRI=triangle(pA,pB,pC);
draw(TRI,.8bp+red);
label(TRI);
 
draw(circumcircle(TRI));
dot("$\Omega$",circumcenter(TRI));

addMargins(.5cm,.5cm);

Dernière modification le Fri Oct 28 12:59:26 CEST 2011 par G.Marris       Valide XHTML