bonjour
je dessine une droite :
je voudrais calculer l angle de cette doite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 canvas.moveto(10,10); canvas.lineto(50,100);
quelqu un aurait il une idee ?
bonjour
je dessine une droite :
je voudrais calculer l angle de cette doite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 canvas.moveto(10,10); canvas.lineto(50,100);
quelqu un aurait il une idee ?
en coordonnées cartésiennes :
pour une droite de (a,b) à (c, d), (c-a)/(d-b) est la tangente de l'angle.
sauf si d=b, auquel cas angle=90°
je suis desole mais je ne comprends pas ton explcation pourrais tu m en dire um peu plusEnvoyé par gord's
http://perso.wanadoo.fr/octocd11/Aribaud/Trigo/TrigoTan2.html
comment s en servir j ai juste une droite ?
et je nai pas les dimensions de ma droite mais les points de departs et de fin de ecelle ci
je ne comprends toujours pas?
Apparamment ce qui t'intéresse n'est pas tant de comprendre que de le faire. DOnc voici une fonction directement utilisable.
Ya qu'à demander je suis prof de math.
Pour ton exemple ça donne Angle(10,10,50,100)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function Angle(x1,y1,x2,y2:double):double; var a,ang,x,y:double; begin x:=x2-x1;y:=y1-y2; if x=0 then begin if y>0 then ang:=Pi/2 else if y<0 then ang:=3*Pi/2 else ang:=0; end else begin a:=arctan(y/x); if x>0 then if y>=0 then ang:=a else ang:=a+2*Pi; if x<0 then ang:=a+pi; end; result:=ang; end;
L'angle est donné en radian. Si tu le veux en degré ça donne
Angle(10,10,50,100)*180/Pi
Cordialement
Loran
merci a vous cela marche et je vais essayer de comprendre
Dans Delohi 7 (les autres versions je ne sais pas), il y a dans l'unité math la fonction arctan2 qui retourne l'angle dans le "bon cadran".
Cela éviterait peut-être (je n'ai pas essayé) des IF.
François
Partager