3D

Résolu
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 5 oct. 2006 à 10:51
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 5 oct. 2006 à 11:11
Salut :

Pourquoi dans Direct3D ou OpenGL on travaille avec des matrices 4x4 alors qu'on est en 3 dimensions.

3 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
5 oct. 2006 à 10:57
Pour pouvoir faire, d'un "simple" calcul matriciel toutes les transformations géométriques: translation, rotation, et autres composées exotiques

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
3
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
5 oct. 2006 à 11:03
Pour être plus clair:
- en notation cartésienne, il faut multiplier le vecteur courant avec la matrice de rotation pour le faire tourner. Pour le faire translater, il faut lui ajouter des composantes
- en coordonnées homogènes (x, y, z, w), une multiplication dans les 2 cas
http://fr.wikipedia.org/wiki/Coordonn%C3%A9es_homog%C3%A8nes
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
3
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
5 oct. 2006 à 11:11
En gros , une matrice 3*3 te permet de faire toutes les rotations possibles de ton objet.... mais pas de translation.
Au lieu de te taper la rotation, puis ensuite appliquer une translation (la même évidemment) pour tous les sommets de ton objet, on utilise une matrice 4*4 qui combine les 2 opérations.
De toutes façons c'est la carte vidéo qui fait ce calcul et elle travaille avec des matrices 4*4, donc tu n'as pas le choix si tu veux faire un truc performant ;).
Allez, passe au 4*4 :D.
3
Rejoignez-nous