8.2.1 Cahier des charges

Il faut reconnaître que pouvoir manipuler la fonction gluLookAt comme si c'était une vrai caméra serait très pratique. Comment va-t-on utiliser cette classe ? Tout simplement comme une vraie caméra, avec 3 angles :

  • theta : angle de rotation dans le plan xOy
  • phi : angle dans le plan xOz ou yOz
  • rouli : qui définira l'angle par rapport à l'horizontale, plan xOy (arbitrairement)

Ensuite il nous faut trois Vecteurs :

  • position : définit la position de la caméra
  • visee : définit la visée de la caméra (la direction dans laquelle elle regarde)
  • up : pour la verticale de la caméra

Voilà pour les variables.

Dans notre caméra les angles définiront l'orientation de la caméra et les Vecteurs seront là juste pour utiliser et retourner des directions précises (sans besoin de trigonométrie pour retrouver les valeurs que l'on cherche). Ce qui implique de faire un peu (un tout petit peu) de trigo dans notre classe Camera.