ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges

Équation du cercle circonscrit à un triangle       programme JavaScript

Le petit programme JavaScript ci-après fournit l'équation cartésienne d'un cercle dont vous fournissez 3 points au moyen de leurs coordonnées. Le cas de points alignés ou confondus est pris en compte (à éviter évidemment...) :


 

<SCRIPT LANGUAGE=JavaScript>
function circons()
{
x1=0;y1=0;x2=0;y2=0;x3=0;y3=0;
x1=eval(prompt("point1 : x1=",x1)); y1=eval(prompt("point1 : y1 =",y1));
x2=eval(prompt("point2 : x2=",x2)); y2=eval(prompt("point2 : y2 =",y2));
x3=eval(prompt("point3 : x3=",x3));y3=eval(prompt("point3 : y3 =",y3));
a=x2-x1;b=y2-y1;c=x3-x2;d=y3-y2;
x12=(x1+x2)/2;y12=(y1+y2)/2;x23=(x2+x3)/2;y23=(y2+y3)/2;
if (a*d-b*c==0){alert("erreur : les points sont alignés");return}
if (b==0){xc=x12;yc=y23-(xc-x23)*c/d}
//------------- (AB) est horizontale
else   /
/ --------------(AB) est  oblique
{
if(d==0) {xc=x23;yc=y12-(xc-x12)*a/b}
else
{xc=(y23-y12+c*x23/d-a*x12/b)/(c/d-a/b);yc=y23-(xc-x23)*c/d}
}
alert("X centre="+xc+"\n"+"Y centre="+yc);
r2=(x1-xc)*(x1-xc)+(y1-yc)*(y1-yc);
r=Math.sqrt(r2);
alert("rayon au carré : r^2 = "+r2+"\n"+"rayon = "+r)
return
}
</SCRIPT>



Quelques explications :   

Dans ce programme, on a :   

On recherche le centre du cercle circonscrit à l'intersection des médiatrices de [AB] et [BC].

Il faut distinguer (AB) horizontale ou non dans le repère orthonormé considéré car, dans le premier cas, la médiatrice de [AB] sera verticale avec une équation de la forme x = k.

On utilise :   


© Serge Mehl - www.chronomath.com