Coordonnées homogènes
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
nico253
- Membre Naturel
- Messages: 14
- Enregistré le: 15 Fév 2013, 14:25
-
par nico253 » 15 Fév 2013, 14:26
Bonjour, dans le cadre d'un TFE je suis amené à faire de la 3D avec un programme (géogébra).
La partie logiciel est terminée, mais je dois maintenant expliquer par écrit les coordonnées homogènes.
Le hic c'est que ça ne me parle absolument pas! (je les ai pourtant utilisées dans ma matrice, je suppose).
Je suis parti de la matrice de rotation 3x3 à laquelle je suis venu "greffer" une partie supplémentaire prenant en charge la translation (donc elle devient 4x4):
A B C Tx Je peux donc calculer les coordonnées (x,y) d'un point grâce à la matrice.
d e f TY
G H I Tz
0 0 0 1
Le peu que j'ai trouvé sur le net c'est que les coordonnées homogènes permettent de réaliser la translation (addition) et la multiplication de la matrice par les coordonnées originales du point que je souhaite représenter en 3D (enfin une succession de points reliés) en une seule opération.
Malheureusement j'avoue que ça reste assez flou pour moi.
Quelqu'un pourrait-il éclairer ma lanterne?
Merci d'avance.
-
Dlzlogic
- Membre Transcendant
- Messages: 5273
- Enregistré le: 14 Avr 2009, 12:39
-
par Dlzlogic » 15 Fév 2013, 15:45
Bonjour,
C'est aussi complètement flou pour moi.
Apparemment, vous devez expliquer ce que vous faites, comment, pourquoi etc.
L'utilisation d'une matrice de transformation signifie "J'utilise un outil, parce que ça va plus vite, mais je sais exactement ce que ça fais".
Apparemment ce n'est pas le cas. Personnellement, je fais des transformations en 3D avec affinité, c'est à dire qu'il y a 12 paramètres, mais j'utilise pas l'outil "matrice".
-
nico253
- Membre Naturel
- Messages: 14
- Enregistré le: 15 Fév 2013, 14:25
-
par nico253 » 15 Fév 2013, 22:12
En fait je comprends parfaitement le principe pour calculer les coordonnées d'un point après rotation en utilisant ses coordonnées d'origines.
En multipliant les 3 matrices de rotation ( une par axe) on obtient une matrice 3x3 qui prend en charge les rotations autour de 3 axes (et donc avec 3 angles de rotation).
Donc en multipliant la matrice par les coordonnées de mon point, je calcule les coordonnées du point dans sa nouvelle position et grâce à des curseurs je peux faire varier mes angles.
A B C ----------------X------X' ----------X'=A*X+B*Y+C*Z
D E F------fois-------Y--=---Y'-------==>
G H I-----------------Z------Z'
Le problème c'est que la matrice 3x3 ne prend en compte que les rotations et non les translations, je la transforme donc en 4x4.
A B C Tx--------X------ X'---------X'=A*X+B*Y+C*Z +1*Tx
D E F Ty--fois---Y--=---Y'-----==>
G H I Tz---------Z------Z'
0 0 0 1----------1------1
Ma matrice 4x4 calcule donc les coordonnées après rotation et/ou translation de mon point de coordonnées originales (x,y,z). Et c'est la que le terme coordonnées homogènes apparaît car, d'après ce que j'ai compris, on exprime les coordonnées d'un point en 3D (x,y,z) par des coordonnées de dimensions n+1 (4), donc (x,y,z,1).
Je copie un gros ce que j'ai vu sur le net mais sans trop comprendre cette notion de coordonnées homogènes.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 35 invités