C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Calcul d'angle entre 2 points

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
jean-luc Biord
Guest





PostPosted: Thu Jul 01, 2004 3:58 pm    Post subject: Calcul d'angle entre 2 points Reply with 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 ?
Back to top
Amerio
Guest





PostPosted: Thu Jul 01, 2004 4:08 pm    Post subject: [HS] Re: Calcul d'angle entre 2 points Reply with quote



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





PostPosted: Thu Jul 01, 2004 4:14 pm    Post subject: Re: Calcul d'angle entre 2 points Reply with quote



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





PostPosted: Thu Jul 01, 2004 4:20 pm    Post subject: Re: Calcul d'angle entre 2 points Reply with quote

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





PostPosted: Thu Jul 01, 2004 6:56 pm    Post subject: Re: Calcul d'angle entre 2 points Reply with quote

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





PostPosted: Thu Jul 01, 2004 6:58 pm    Post subject: Re: Calcul d'angle entre 2 points Reply with quote

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





PostPosted: Thu Jul 01, 2004 7:05 pm    Post subject: Re: Calcul d'angle entre 2 points Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.