Le calcul d'une matrice LookAt

Je suis dans le milieu de l'écriture d'un moteur 3d, et je suis venu à travers la LookAt algorithme décrit dans la documentation de DirectX:

zaxis = normal(At - Eye)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)

 xaxis.x           yaxis.x           zaxis.x          0
 xaxis.y           yaxis.y           zaxis.y          0
 xaxis.z           yaxis.z           zaxis.z          0
-dot(xaxis, eye)  -dot(yaxis, eye)  -dot(zaxis, eye)  l

Maintenant, je reçois la façon dont il fonctionne sur le côté de rotation, mais ce que je n'ai pas tout à fait obtenir est pourquoi il met la traduction de composants de la matrice à ceux point des produits. En examinant un peu, il semble que c'est le réglage de la position de la caméra par une petite quantité sur une projection des nouveaux vecteurs de base sur la position de l'œil/la caméra.

La question est pourquoi est-il nécessaire de le faire? Que faut-il accomplir?

InformationsquelleAutor Daemin | 2008-12-08