Inscription / Connexion Nouveau Sujet
Niveau autre
Partager :

Vecteurs et changement de repère.

Posté par
wootwoots
04-05-13 à 14:55

Bonjour à tous.

Comme passe temps j'utilise le cryengine3 et son sandbox editor pour diverse chose, mais j'ai un soucis de math au niveau des changements de repère et des vecteurs.

Comme dans le shéma attaché au post, j'ai deux points A(xa ; ya) et B (xb ; yb) se trouvant dans le repère orthonormé world
B est attaché a A, c'est a dire que peut importe les déplacements, rotations de A, B suivra car considéré par le logiciel comme appartenant au repère (A,x',y',z')

Par leur système de flowgraph il y a tout un moyen efficace et facile de faire des opération sur les vecteurs, appliquer déplacement, et monitorer les positions / rotation ce qui m'intéresse là.
Car la seule possibilité offerte par défaut ne donne que les positions et rotation par rapport au repère World, et ca peut importe que B soit "attaché" a A, et c'est là que ca me pose problème.

Du coup, j'aimerais savoir comment faire pour pouvoir monitorer la position de B et ses rotations mais par rapport a son nouveau repère de référence qui est A

voila ! merci d'avance

Vecteurs et changement de repère.

Posté par
verdurin
re : Vecteurs et changement de repère. 04-05-13 à 17:11

Bonjour,
une technique classique.
On fait une translation de vecteur u=AO, la rotation voulue, puis une translation de vecteur -u.
En supposant que O est l'origine du monde.

Posté par
wootwoots
re : Vecteurs et changement de repère. 05-05-13 à 03:19

Bonjour, merci pour la réponse.
Cela dit, c'est tellement vague que ca ne m'aide pas du tout

N'ayant pas poursuivi de math plus avancé dans mes études suite au lycée, j'aurais besoin de quelque chose de plus... détaillé, vus que les bases que j'ai en math et sur les vecteurs ne suffisent apparemment pas pour résoudre ca.

D'ou le fait que je vienne demander cela ici. Car j'imagine que cela ne doit pas être si complexe que ca !?

Merci

Posté par
wootwoots
re : Vecteurs et changement de repère. 05-05-13 à 03:29

Je viens de me rendre compte que j'avais inverser la position de Z et Y au niveau du repère A.. pardon pour mon erreur...

Pardon pour le double post, mais, je n'ai pas trouvé de moyen d'éditer ma précédente réponse.

J'ai bien tenté de faire vec OA - Vec OB pour "isoler" le vecteur AB qui me donne donc les coordonnés de B dans le repère A, mais si j'applique une rotation a A, le vecteur AB va donc être totalement différent..

Par exemple dans le repère A, B se trouve a x=0 y=4 z=0, hors si j'applique une rotation de 90 sur l'axe des x au point A je vais avoir B x=0 y=0 z=4

Posté par
verdurin
re : Vecteurs et changement de repère. 05-05-13 à 12:03

Je ne suis pas sur de bien avoir compris ta question.

Si, dans le repère (A...), B se trouve a x=0 y=4 z=0 il est normal d'obtenir  B x=0 y=0 z=4 dans le repère (A...) après une rotation de 90° autour de l'axe des x du repère (A...)
Si ce résultat est obtenu dans le repère word, il suffit de rajouter les coordonnées de A dans le repère word au résultat obtenu.

Posté par
wootwoots
re : Vecteurs et changement de repère. 05-05-13 à 20:14

Moi ce que je voudrais, c'est un moyen pour avoir les coordonnés de B dans le repère A(x'y'z') et donc si A subit une rotation de 90° dans le repère World, B devrait toujours être a x=0 y=4 z=0 vus que ses coordonnées sont en fonction du repère A et non du repère World ou là en effet ca devient x=0 y=0 z=4

Est ce que je suis plus clair avec ces explications ?

Posté par
verdurin
re : Vecteurs et changement de repère. 05-05-13 à 21:35

Je ne comprend pas ton problème.

Si c'est faire faire tourner B dans le repère A(x',y',z') la procédure classique est la suivante :
-- calculer B1=B-A (on soustrait les coordonnées de A à celles de B)
-- faire les rotations voulues au point B1 dans le repère world. On obtient un point B'1
-- calculer la nouvelle position de B : B=B'1+A (comme pour la soustraction)

Si tu veut faire des calculs de changement de repère à la main, c'est assez compliqué.

Posté par
wootwoots
re : Vecteurs et changement de repère. 06-05-13 à 04:35

Je ne me suis apparemment pas encore correctement expliqué vus que tu comprend pas ce que je voudrais avoir.
J'pensais pas si mal m'expliquer :/

Comme je l'ai dis, j'utilise l'editeur du Cryengine3. Devant on peut placer des "points" dans l'espace, et par le systeme de flowgraph réaliser des movements / rotation et monitorer des coordonnés dans l'espace.

Comme le montre le screen, le point A, le point B sont postionné dans le monde ( dépendant du repère "world" )
Le trait bleu représente le fait que B est "attaché" a A, c'est a dire que l'editeur considère que le nouveau repère de référence de B est le point A ( nouveau repère ) car si, par le systeme de flowgraph, je j'applique un movement au point B et lui demande d'aller a la coordonné ( 0,0,0 ) il va se déplacer sur le point A et non a la coordonné (0,0,0) du repère world.

Et si j'applique une rotation a A ( ou le déplace ) le point B sera toujours a z=4.. jusque là, j'imagine que je suis compréhensible ? :/

SEULEMENT, le système de flowgraph, la node "GetPos" ( présente sur le screen ) ne me permet de monitorer les positions / rotation QUE par rapport au repère "world" même si B est "attaché" a A j'aurais quand même ses coordonné dans le monde et non par rapport a son nouveau repère.

Du coup, en effet j'aimerais savoir comment calculer un changement de repère pour connaitre dans n'importe quelle condition la position ou rotation de B dans son nouveau repère qui est A et non plus le repère world ( les seuls valeurs que je peux monitorer grâce a cette node )

Posté par
wootwoots
re : Vecteurs et changement de repère. 06-05-13 à 04:36

OUps, oublié l'image.

Vecteurs et changement de repère.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1760 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !