Vb Lover
Messages postés221Date d'inscriptionvendredi 30 novembre 2001StatutMembreDernière intervention13 février 20105 7 janv. 2002 à 18:20
'Ok, voilà :
' Méthode : tu cherches le centre du cercle, puis tu dessines. Pour le centre : tu cherches l'intersection de 2 médiatrices de tes 2 segments formés par tes 3 points.'-rem : () (0 to 1) (X,Y) pour + de clarté
'1° Tu as 3 points P1(), P2(), P3().Tu cherches le milieu de 2 segments, M1(), M2() :
M1(0)=(X(0)+X(1))/2
M1(1)=(Y(0)+Y(1))/2
M2(0)=(X(1)+X(2))/2
M2(1)=(Y(1)+Y(2))/2
'2° Tu cherches les vecteurs normaux aux 2 segments, V1(), V2() :
V1(0)=P1(1)-P2(1)
V1(1)=P2(0)-P1(0)
V2(0)=P2(1)-P3(1)
V2(1)=P3(0)-P2(0)
'Tu as maintenant tout pour connaître le centre du cercle, càd 2 droites qui se coupent.
det= V2(0)*V1(1)-V1(0)*V2(1)
if det=0 then
' Les points sont alignés
else
k=(M1(0)-M2(0))*V2(1)
k=k+V2(0)*(M2(1)-M1(1))
k=k/det
end if
'3° Voici maintenant le centre du cercle C()
C(0) = M1(0) + k * V1(0)
C(1) = M1(1) + k * V1(1)
' Voilà. Tu connais maintenant le centre du cercle, tu connais aussi son rayon = distance entre P1 et M1, tu peux donc dessiner un cercle qui passe par là. Pour dessiner un arc et non un cercle entier, c'est seulement une petite astuce dont je ne me souviens pas pour l'instant.