Pourquoi 4×4 matrices utilisées pour transformer les choses en 3D?
Raison derrière l'utilisation de 4×4 matrices pour transformer les choses en 3D
Par exemple, rotation est généralement effectué en utilisant une matrice, Ainsi, afin de faire face à de multiples transformations (rotation / translation / mise à l'échelle / projection…etc) d'une manière uniforme, vous devez les encoder dans une matrice.
bien, plus techniquement parlant; une transformation est la cartographie d'un point / vecteur à un autre point / vecteur.
p` = T(p);
où p` est le point transformé et T(p) est la fonction de transformation.
Étant donné que nous n'utilisons une matrice que nous devons faire pour combiner plusieurs transformations:
p1 = T(p);
pfinal = M(p1);
Non seulement une matrice de combiner plusieurs types de transformations en une seule matrice (par exemple. affines, linéaire, projective).
En utilisant une matrice nous donne la possibilité de combiner des chaînes de transformations, puis les multiplier par lots. Cela nous permet d'économiser une tonne de cycles généralement par le GPU (grâce à @ChristianRau pour le signaler).
Tfinal = T * R * P; // Traduiretournerprojet
pfinal = Tfinal*p;
Il est également bon de souligner que même certains processeurs graphiques et processeurs sont optimisés pour des opérations vectorielles; Processeurs utilisant SIMD et GPU étant guidée par les données processeurs parallèles par la conception, donc en utilisant des matrices correspond parfaitement à l'accélération matérielle (réellement, Processeurs graphiques ont été conçus pour la matrice d'ajustement / opérations vectorielles).
CRÉDIT:
https://gamedev.stackexchange.com/questions/72044/why-do-we-use-4×4-matrices à transformer-choses en 3D?answertab = onglet actif-top #
Laisser une réponse
Vous devez s'identifier ou S'inscrire ajouter une nouvelle réponse.