Mrs,
Voilà le code que j'utilise actuellement et qui doit avoir des problèmes,
SCREEN 12: WINDOW (1, 150)-(150, 1): CLS
' (c=X depart)(d=Y depart)
' (e=X arrivee)(f=Y arrivee)
' (g=X centre rayon)(h=Y centre rayon)
'c = 22: d = 29.81: e = 26.1: f = 30.91: g = 23.5: h = 32.41 'ok pas complet
'c = 25.78: d = 17.1: e = 25.78: f = 17.1: g = 25!: h = 20 'division par zero
'c = 33.9: d = 26.41: e = 34.99: f = 22.31: g = 36.49: h = 24.91 'division par zero
'c = 22: d = 29.81: e = 26.1: f = 30.91: g = 23.5: h = 32.41 'ok pas complet
'c = 16.1: d = 13.59: e = 15: f = 17.69: g = 13.5: h = 15.09 'division par zero
'c = 28: d = 10.18: e = 23.9: f = 9.09: g = 26.49: h = 7.59 'ok pas complet
'c = 50: d = 5: e = 45: f = 0: g = 50: h = 0 ' n'affiche rien
'c = 45: d = 40: e = 50: f = 35: g = 50: h = 40 'division par zero
'c = 0: d = 35: e = 5: f = 40: g = 0: h = 40 'ok pas complet
c = 5: d = 0: e = 0: f = 5: g = 0: h = 0 'division par zero
'les rayons affichés ne correspondent pas à leur apparence réelle
! (diemaker Form)
X% = g: Y% = h 'Coordonnees du centre
Xc% = e: Yc% = f ' Coordonnees d'un point de la circonference
'A! = 22 ' Angle de l'arc a dessiner en grades
A! = ATN((Yc% - Y) / (Xc% - X)) 'calcul de l'angle =>formule FRANCESCO
R% = SQR((X% - Xc%) ^ 2 + (Y% - Yc%) ^ 2) 'calcul du rayon
Sinus.D! = (Yc% - Y%) / R% =>formule SFLPMEA
Cosinus.D! = (Xc% - X%) / R%
'Formule pour transformer en grades
'Grades! = ATN(Sinus! / SQR(1 - Sinus! ^ 2)) / 3.141593 * 200
IF Sinus.D! = 0 THEN Sinus.D! = .01 ' pour eviter une division par zero
Grades.D! = ATN(Sinus.D! / SQR(1 - Sinus.D! ^ 2)) / 3.141593 * 200
Grades.F! = Grades.D! + A!
' Maintenant, il faut transformer les grades en radians !!
Radian.D! = 3.141593 * 2 / 400 * Grades.D!
Radian.F! = 3.141593 * 2 / 400 * Grades.F!
SLEEP 1
'CIRCLE [STEP] (x,y),rayon[,[couleur][,[origine][,[fin][,aspect]]]]
CIRCLE (X%, Y%), R%, 15, Radian.D!, Radian.F!
SLEEP
je viens de penser à un truc !
Francesco m'a donné un code qui permet d'avoir l'angle en RADIAN
et calcul l'angle d'un point sur la circonférence,passant par le centre du rayon par rapport à une horizontale (arrêtez-moi si je me plante)
ce point peut être les coordonnées du point de départ + (PI/2) pour avoir l'angle de départ !
ensuite recalculer avec la même formule pour le point d'arrivée + (PI/2) pour avoir l'angle de fin !
Je me suis surement planté

DMF