Position dans l'espace.

cs_the_best Messages postés 212 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 6 avril 2006 - 20 janv. 2005 à 09:20
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 21 janv. 2005 à 15:10
Si on à 2 objets avec position x,y,anglederotation

Comment on fait pour trouver a partit de l'objet 1, l'angle d'objet 2 de façon à ce que celui ci se dirige vers l'objet 1 ?

The Best

Glu !!!

4 réponses

GlanduSchmoldu Messages postés 199 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 27 octobre 2006 1
20 janv. 2005 à 10:52
dx = x1-x2

dy = y1-y2

Select case dx

case Is >0

Angle = Atn((y1-y2)/(x1-x2))

case Is < 0

Angle = Atn((y1-y2)/(x1-x2)) + Pi

case else

Angle = Sgn(dy)*Pi/2

end select


Voilà ça devrai marcher mais fait gaffe à l'oriantation de ton repère, ça peux changer des trucs.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
20 janv. 2005 à 10:54
Pour que l'objet1 se dirige vers l'objet2, il faut qu'un point de cet objet se dirige vers un point de l'autre objet.



Prenons par exemple les centres des objets pour simuler un "choc frontal".



Trace une droite D passant par les centres des objets 1 et 2.

Soient C1 et C2 ces centres.

Si C1 suit la droite D et que la distance C1C2 diminue, alors C1 s'avance vers C2.



Le droite D te permet de connaître l'angle, mais il faut que tu l'exprimes dans un repère lié à l'un des deux objets.



Soit un repère (O,i,j) orthonormé.

Soient C1(X1,Y1) et C2(X2,Y2) les centres des objets exprimés dans ce repère.

Soit D la droite qui relie C1 et C2.

Soit alpha l'angle que fait la droite D avec l'axe des abscisses..



cos(alpha) = RacineCarrée((X2-X1)²+(Y2-Y1)²) / (X2-X1)

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cs_the_best Messages postés 212 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 6 avril 2006
20 janv. 2005 à 11:42
@GlanduSchmoldu : je vais tester...
@econs : ça me donne le cosinus d'alpha, comment on fait pour trouver la valeur de l'angle ???

The Best

Glu !!!
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
21 janv. 2005 à 15:10
L'arc-cosinus, t'as entendu parler ? C'est le acos (ou cos-1) des calculatrices, il existe pas comme fonction predéfini dans VB mais :

Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
C'est fou c'qu'on fait avec des maths :-D


Flachy Joe
0
Rejoignez-nous