Trouver Un Point (X, Y) - C++ - Programmation
Marsh Posté le 29-04-2006 à 20:49:53
karminator98 a écrit : bonjour à tous... j'ai un méga problème non pas de c++ directement, mais bien de mathématique... |
Il te faut une révision du cercle trigonométrique :
http://fr.wikipedia.org/wiki/Trigo [...] 3.A9trique
http://fr.wikipedia.org/wiki/Cercl [...] 3%A9trique
courage, soit fort.
Je t'avoue que c'est un peu loin pour moi la trigo, mais les liens devraient suffire à ta résolution.
Marsh Posté le 30-04-2006 à 00:32:00
Si tu n'as pas de problème entre 0 et 90°, tu ne devrais pas en avoir du tout. Les fonctions sin, cos, tan, atan et atan2 donnent les bonnes valeurs pour tout les angles. cependant elles doivent êtres appelées avec un angle exprimé en radian (angle en radian = angle en degrés x pi / 180). et les angles sont mesurés à partir de l'axe horizontal positif et dans le sens positif (inverse des aiguilles d'une montre).
|
Le point de départ étant le centre du cercle, il suffit d'y ajouter les valeurs cos(x) * distances à X et soustraire sin(x) * distance à Y, pour avoir le point résultant.
Marsh Posté le 01-05-2006 à 11:56:35
C'est tres simple:
1) Prends donc l'inverse du cosinus, du sinus ou de la tangente (je prefererais l'un des 2 premiers car il y a moins de pb), tu obtiens un angle. Supposons tu le fais avec cosinus inverse.
2) Selon les signes respectifs de X et Y, tu peux determiner dans quel quadrant tu te trouve, et donc lever l'indetermination.
C'est du au fait que les fonctions cosinus et sinus ne sont pas bijective sur [0, 2Pi[
Marsh Posté le 02-05-2006 à 20:04:50
nah... laissez-faire, j'ai demander de l'aide a mon prof de math, et mon problème est résolu...
ce que je cherchais a faire est ceci :
Code :
|
mais merci quand même pour l'aide...
Marsh Posté le 02-05-2006 à 21:07:22
sauf que tu mélange radians et degrès. note que sin() et cos() fonctionnent en radians.
edit:
Marsh Posté le 03-05-2006 à 21:53:50
c'est exactement pour ca que j'ai fait multiplié par pi et divisé par 180, pour tranfsormer le tout en radians
Marsh Posté le 29-04-2006 à 20:36:21
bonjour à tous... j'ai un méga problème non pas de c++ directement, mais bien de mathématique...
pour un programme que je suis en train de faire, je dois faire une fonction qui calcule l'emplacement d'un point, a partir d'un autre point, d'une distance et d'un angle...
le problème que j'ai, c'est que l'angle (mesuré a partir du haut, et vers la droite) peut être entre 0 et 90, ce qui serait assé facile à calculer, mais aussi entre 90 et 180, entre 180 et 270, et entre 270 et 359.99...
pour calculer entre 0 et 90, il suffit de faire le sinus de (l'angle - 90) pour trouver la hauteur(Y), et le cosinus de la même valeure pour trouver la longueure(X)... mais lorsque l'angle est plus grand que 90... je ne sait plus comment faire... J'AI BESOIN D'AIDE!!!!
merci à l'avance... si on en viens a boute