Calcul d'angle entre 2 points

Le
jean-luc Biord
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 ?

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Amerio
Le #769302
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 ?


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)

Horst Kraemer
Le #769301
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>

--
Horst

prog.qt
Le #769300
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


Horst Kraemer
Le #777148
On Thu, 01 Jul 2004 18:20:48 +0200, "prog.qt"
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

Horst Kraemer
Le #777146
On Thu, 01 Jul 2004 18:20:48 +0200, "prog.qt"
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

Loïc Joly
Le #777145
prog.qt wrote:
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

Poster une réponse
Anonyme