Voici l'énoncé :
Dans cet exercice, les vecteurs et matrices sont exprimés en coordonnées homogènes.
Soient deux points P1 = (10 5 1 1)T et P2 = (-3 10 -5 1)T définis dans l'espace affine homogène ayant
pour origine O = (0 0 0 1)T et comme base les vecteurs orthonormés e1 = (1 0 0 0)T, e2 = (0 1 0 0)T
et e3 = (0 0 1 0)T.
1. Donnez les coordonnées du point P2, image du point P1 ayant subi tout d'abord une rotation
de 45° autour de l'axe de vecteur (5 3 2 0)T passant par le point P = (4 4 5 1)T puis une
translation de vecteur (1 3 5 0)T.
En fait je sais comment faire lorsque c'est autour d'un axe Ox, Oy ou Oz, mais avec le vecteur je sais plus comment faire, on a vu ça en td, mais je ne comprends pas trop. Merci pour votre explication.
Je suppose que les coordonnées homogènes c'est pour faire de la géométrie affine dans un espace vectoriel universelle et pas pour faire de la géométrie projective. Tu as du voir en cours que pour obtenir la matrice d'une transformation vectorielle tu ajoute juste à la matrice 3X3 un 1 en dernière ligne et dernière colonne pour obtenir une matrice 4x4. Tu as du aussi voir la matrice des translations qui contient dans la dernière colonne les coordonnées du vecteurs de translation et un 1 à la dernière ligne. Pour appliquer une transformation à un vecteur ou un point en coordonnées homogènes dans les deux cas tu fais le produit matrice vecteur. Pour composer des transformations il suffit de faire le produit des matrices. Toute transformation affine est la composée d'une transformation vectorielle par une translation et son inverse (c'est la conjugaison d'une transformation vectorielle par une translation). Ainsi si tu sais écrire la matrice 3x3 de n'importe quelle transformation vectorielle, tu sais écrire la matrice de n'importe quelle transformation affine et tu peux calculer l'image de n'importe quelle point ou vecteur par cette transformation affine. Je suppose que ce qui te pose problème c'est déterminer la matrice 3x3 de la rotation vectorielle d'un certain angle par rapport à un vecteur. Pour cela tu as juste à calculer l'image de e1 e2 et e3 par la rotation (ça donne les colonnes de la matrice). Tu peux utiliser une base orthogonale directe qui contient v, par exemple:
je vais noter
et
on a alors
et si on note l'image de on a
Par exemple, si je note
on a
et ... le reste c'est juste du calcul.
Les mathématiques ne s'apprennent pas elles se comprennent.
29/04/2009 - 13h07
husobom
Date d'inscription
avril 2009
Âge
25
Messages
8
Re : Exercice transformation géométrique
Waw, merci pour le détail mais j'ai pas tout compris, pourrais-tu faire une application numérique pour je comprenne mieux ? En tout cas ça semble différent de ce que j'ai vu en TD, nous il nous a fait ramener le vecteur sur le plan XY puis sur Z, ca nous faisait une multiplication de plein de matrices...
29/04/2009 - 14h23
sylvainc2
Date d'inscription
octobre 2008
Messages
345
Re : Exercice transformation géométrique
Une rotation est une transformation linéaire, donc elle doit se faire autour de l'origine. On te dit de la faire autour du point (4;4;5;1) en coord homogènes, donc tu dois commencer par une translation qui amène ce point vers l'origine. Celle-ci s'écrit, sous forme de matrice homogène 4x4, comme T=
[ 1 0 0 -4 ]
[ 0 1 0 -4 ]
[ 0 0 1 -5 ]
[ 0 0 0 1 ]
la translation inverse T^-1 est la même sauf que tu écrits (4,4,5,1) dans la dernière colonne.
Maintenant, pour la rotation à proprement parler, d'un angle phi autour d'un axe de vecteur unitaire n=(a,b,c), la matrice est R=
(pour le détail de cette dérivation ca sera peut-être pour un autre message).
Pour avoir la rotation tu dois multiplier les matrices T^-1 * R * T dans cet ordre.
On dit ensuite de faire une translation de vecteur (1,3,5), alors tu places ces valeurs dans la 4e colonne d'une matrice, comme pour T, disons U, et tu multiplies U * T^-1 * R * T.