Calculer en degres au lieu de radians

Résolu
cs_hakimus Messages postés 25 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 8 juillet 2010 - 10 juil. 2007 à 19:22
THEwarrior333 Messages postés 192 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 30 janvier 2008 - 11 juil. 2007 à 15:42
Bonjour a tous,


Mon probleme est extremement simple.

/bLes fonctions trigonometriques contenues dans math.h, (sinus,
cosinus, etc.) prennent par defaut des valeurs en radians et  je
voudrais savoir s'il existe un moyen quelconque de leur faire utiliser
des angles en degres./b


Je ne veux pas une fonction pour convertir les degres en radians, mais
bien un moyen d'utiliser les fonctions trigo en "mode degre".


Mon programme dois effectuer des calculs, a partir de valeurs
experiementales en degres ET de constantes prevues pour des calculs en
degres. Ce serait donc beaucoup plus pratique pour moi de calculer
sinus et cosinus en degres plutot que de faire de nombreuses
conversions et reconversions...


SI quelqu'un connait un moyen, merci d'avance!

4 réponses

THEwarrior333 Messages postés 192 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 30 janvier 2008
10 juil. 2007 à 21:23
Je ne vois pas le problème d'utiliser une fonction (ou une macro) de conversion genre x*180/PI.
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
11 juil. 2007 à 01:49
et puis pourquoi pas travailler en radians?
0
cs_hakimus Messages postés 25 Date d'inscription samedi 14 octobre 2006 Statut Membre Dernière intervention 8 juillet 2010
11 juil. 2007 à 14:17
He bien... je n'ai pas dit que je ne pouvais pas le faire en radians, juste que ce serait plus simple en degres...


La verite est que je ne suis pas tres a l'aise avec les conversions.


Voila l'algorithme que je dois implementer en C :
http://williams.best.vwh.net/sunrise_sunset_algorithm.htm

(page en anglais)


Je dois traiter des angles astronomiques en degres, minutes, secondes.

Je ne peux pas vous montrer mon code parce qu'il est sur une autre
machine, mais en fait j'ai deja essaye de simples conversions en
radians pour les valeurs passees aux fonctions trigo, et les resultats
sont faux...


Je pense que je dois mal faire mes conversions ou en oublier. Quelqu'un
pourrait-il svp me montrer comment coder cette ligne par exemple :
L = M + (1.916 * sin(M)) + (0.020 * sin(2 * M)) + 282.634


Premiere question, a partir des calculs precedents M est-il en degres
ou en radians? Deuxieme question, ou dois-je faire des conversions?


Merci d'avance
0
THEwarrior333 Messages postés 192 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 30 janvier 2008
11 juil. 2007 à 15:42
Puisque sin (de math.h) prend des radians en paramètre, M doit être
en radians. Si M se trouve être en degrés, tu dois donc le convertir
avant de la passer à sin grace à la fonction
#define PI 3.14159265

float conv_rad(float x)
{
return x * PI / 180
}


Ainsi ta formule peut se coder de cette manière:
float M_rad = conv_rad( M );
float L = M_rad + (1.916 * sin( M_rad )) + (0.020 * sin( 2 * M_rad )) + 282.634;
0
Rejoignez-nous