Dévellopement d'un applicatif de transformation de matrices.

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Jérôme01
Messages: 3
Enregistré le: 14 Oct 2005, 08:19

Dévellopement d'un applicatif de transformation de matrices.

par Jérôme01 » 14 Oct 2005, 08:29

Bonjour à ts,

Je vous avoue que c la première fois que je pratique un forum et que mon niveau mathématique reste assez basique.
Cependant j'aurais besoin de votre aide.

J'ai une matrice de transformation de repère en 3D (dc matrice 3x3) et je souhaiterais interpréter d'après elle les Tx,Ty,Tz ainsi que Rx,Ry,Rz du nouveau repère par rapport à l'ancien.
Ps: on ne prend pas en compte l'échelle de la transformation (=1).

Pour simplifier j'aimerais savoir les déplacements et les rotations de mon premier repère pour arriver au deuxième.

Est-ce jouable ? et si oui comment?

Merci par avance de l'aide que vous pourrez m'apporter.



Chimerade
Membre Irrationnel
Messages: 1472
Enregistré le: 04 Juil 2005, 13:56

par Chimerade » 14 Oct 2005, 10:27

Jérôme01 a écrit:J'ai une matrice de transformation de repère en 3D (dc matrice 3x3) et je souhaiterais interpréter d'après elle les Tx,Ty,Tz ainsi que Rx,Ry,Rz du nouveau repère par rapport à l'ancien.
Pour simplifier j'aimerais savoir les déplacements et les rotations de mon premier repère pour arriver au deuxième.


Tu ne donnes pas la définition de tes Rx,Ry,Rz ainsi que des Tx,Ty,Tz. Tu sais, il y a autant de façons d'appeler les colonnes et les lignes d'une matrices que de manuels de maths ! Il ne faut pas croire que tout le monde comprend quand tu parles des Rx et de Tx : chacun a ses propres notations !

Pour moi une matrice de rotation a la tête suivante :



Le vecteur colonne est le vecteur image du vecteur dans la rotation.
Le vecteur colonne est le vecteur image du vecteur dans la rotation.
Le vecteur colonne est le vecteur image du vecteur dans la rotation.

Une fois les définitions données, on sait de quoi on parle ! Mais moi, je ne connais pas de Rx, Ry, Rz, ni de Tx,Ty,Tz.

A toi !

Jérôme01
Messages: 3
Enregistré le: 14 Oct 2005, 08:19

par Jérôme01 » 14 Oct 2005, 15:49

Tout d'abord merci de m'offrir ton aide.

Pour reprendre, je cherche à developper un applicatif qui lira une matrice de rotation et sera capable d'en ressortir les rotations suivant X,Y,et Z d'un repère.

Voici les informations que je recupère de mon logiciel de dessin.

|a b c . n |
|d e f . o |
|g h i . p |
|------. --|
|j k l . m |

The SolidWorks transformation matrix is stored as a homogeneous matrix of 16 elements, ordered as shown. The first 9 (a to i) are elements of a 3x3 rotational sub-matrix, the next 3 (j,k,l) define a translation vector, the next 1 (m) is a scaling factor. The last 3 elements (n,o,p) are unused in this context.
The 3X3 rotational sub-matrix represents 3 axis sets: row 1 for x-axis components of rotation, row 2 for y-axis components of rotation, and row 3 for z-axis components of rotations. The 3 axes are constrained to be orthogonal and unified so that they produce a pure rotational transformation. Reflections can also be added to these axes by setting the components to negative. The rotation sub-matrix coupled with the lower-left translation vector and the lower-right corner scaling factor creates an affine (A transformation that preserves lines and parallelism
(maps parallel lines to parallel lines.) transformation.
If the 3 axis sets of the 3x3 rotational sub-matrix are not orthogonal or unified, then they are automatically corrected according to the following rules:
If any axis is 0, or any two axes are parallel, or all axes are coplanar, then an identity matrix replaces the rotational sub-matrix.
All axes are corrected to be of unit length.
The axes are built to be orthogonal to each other in the prioritized order of Z, X, Y (X is orthogonal to Z, Y is orthogonal to Z and X).



Je souhaite donc obtenir d'après les éléments de a à i la rotation suivant mon axe des X,la rotation suivant mon axe des Y et la rotation suivant mon axe des Z.

Je pense, qu'il s'agit comme tu me l'as montré d'une manipulation des vecteurs images. Ms je dois dire que mon niveau est assez faible....

Désolé si je ne parviens pas à être assez clair, merci en ts cas.

Chimerade
Membre Irrationnel
Messages: 1472
Enregistré le: 04 Juil 2005, 13:56

par Chimerade » 14 Oct 2005, 17:43

Jérôme01 a écrit:Je pense, qu'il s'agit comme tu me l'as montré d'une manipulation des vecteurs images. Ms je dois dire que mon niveau est assez faible....


Je crois que l'on s'est mal compris. Je n'ai pas dit qu'il s'agissait d'une "manipulation de vecteurs images", pour l'excellente raison que je ne comprends pas cette expression, particulièrement floue.

Je dis simplement qu'une rotation peut être représentée par une matrice 3*3 et que la convention générale est de donner dans cette rotation l'image du vecteur , l'image du vecteur et l'image du vecteur l'espace étant rapporté à un repère

Appelons F cette transformation. Si on pose




l'image du vecteur sera :







Soit alors les coordonnées de de sorte que :



On constate alors que les équations de passage sont :






Et ceci s'exprime matriciellement par :



Appelons P la matrice

Alors on pourra écrire :

Si on veut au contraire retrouver à partir de , on pourra écrire :



Mais si la transformation est bien une rotation, alors, l'inverse de la matrice P est tout simplement sa transposée.



Les explications en anglais que tu m'as transmises ne sont pas assez claires à mes yeux. Il est possible que la première matrice soit celle que j'ai appelée P, mais il est également possible qu'il s'agisse de . Cela dit, ton logiciel est apparemment un logiciel de déplacement de points, puisque cela inclut une translation. Pour ce qui est de la rotation, c'est pareil, la rotation d'un point étant apparemment faite autour de l'origine. Mais j'attire ton attention sur le fait que le produit d'une translation par une rotation n'est pas commutatif. Il est important de savoir si ton logiciel effectue d'abord la rotation et ensuite la translation ou le contraire. Quand au facteur d'échelle m, il introduit encore une difficulté, quant à l'ordre. Appliquer un facteur d'échelle et ensuite faire une rotation n'est pas équivalent à faire la rotation d'abord et appliquer ensuite le facteur d'échelle. Il importe donc que tu te renseignes sur l'ordre des opérations : car de nombreuses combinaisons sont possibles. Tout cela n'est pas réellement facile pour toi, a fortiori pour moi et je ne peux pas t'aider davantage.

Jérôme01 a écrit:Je souhaite donc obtenir d'après les éléments de a à i la rotation suivant mon axe des X,la rotation suivant mon axe des Y et la rotation suivant mon axe des Z.


Je te mets en garde contre ces expressions. Les trois vecteurs dont j'ai parlé ne correspondent pas à trois rotations successives, mais à l'image des trois vecteurs de base dans une rotation !

Jérôme01
Messages: 3
Enregistré le: 14 Oct 2005, 08:19

par Jérôme01 » 17 Oct 2005, 08:30

Merci en tous cas pour ton aide, cela devrait m'aider à avancer considérablement.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 24 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