Pourquoi 4×4 matrices utilisées pour transformer les choses en 3D?

Question
En effet, 4×4 matrices vient en très utile pour transformer les choses en 3D! Vous pouvez ajouter un vecteur dans le cas de la traduction.

Raison derrière l'utilisation de 4×4 matrices pour transformer les choses en 3D

La raison d'utiliser une matrice se résume à avoir d'une manière uniforme pour traiter différentes transformations combinées.

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