Historique des modifications - Message

Message #7779

Sujet: shema matrice opengl


Type Date Auteur Contenu
Dernière modification 20-01-2010 21:07:47 Gehogor
Coucou.
Juste au cas où:

Une matrice de passage ou homogène est une matrice 4*4 comme indiqué ci-dessous (tu peux la voir aussi comme un repère 3D ou une matrice de positionnement d'un objet dans son monde 3D):

11 12 13 | 14
21 22 23 | 24
31 32 33 | 34
  • --------------

41 42 43 | 44

Les termes 14, 24 et 34 sont respectivement x, y, z, soit ton vecteur translation ou matrice de translation.
Les termes 11, 12, 13 et 21, 22, 23 et 31, 32, 33 sont les 9 termes de la matrice de rotation, ou matrice 3*3. Elle donne sans ambiguïté la position angulaire de ton repère par rapport à un autre repère (le repère monde par exemple).
Le terme 44 est toujours égale à 1 et 41, 42, 44 sont égaux à 0. Cette dernière ligne est là pour rendre la matrice carrée et donc permettre des calculs d'inversions matricielles.

Du coup, lorsque tu multiplies un vecteur (x1, y1 , z1 ,1) par cette matrice, tu obtiens un autre vecteur exprimer dans ce nouveau repère.

Ps: OpenGL utilise les termes 41, 42, 43 pour y stocker le vecteur "échelle" en x, y et z respectivement.

Pss: Pour des raisons historiques, le z et le y sont inversé dans les moteurs 3D par rapport à la réalité mathématique. Soit, si tu insères des calculs extérieur à Irrlicht, tu dois permuter les lignes 3-4 et les colonnes 3-4. Si tu ne fais que de l'Irrlicht, alors il n'y a pas ce genre de problème. Et oui, les premiers jeux vidéos étaient en 2D codés en x-y, après est venue la profondeur qui devint z, d'où la permutation.

Voili voilou. Bonne soirée.
Création du message 20-01-2010 21:06:58 Gehogor
Coucou.
Juste au cas où:

Une matrice de passage ou homogène est une matrice 4*4 comme indiqué ci-dessous (tu peux la voir aussi comme un repère 3D ou une matrice de positionnement d'un objet dans son monde 3D):

11 12 13 | 14
21 22 23 | 24
31 32 33 | 34
  • --------------

41 42 43 | 44

Les termes 14, 24 et 34 sont respectivement x, y, z, soit ton vecteur translation ou matrice de translation.
Les termes 11, 12, 13 et 21, 22, 23 et 31, 32, 33 sont les 9 termes de la matrice de rotation, ou matrice 3*3. Elle donne sans ambiguïté la position angulaire de ton repère par rapport à un autre repère (le repère monde par exemple).
Le terme 44 est toujours égale à 1 et 41, 42, 44 sont égaux à 0. Cette dernière ligne est là pour rendre la matrice carrée et donc permettre des calculs d'inversions matricielles.

Du coup, lorsque tu multiplies un vecteur (x1, y1 , z1 ,1) par cette matrice, tu obtiens un autre vecteur exprimer dans ce nouveau repère.

Ps: OpenGL utilise les termes 41, 42, 43 pour y stocker le vecteur "échelle" en x, y et z respectivement.

Pss: Pour des raisons historiques, le z et le y sont inversé dans les moteurs 3D par rapport à la réalité mathématique. Soit, si tu insères des calculs extérieur à Irrlicht, tu dois permuter les lignes 3-4 et les colonnes 3-4. Si tu ne fais que de l'Irrlicht, alors il n'y a pas ce genre de problème. Et oui, les premiers jeux vidéos étaient en 2D codés en x-y, après est venue la profondeur qui devint z, d'où la permutation.

Voili voilou. Bonne soirée.

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
539 invités en ligne
membre en ligne: -
RSS Feed