Probleme arctan [Résolu]

cs_Enos 6 Messages postés mercredi 30 juillet 2003Date d'inscription 7 décembre 2012 Dernière intervention - 15 oct. 2006 à 01:10 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention
- 15 oct. 2006 à 17:25
Enos

bonjours,
J'ai un probleme de calcul d' angle. Si je prend la formule suivante :
angle=arctan[(sommet1-sommet2)/(hauteur*2) , le resultat est correct avec la calculatrice mais avec delphi la fonction "ArcTan " ne me donne pas le bon resultat et je n'arrive pas a comprendre pourquoi !
Afficher la suite 

5 réponses

Répondre au sujet
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 15 oct. 2006 à 08:11
+3
Utile
Ne serait-ce pas tout bêtement un problème d'unité ?
Extrait de l'aide en ligne :
Syntaxe Delphi : function ArcTan(X:Extended):Extended;



Description : Dans le code Delphi, ArcTan renvoie l'arc-tangente de X.
X est une expression de type réel qui indique un angle en radians.

May Delphi be with you !


<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Delphiprog
Utilisateur anonyme - 15 oct. 2006 à 03:38
0
Utile
salut,

Avec aucun code il est impossible de te répondre : tu devrais poster ta fonction. De plus il est conseillé d'utiliser la fonction arctan2 plutôt que arctan.

@+
Commenter la réponse de Utilisateur anonyme
cs_Enos 6 Messages postés mercredi 30 juillet 2003Date d'inscription 7 décembre 2012 Dernière intervention - 15 oct. 2006 à 11:57
0
Utile
Enos

Merci pour vos réponses . Pour repondre a Francky23012301, voici un exemple de code :
/////////////////////////////////////////////


interface


uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,math, Buttons, StdCtrls;


type
  TForm1 = class(TForm)
    Edit1: TEdit;// Valeur de la base
    Edit2: TEdit;// Valeur du sommet
    Edit3: TEdit;// Valeur de la hauteur
    SpeedButton1: TSpeedButton;// Calcul
    Label1: TLabel;// Resultat
    procedure SpeedButton1Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form1: TForm1;
  Som1,Som2,haut: real;


implementation


{$R *.dfm}


procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Som1:=strtofloat(Edit1.Text);// Valeur de la base
Som2:=strtofloat(Edit2.Text);// Valeur du sommet
Haut:=strtofloat(Edit3.Text);// Valeur de la hauteur
Label1.Caption:=Floattostr(arctan((som1-som2)/(haut*2)));


end;


end.

/////////////////////////////////////////////////////
Et pour repondre a Delphiprog; le resultat que je cherche est en degré, je pense que l' erreur est la ! Il ne reste plus que la convertion a réalisé ( a tester )


Merci encore affaire a suivre !
Commenter la réponse de cs_Enos
cs_Enos 6 Messages postés mercredi 30 juillet 2003Date d'inscription 7 décembre 2012 Dernière intervention - 15 oct. 2006 à 12:40
0
Utile
Enos
Je viens de tester avec la ligne suivante :

Label1.Caption:=Floattostr(radToDeg(arctan2((som1-som2),(haut*2))));

Ca marche !
Merci encore a tous.
Commenter la réponse de cs_Enos
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 15 oct. 2006 à 17:25
0
Utile
un conseil, ne pas utiliser le type Real mais extended ou single.

et en effet il faut utiliser ArcTan2 et pas ArcTan.

<hr size="2" width="100%" />Croc (click me)
Commenter la réponse de f0xi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.