 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
jean-luc Biord Guest
|
Posted: Thu Jul 01, 2004 3:58 pm Post subject: Calcul d'angle entre 2 points |
|
|
Bonjour voici mon problème : J'ai une droite avec ses deux extrémités
que l'ont va appeler A et B, chacun ayant bien sûr des coordonnées x et y.
Le point A est fixe et le point B peut tourner autour de A. Je veux
pouvoir placer sur la ligne reliant A à B des objets. J'ai donc besoin
de connaitre l'angle formé entre A et B qui peut donc varier de 0 à 360
degrés. Oui mais comment faire ?
|
|
| Back to top |
|
 |
Amerio Guest
|
Posted: Thu Jul 01, 2004 4:08 pm Post subject: [HS] Re: Calcul d'angle entre 2 points |
|
|
jean-luc Biord wrote:
| Quote: | Bonjour voici mon problème : J'ai une droite avec ses deux extrémités
que l'ont va appeler A et B, chacun ayant bien sûr des coordonnées x et y.
Le point A est fixe et le point B peut tourner autour de A. Je veux
pouvoir placer sur la ligne reliant A à B des objets. J'ai donc besoin
de connaitre l'angle formé entre A et B qui peut donc varier de 0 à 360
degrés. Oui mais comment faire ?
|
Rien a voir avec du cpp, c'est hors-charte, mais la reponse etant
triviale...
Soit A[xa,ya] et B[xb,yb]. On veut M[x,y] tel que M sur [A,B]
Alors on veut k dans[0,1] et
{ x = xa + k*(xb-xa); y = ya + k*(yb-ya) }
Nul besoin de connaitre un angle pour cela...
Si vraiment il faut aussi l'angle : voir du coté de "atan2" (arctangente)
|
|
| Back to top |
|
 |
Horst Kraemer Guest
|
Posted: Thu Jul 01, 2004 4:14 pm Post subject: Re: Calcul d'angle entre 2 points |
|
|
On Thu, 01 Jul 2004 17:58:03 +0200, jean-luc Biord <jl.biord (AT) free (DOT) fr>
wrote:
| Quote: | Bonjour voici mon problème : J'ai une droite avec ses deux extrémités
que l'ont va appeler A et B, chacun ayant bien sûr des coordonnées x et y.
Le point A est fixe et le point B peut tourner autour de A. Je veux
pouvoir placer sur la ligne reliant A à B des objets. J'ai donc besoin
de connaitre l'angle formé entre A et B qui peut donc varier de 0 à 360
degrés. Oui mais comment faire ?
|
<HS>
Un angle entre deux points n'existe pas. D'ailleurs tu n'as besoin
d'aucun angle pour placer der points sur le segment AB.
A:(xA,yA)
B:(xB,yB)
Un point sur le segment AB a la forme
(xA+c(xB-xA),yA+c(yB-yA))
ou bien
((1-c)xA+c*xB, (1-c)yA+c*yB)
où 'c' est un nombre réel quelconque entre 0 et 1.
</HS>
--
Horst
|
|
| Back to top |
|
 |
prog.qt Guest
|
Posted: Thu Jul 01, 2004 4:20 pm Post subject: Re: Calcul d'angle entre 2 points |
|
|
Horst Kraemer a écrit :
| Quote: | On Thu, 01 Jul 2004 17:58:03 +0200, jean-luc Biord
wrote:
Bonjour voici mon problème : J'ai une droite avec ses deux extrémités
que l'ont va appeler A et B, chacun ayant bien sûr des coordonnées x et y.
Le point A est fixe et le point B peut tourner autour de A. Je veux
pouvoir placer sur la ligne reliant A à B des objets. J'ai donc besoin
de connaitre l'angle formé entre A et B qui peut donc varier de 0 à 360
degrés. Oui mais comment faire ?
HS
Un angle entre deux points n'existe pas. D'ailleurs tu n'as besoin
d'aucun angle pour placer der points sur le segment AB.
A:(xA,yA)
B:(xB,yB)
Un point sur le segment AB a la forme
(xA+c(xB-xA),yA+c(yB-yA))
ou bien
((1-c)xA+c*xB, (1-c)yA+c*yB)
où 'c' est un nombre réel quelconque entre 0 et 1.
/HS
Merci pour les réponses. Encore une question : comment obtenir la |
longueur entre A et B. Comment d'après cette longueur déterminer c ?
pour ce placer à différents endroits sur la ligne ?
Merci
|
|
| Back to top |
|
 |
Horst Kraemer Guest
|
Posted: Thu Jul 01, 2004 6:56 pm Post subject: Re: Calcul d'angle entre 2 points |
|
|
On Thu, 01 Jul 2004 18:20:48 +0200, "prog.qt" <prog.qt (AT) free (DOT) fr> wrote:
| Quote: | Merci pour les réponses. Encore une question : comment obtenir la
longueur entre A et B. Comment d'après cette longueur déterminer c ?
pour ce placer à différents endroits sur la ligne ?
|
Longueur = racine((xA-xB)^2+(yA-yB)^2)
Pour placer un point a la distance D de A choisir c = D/Longueur
Toujours rien à voir à C++.
graphisme fr.comp.graphisme.programmation
mathématiques: fr.sci.math
--
Horst
|
|
| Back to top |
|
 |
Horst Kraemer Guest
|
Posted: Thu Jul 01, 2004 6:58 pm Post subject: Re: Calcul d'angle entre 2 points |
|
|
On Thu, 01 Jul 2004 18:20:48 +0200, "prog.qt" <prog.qt (AT) free (DOT) fr> wrote:
| Quote: | Merci pour les réponses. Encore une question : comment obtenir la
longueur entre A et B. Comment d'après cette longueur déterminer c ?
pour ce placer à différents endroits sur la ligne ?
|
Longueur = racine((xA-xB)^2+(yA-yB)^2)
Pour placer un point a la distance D de A choisir c = D/Longueur
Toujours rien à voir à C++.
graphisme fr.comp.graphisme.programmation
mathématiques: fr.sci.maths
--
Horst
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Thu Jul 01, 2004 7:05 pm Post subject: Re: Calcul d'angle entre 2 points |
|
|
prog.qt wrote:
| Quote: | Merci pour les réponses. Encore une question : comment obtenir la
longueur entre A et B.
|
Je ne veux pas paraître méchant, mais il s'agit là d'un problème de math
niveau 4ème, et je pense sincèrement que s'il te manque ces bases, il
est utopique d'espèrer réaliser une application graphique.
Je te conseilles donc sincèrement de te former une base mathématique
minimale qui te sera très utile. Si tu connais ça mais que ça t'as juste
échapé, je te conseille juste du repos.
--
Loïc
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|