Bonjour à tous,
Je dispose d'un plan d'origine P(a,b,c,d) et je voudrais appliquer une rotation dans l'espace pour obtenir un nouveau plan, parallèle à l'axe des Z : P'(0,0,1,d).
Mon problème revient à trouver M(4x4) tel que M.n=n' (n,n' les normales resp. des deux plans en coord homogènes) .
Comment calculer cette matrice ?
Ça fait 2-3ans que je n'ai plus touché au maths et je dois dire que je suis un peu rouillé :/
Merci par avance de m'éclairé.
Pas très clair : le premier plan, c'est le plan d'équation ? Et tu veux l'amener sur le plan
par une rotation ? Ce qui n'est pas clair non plus, c'est la matrice de rotation 4x4. Peux-tu préciser ton formalisme ?
Désolé si je ne suis pas clair, peut être que quelquechose m'échappe.
Voilà le contexte :
Je développe une application 3D qui (entre autre) demande à l'utilisateur d'orienté une forme : pour cela il doit donner 3 points sur cette forme, censés symboliser une coupe horizontale (ie. parallèle au plan Pxy).
Je calcule le plan P qui passe par ces trois points ce qui me donne P: ax+by+cz+d=0.
Du coup pour orienter la forme, je souhaite connaitre la rotation qui ramène P en P':z+d=0.
Une fois que j'aurais obtenu cette rotation, je pourrais l'appliquer sur ma forme.
Si mes souvenirs sont bons, une rotation dans l'espace se fait en coordonnées homogènes d'où une matrice 4x4.
(Là ou j'ai du me tromper c'est au niveau de M.n=n' je te l'accorde, j'ai été un peu vite dans le raisonnement).
J'espère avoir été plus clair.
Merci par avance
Je ne vois pas pourquoi tes souvenirs te disent qu'on calcule une rotation en coordonnées homogènes.
Trouver une rotation qui rend le plan horizontal, ce n'est pas trop dur. Il suffit de rendre le vecteur normal
de coordonnées
vertical. Je suppose qu'on a normalisé pour avoir
(sinon, diviser l'équation par
). Je suppose aussi qu'on n'a pas
(si c'est le cas, ce n'est pas la peine de se fatiguer). Soit
le vecteur de coordonnées
; c'est un vecteur unitaire normal à
. On calcule le produit vectoriel
. Alors
est une base orthogonale directe, et la matrice
dont les colonnes sont les coordonnées de
est une matrice de rotation qui amène le vecteur (0,0,1) sur
. La transposée de
(qui est l'inverse de
) est la matrice d'une rotation qui transforme le plan
en le plan
. C'est une brave matrice 3x3.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :