Passer des radians en degrés.

VeillardVeillard Membre
21:31 modifié dans Actualités #1
Bonjour à  tous...

Je cherche à  faire un calcul du type sin(x) et mon résultat est en radians or je cherche à  l'avoir en degrés. Existe-t-il une fonction comme sur les calculatrices pour passer des degrés en radioans et inversement avant de faire le calcul ?

Merci encore

Réponses

  • AliGatorAliGator Membre, Modérateur
    21:31 modifié #2
    Chalut.

    Ben heu disons que vu que les 2 échelles sont proportionnelles, donc qu'on peut passer de l'une à  l'autre par un simple facteur multiplicateur, l'intérêt d'avoir une fonction pour ça est un peu réduit...

    Un angle plat (180°) mesure ? radians.
    Donc pour passer des radians aux degrés, il faut diviser par ? et multiplier par 180
    Et pour passer des degrés au radians, diviser par 180 et multiplier par ?.

    Mais en réalité il faut mieux :
    - multiplier avant de diviser, pour garder un max de précision
    - utiliser une constante pour ?, moi le mieux pour être sûr d'avoir le max de précision je stocke dans pi la valeur acos(-1) (puisque cos(?)=-1, donc acos(-1) = ?, c'est une façon d'avoir une valeur précise, sans avoir à  rentrer les chiffres à  la main et en étant sûr d'avoir tous les chiffres nécessaires, ni plus ni moins.

    Donc :[tt]
    double PI = acos(-1);
    rad = deg*PI/180; // convertir des degrés en radians
    dec = rad*180/PI; // convertir des radians en degrés
  • Eddy58Eddy58 Membre
    21:31 modifié #3
    A noter aussi que pas mal de constantes sont déjà  définies dans <math.h> (pour les utiliser : #include <math.h>) :)
    [tt]
    #define M_PI        3.14159265358979323846264338327950288  /* pi */
    #define M_PI_2      1.57079632679489661923132169163975144  /* pi/2 */
    #define M_PI_4      0.785398163397448309615660845819875721  /* pi/4 */
    #define M_1_PI      0.318309886183790671537767526745028724  /* 1/pi */
    #define M_2_PI      0.636619772367581343075535053490057448  /* 2/pi */
    #define M_2_SQRTPI  1.12837916709551257389615890312154517  /* 2/sqrt(pi) */
    [/tt]
  • AliGatorAliGator Membre, Modérateur
    21:31 modifié #4
    Me semblait bien qu'elles étaient défini qqpart ;D  :adios!:
    C'est des restes de RealBasic, ça, où y'a pas ces constantes là .

    C'est clair que dans ce cas la constante M_PI dans math.h est 10000x mieux que acos(-1) qui nécessite un calcul qui perd donc du temps, alors que M_PI est simplement remplacé par sa valeur lors de la compilation  <3 <br />
    Heu... c'était pour vous en laisser un peu, les gars, pour pas tout dire d'un coup, hein, bien sûr... hein ? :o
  • VeillardVeillard Membre
    21:31 modifié #5
    Merci à  tous, j'avais utilisé la première soluce d'AliGator. Mais j'avais pas pensé aux constantes de <math.h>
Connectez-vous ou Inscrivez-vous pour répondre.