
Envoyé par
patricx
la surface d'un triangle est égal à la moitié du produit de deux cotés , le tout mutiplié par le produit de l'angle qu'ils forment
quand j'utilise cette instruction
surface=((longueur*largeur)/2)*sin(angle*M_PI/180);
je donne 180 à "angle" j'ai pas "0" comme valeur de la surface je comprend pas pourquoi
Bonjour,
Simplement parce que l'opérateur "/" effectue une division entière.
Je ne sais pas dans quel sens le compilo effectue ton opération dans ce cas vu que "/" et "*" ont la même priorité.
- Si "/" effectuée en 1er, M_PI/180 = 0 et donc angle*0 = 0. sin(0) = 1.
- Si "*" effectuée en 1er, M_PI*180 = 565,49 et donc 565/180 = 3. sin(3) != sin(M_PI).
Pour résoudre ton problème, écris :
surface=((longueur*largeur)/2.0)*sin(angle*M_PI/180.0);
au lieu de
surface=((longueur*largeur)/2)*sin(angle*M_PI/180);
Bon courage pour la suite.
@Koala01 :
Sa formule est juste
, son texte explicatif est par contre faux.
Soit un triangle ABC,
l'aire d'un triangle est :
aire = (base*hauteur)/2
Avec base = AC
Hauteur = BC*sin(BCA)
Ce qui après remplacement nous donne :
aire = (AC*BC*sin(BCA))/2 <==> aire = ((AC*BC)/2)*sin(BCA)
c'est à dire la formule qu'à donné patricx :
surface=((longueur*largeur)/2)*sin(angle*M_PI/180);
Mais mal retranscrite en français, cela devrait être :
la surface d'un triangle est égal à la moitié du produit de deux cotés , le tout mutiplié par le
produit (faux) sinus (vrai) de l'angle qu'ils forment
Ahhh la trigo et les maths......
Partager