Matrice rotation, changement de repère

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
stick25
Membre Naturel
Messages: 19
Enregistré le: 02 Juin 2010, 09:41

Matrice rotation, changement de repère

par stick25 » 02 Juin 2010, 09:43

Bonjour,

je dois développer une fonction sous Matlab pas vraiment facile pour moi. Je vous expose le problème.

Soient 4 points connus en coordonnées dans le système de coordonnées A. J'aimerais pouvoir rentrer dans ma fonction les coordonnées de 3 de ces 4 points dans un système de coordonnées B et donc que le 4e point soit calculé dans B.

J'ai un peu de mal à me lancer ! Merci pour votre aide !



Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 12:07

par Doraki » 02 Juin 2010, 09:52

Tes points sont dans un plan ?

Si oui, alors 3 points non alignés A,B,C forment un repère : tu peux par exemple trouver deux nombres x et y tel que le vecteur AD = x * le vecteur AB + y * le vecteur AC.
Une fois que tu as ça, tu as une relation entre A,B,C et D qui est indépendante du système de coordonnées.
Si tu as des nouvelles coordonnées A',B',C' pour A,B,C, tu trouves D' en disant que A'D' = x*A'B' + y*A'C'.

stick25
Membre Naturel
Messages: 19
Enregistré le: 02 Juin 2010, 09:41

par stick25 » 02 Juin 2010, 09:59

Merci Doraki, mais le pb c'est que je suis en 3D. J'espère que tu vas pouvoir m'aider quand mm... !!

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 12:07

par Doraki » 02 Juin 2010, 10:09

Si t'es en 3D, il faut 4 points pour faire un repère.
C'est-à-dire que même en connaissant A' B' C' il existe des applications affines qui envoient D sur n'importe quel point de l'espace.

J'ai supposé que tu autorisais toutes les applications affines vu que apparemment on a le droit d'envoyer tout triplet de points sur tout autre triplet de points.

Si par exemple tu imposais que la transformation doit être une isométrie directe (rotations, translations, et composées des deux), alors 3 points suffisent, mais tu ne peux plus envoyer un triplet sur n'importe quel triplet.

stick25
Membre Naturel
Messages: 19
Enregistré le: 02 Juin 2010, 09:41

par stick25 » 02 Juin 2010, 10:33

Merci pour ta réponse même si je comprend pas vraiment tout...

En fait mes trois points qui seront connus dans les deux repères seront toujours les mêmes et on déduira un 4e point...
Du coup trois points suffisent ?

Concrètement quelles sont les formules à utiliser ?

Merci !!

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 12:07

par Doraki » 02 Juin 2010, 10:39

Non 3 points ne suffisent pas, en toute généralité.

est-ce que tes repères sont orthogonaux ou orthonormés ou quelconques ou autre chose ?

stick25
Membre Naturel
Messages: 19
Enregistré le: 02 Juin 2010, 09:41

par stick25 » 02 Juin 2010, 10:46

Mes repère sont orthonormés !

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 12:07

par Doraki » 02 Juin 2010, 10:54

Et si on demande à la fonction les nouvelles coordonnées de D si on lui dit que
A,B,C dans le 1er repère = ((0,0,0),(1,0,0),(0,1,0))
A,B,C dans le 2ème repère = ((0,0,0),(2,0,0),(2,2,0))
D = (0,0,1)

Il se passe quoi ?

stick25
Membre Naturel
Messages: 19
Enregistré le: 02 Juin 2010, 09:41

par stick25 » 02 Juin 2010, 11:07

Désolé je ne saisis pas trop la question...

Moi j'aurai par exemple :

A,B,C dans le 1er repère = ((10,3,8),(6,9,20),(25,1,11))
A,B,C dans le 2ème repère = ((4322,5401,145),(4233,4540,138),(4421,5001,122))

Les valeurs sont pleinement aléatoires, c'est juste pour illustrer le fait qu'il y a un grand écart entre les deux repères...
Je souhaite donc donner les coordonnées de D dans le 1er repère et les obtenir dans le 2e et vis versa...

C'est vraiment pas possible de cette manière ? Il faut un 4e point connus dans les 2 repères ?

Vraiment merci pour votre aide, parce que je suis un peu perdu et je dois vite boucler ceci!

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 12:07

par Doraki » 02 Juin 2010, 15:28

Si tu ne sais ce que dois faire la fonction dans un cas simple, qu'est-ce qui m'empêche de te dire n'importe quoi et de te faire croire que ça va marcher ?

Est-ce que ton exemple est un exemple réel d'application de ta fonction ?
Ton exemple ne correspond pas à un changement de repères orthonormés puisque la distance AB a changé entre les deux repères.

Pourquoi tu ne donnes pas les deux repères orthonormés à la fonction plutôt que de donner les coordonnées de trois points A,B,C ?

stick25
Membre Naturel
Messages: 19
Enregistré le: 02 Juin 2010, 09:41

par stick25 » 02 Juin 2010, 16:08

En fait quand on débute, c'est difficile... et sur les forums je pense que l'on peut se faire confiance...

En donnant les exemples, j'ai bien dis que c'étaient des chiffres pleinement aléatoires...

Je ne donne pas les deux repères à la fonction car je ne peux pas, l'application ne le permet pas.

Donc si vous avez des pistes pour m'aider avec toutes ces indications...

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 12:07

par Doraki » 02 Juin 2010, 16:11

Quelle application ?

Si t'as 3 points et que les repères sont (par magie) orthonormés, si je me trompe pas, un changement de repères orthonormés commute avec le produit vectoriel.
Avec 3 points A B C tu peux construire D tel que AD = produit vectoriel de AB et AC.
les nouvelles coordonnées de A,B,C,D sont A',B',C',D' avec D' tel que A'D' = produit vectoriel de A'B' et A'C'.

Si t'as un point E à transformer, il faut trouver x,y,z tels que AE = x*AB+y*AC+z*AD, puis calculer E' tel que A'E' = x*A'B'+y*A'C'+z*A'D'.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 63 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite