Acos "un peu" trop grand

Mastersam Messages postés 116 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 13 février 2008 - 4 déc. 2004 à 14:46
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005 - 5 déc. 2004 à 03:27
Bonjour

J'ai un problème avec la fonction trigo acos en C

J'ai ça

(float)(t*2-DMXparamsint[i][PARAM_FTLONGUEUR])/DMXparamsint[i][PARAM_FTLONGUEUR];

Qui varie bien de -1 à 1

Mais quand je prends acos de ça
acos((float)(t*2-DMXparamsint[i][PARAM_FTLONGUEUR])/DMXparamsint[i][PARAM_FTLONGUEUR]);

Le résultat est de l'ordre de 1070000000 !!!!
C'est embétant la MSDN ne parle pas beaucoup de acos en C (des fois que ça serait défini entre 0 et 2 chez Microsoft :big) )

Et c'est pas juste un problème de radian degré à ce niveau là !!!

Donc je voudrais bien un peu d'aide.

http://www.rc-bot.com

8 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
4 déc. 2004 à 15:22
acos = Arccos donc ce n'est pas entre -1 et 1 mais entre -pi/2 et pi/2 ou entre 0 et pi je sais plus trop, en tous cas un intervalle de taille pi
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
4 déc. 2004 à 15:24
Dans MSDN:
"The return value is a principal value between 0 and +pi that is consistent with the cosine value input."

T'as pas dû trop chercher...
0
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
4 déc. 2004 à 16:07
Arccos : [-1 , 1] -> [0 , Pi]
tu confonds espace de départ et espace d'arrivée vecchio.

montre + de code. Tu as inclu <math.h> ?
tu compile avec -lm (pour gcc) ?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
4 déc. 2004 à 16:35
Pardon j'avais mal lu le premier message.
Mastersam tu n'a qu'a nous donner la valeur qui donne un drôle de résultat pour voir
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mastersam Messages postés 116 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 13 février 2008
4 déc. 2004 à 16:46
Bon je suis qu'un boulet ct juste math.h qui était absent, je pensais qu'il était déjà présent dans windows.h.

Enfin maintenant ça marche, merci ++fab et aussi vecchio (même si je suis nul en math y'a des erreurs que je sais éliminer avant de poser une question)

à bientôt et merci. :)

http://www.rc-bot.com
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
4 déc. 2004 à 21:30
mais dans ce cas comment ca se fait que ton compilo n'ait pas râlé?
0
Mastersam Messages postés 116 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 13 février 2008
4 déc. 2004 à 21:56
Ben là j'en sais rien du tout, d'autant plus que je ne programme pas depuis longtemps en C alors je comprends pas encore tout lol.

http://www.rc-bot.com
0
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
5 déc. 2004 à 03:27
c'est à cause du cast (float)
0
Rejoignez-nous