J'ai lu la réponse ici:
Que fait la carte graphique avec le quatrième élément d'un vecteur comme position finale?
"Le quatrième composant est une astuce pour garder une trace de la projection en perspective. Lorsque vous effectuez une projection en perspective, vous voulez diviser par z: x '= x / z, y' = y / z, mais ce n'est pas une opération qui peut être implémenté par une matrice 3x3 fonctionnant sur un vecteur de x, y, z. L'astuce qui est devenue standard pour ce faire est d'ajouter une quatrième coordonnée, w, et de déclarer que x, y, z sera toujours divisé par w après l'application de toutes les transformations et avant la pixellisation. "
mais je ne comprenais pas pourquoi ne pouvions-nous pas diviser par z en utilisant une matrice 3x3?
ne pouvons-nous pas simplement multiplier par
1/z 0 0
0 1/z 0
0 0 1/z
obtenir [x/z y/z 1]
?