changement de repère

(Cliquez-ici pour accéder à la version originale de cette discussion avec couleurs et images)







Posted by: crossrobotik

Bonjour/soir à tous,

Je travaille dans l'industrie et je recherche les formules que je suis censé avoir apprises par coeur lors de mes études pour un problème ...

Le problème, ou plutot la question :

Je cherche les coordonnées d'un repère V (Ov, Xv, Yv, Zv) dans mon repère R (Or, Xr, Yr, Zr) connu.
Je connais aussi 3 points dans R et dans V, A(Xa, Ya, Za), B(Xb, Yb, Zb) et C(Xc, Yc, Zc).

Je n'ai pas besoin de toutes les coordonnées du repère V, l'origine Ov, un point sur Xv, et un point sur le plan, XvYv suffisent pour mon application professionelle.

Je connais Or, Xr, Yr, Zr
Je connais Xa, Ya, Za dans R et V
Je connais Xb, Yb, Zb dans R et V
Je connais Xc, Yc, Zc dans R et V
Je connais pas Ov, Xv, Yv, Zv dans R

http://img156.imageshack.us/img156/...anstitrery7.jpg

Xv, Yv, Zv et Xr, Yr, Zr ne sont pas forcément parallèle !
La norme sera la même.

Donc je vais devoir utiliser les matrices de passages mais je ne sais plus comment ça marche, et surtout je ne sais pas comment refaire ça dans mon cas !

J'ai bien lu des cours toute la soirée d'y hier mais ça parle de choses trop complexe pour mon niveau !
(Moi les espaces vectoriel, les collections et les bases canoniques, je m'en sert pas!)

Je n'utilise que des coordonnées cartésienne.

Comment créer la matrice de passage ?
Comment trouver l'origine de mon nouveau repère ?
Comment trouver un point sur ce repère ?

Pouvez vous m'aider ?
Merci d'avance



Posted by: mathelot

Bonjour,
je me demande s'il ne manque pas une relation dans ton problème:

Un changement de vecteurs de base demande trois relations.
Un changement de repères affines 4 relations.



Posted by: crossrobotik

Là tu me pose une colle ...

Ce que je sais c'est qu'il faut que j'utilise une matrice de passage (mais je ne sais pas la créer).
Je sais que pour déterminer cette matrice il me faut une translation et 3 rotation dont je ne connais pas les paramètres ... je ne connais que les points dans mon repère.

Bref je ne sais pas ce que je dois faire pour résoudre mon problème



Posted by: amine801

Je ne connais pas exactement le comportement de tes de repères mais il faut trouver une relation de la forme:
X_r=a_{11}X_v+a_{21}Y_v+a_{31}Z_v
Y_r=a_{12}X_v+a_{22}Y_v+a_{32}Z_v
Z_r=a_{13}X_v+a_{23}Y_v+a_{33}Z_v
Ainsi la matrice de passage A sera définie
si H est la representation d'un vecteur dans V (Ov, Xv, Yv, Zv)
et H' sa representation dans R (Or, Xr, Yr, Zr) alors
H=AH' pour faire la transition dans le sens inverse il faut calculer
l'inverse de la matrice A ainsi
$H'=A^{-1}H$
Les a_{ij} peuvent être trouve en utilisant les points fixes des deux reperes
mais cette matrice de passage ne marche que pour les vecteurs(pas les points)
Je pense que ton problème relève plus de la physique que de la mathématique
ainsi je pense que c mieux d'utilise la composition des mouvements



Posted by: crossrobotik

Alors si je prend les vecteurs AB, AC et BC que je connais aussi bien dans le repère R que dans le repère V.
Ma matrice de passage sera alors mes composantes de ces vecteurs non ?



Posted by: mathelot

Citation:
Posté par crossrobotik
Alors si je prend les vecteurs AB, AC et BC que je connais aussi bien dans le repère R que dans le repère V.
Ma matrice de passage sera alors mes composantes de ces vecteurs non ?


Non , ça ne marche pas.
car \vec{AB}=\vec{AC}+\vec{CB}
Le système que tu obtiens ne donne pas une matrice inversible
car il y a une relation entre les trois vecteurs.



Posted by: crossrobotik

Donc il me faut 4 points ?



Posted by: mathelot

oui.



Posted by: crossrobotik

Bon après confirmation je ne peux pas avoir 4 points ... Il faudra que je me contente de 3.

Je cherche toujours la solution ... j'ai meme acheter un bouquin de maths !
Et je n'ai toujours rien trouvé, et pourtant je sais que c'est possible !

Je cherche toujours une solution.



Posted by: mathelot

salut,
Et si tu rajoute une contrainte (un exemple avec une contrainte supplémentaire sur un point D choisi arbitrairement du style: D(1,1,1) a mêmes coordonnées dans les deux repères) et que le nouveau problème est compatible, ça prouvera qu'il manque une donnée au problème initial.

Ou alors, est-ce qu'il y a un point origine G, canonique , évident,implicite, et à ce moment là,les coordonnées des points A,B,C sont en fait les coordonnées
de vecteurs \vec{GA},\vec{GB},\vec{GC}

ou alors, le problème est invariant par translation !! et c'est alors un problème vectoriel.



Posted by: crossrobotik

On m'a finalement donné une solution, je vous la poste ici au cas ou d'autres en aurait besoin :

Citation:
Notons A_R, B_R, C_R, A_V, B_V, C_V les coordonnées de A, B, C dans
les repères R et V. Notons M_R et M_V les coordonnées d'un point M
dans les repères R et V.
Ov correspond au cas où M_V =(0,0,0)
Xv au cas où M_V = (1,0,0)
Yv au cas où M_V = (0,1,0)
Zv au cas où M_V = (0,0,1)

Les formules générales sont :
M_R = Ov_R + P * M_V
où P est la matrice de passage (inconnue) et Ov_R les coordonnées
(inconnues) de Ov dans R. On écrit cette relation pour A, B, C :

A_R = Ov_R + P * A_V
B_R = Ov_R + P * B_V
C_R = Ov_R + P * C_V

On retranche la première aux deux dernières. B_R - A_R sont alors les
composantes dans R du vecteur AB. On obtient :

A_R = Ov_R + P * A_V
AB_R = P * AB_V
AC_R = P * AC_V

On voit que si on peut déterminer P avec les deux dernières équations,
la première donnera Ov_R.
Si les repères sont quelconques, P possède 9 coefficients, et les deux
dernières équations ne fournissent que 6 données (2 équations * 3
composantes par équation). Mais si les repères sont orthonormés
directs, P préserve les angles, les longueurs et l'orientation. Si P
transforme AB_V en AB_R et AC_V en AC_R, alors il transforme aussi
AD_V en AD_R, où AD est le produit vectoriel de AB par AC. Cela nous
donne une troisième équation permettant de déterminer P.

Exemple :
A_R := [-.319, 2.55, 6.73]
B_R := [2.18, 2.05, -1.52]
C_R :=[1.62, -1.01, 2.91]

A_V := [-1.28, 2.48, 5.65]
B_V := [2.35, 1.03, -2.04]
C_V := [.68, -1.59, 2.39]

On calcule les vecteurs AB et AC dans les deux repères :
AB_R := [2.50, -.50, -8.25]
AC_R := [1.94, -3.56, -3.82]

AB_V := [3.63, -1.45, -7.69]
AC_V := [1.96, -4.07, -3.26]

On calcule AD = produit vectoriel de AB par AC dans les deux repères
AD_R := [-27.5, -6.45, -7.93]
AD_V :=[-26.6, -3.3, -12.0]

On résout le système :
AB_R = P*AB_V
AC_R = P*AC_V
AD_R = P*AD_V
ce qui revient à calculer le produit de matrices :
[AB_R AC_R AD_R] * [AB_V AC_V AD_V]^(-1)
On obtient P :
[.984 -.136 .167 ]
[.146 1.00 -.055]
[-.155 .081 .985]
Les trois colonnes donnent Xv, Yv, Zv dans R.

On calcule Ov_R :
A_R - P * A_V = Ov_R
d'où
Ov_R = [.350, .58, .78]

Lavau Gérard




Posted by: Bebeuh

J'ai un problème similaire...

en fait j'ai un repère global orthonormé. Dans ce repère, j'ai défini un repère R1 (orthonormé), et un repère R2 (toujours orthonormé) avec la même origine que R1.

Je voudrais passer de R1 à R2. Plus précisemment connaitre les valeurs des rotations par rapport aux axes de R1, qui transforment un axe de R1 en un axe de R2? C'est à dire par une rotation d'angle A par rapport à Y1 et d'angle B par rapport à Z1, X1 devient X2 (aussi Y1 devient Y2 et Z1 devient Z2).

Voila, merci d'avance!











-