- rotation de matrice m autour de l'origine sur l'objet obj :
- obj->LocalToGlobal = m * obj->LocalToGlobal
- obj->GlobalToLocal = obj->GlobalToLocal * m_inv
- rotation de la camera autour de l'origine :
- meme chose sur l'objet cam.
- rotation de matrice m autour du centre de l'objet.
- obj->LocalToGlobal = obj->LocalToGlobal * m
- obj->GlobalToLocal = m_inv * obj->GlobalToLocal
- rotation de la camera sur elle-meme :
- meme chose sur l'objet cam.
- c'est la composée d'une translation et d'une rotation.
- c'est la matrice qui contient la position du centre du repere de l'objet dans le repere du monde
- c'est la matrice qui contient le repere orthonormé décrivant l'orientation de l'objet / repére du monde.
- c'est la matrice qui permet d'effectuer le changement de repére.
- P(W) = M . P(0) : quand on la multiplie à la matrice dans le repére de l'objet, on obtient la matrice dans le repére du monde.
- translater l'objet sans rotation :
- on effectue une tranlation de matrice m autour de l'origine, sur l'objet obj.
- translater la camera sans rotation :
- on effectue une tranlation de matrice m autour de l'origine, sur l'objet cam.
cam->GlobalToLocal = obj->LocalToGlobal * obj->LocalToCamera
aprés chaque modification de la position de l'objet, pour être sûr de recalculer la vue de la caméra.
En utilisant les valeurs calculées à chaque changement de focale- ScreenVertex.x = ( CameraVertex.x / CameraVertex.z ) * cam->sx + cam->tx ;
- ScreenVertex.y = ( CameraVertex.y / CameraVertex.z ) * cam->sy + cam->ty ;
- float alpha = cam->fovX * M_PI / 180.0 ;
- float beta = cam->fovY * M_PI / 180.0 ;
- cam->tx = cam->resX / 2 ;
- cam->ty = cam->resY / 2 ;
- cam->sx = cam->resX /2*tan(alpha) ;
- cam->sy = cam->resY /2*tan(beta) ;
Rotation Locale | Matrice correspondante |
Remettre l'objet à l'origine. | Translation T (Ox, Oy, Oz) |
Ré-orienter les axes du repére de l'objet. | Rotation R (x, y, z) |
Tourner autour de X. | Rotation autour de X d'angle alpha. Rx(alpha) |
réorienter les axes de représentation de l'objet. | Rotation R-1 (-x, -y, -z) |
remettre l'objet à l'origine | Translation T-1 (-Ox, -Oy, -Oz) |