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°
La prochaine révolution informatique : les machines qui font ce qu'on veut, au lieu de faire ce qu'on leur demande...
Grand Vizir du Grand Gourou - Trois-quart aile gauche du TRFC et intendant de 3ème mi-temps - Papy fait de la résistance
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
A+---------------> Nat <-------------------
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager