OpenGL - Révisions. Repères z y x x z y Repère du monde Repère des objets (repère de modélisation)

  • View
    102

  • Download
    0

Embed Size (px)

Transcript

  • Page 1
  • OpenGL - Rvisions
  • Page 2
  • Repres z y x x z y Repre du monde Repre des objets (repre de modlisation)
  • Page 3
  • Matrices de transformations z y x glBegin(GL_TRIANGLES); glVertex2f(2,0); glVertex2f(4,0); glVertex2f(3,3); glEnd(); x z y glTranslatef(-3,0,0); x z y
  • Page 4
  • Matrices de transformations z y x glBegin(GL_TRIANGLES); glVertex2f(2,0); glVertex2f(4,0); glVertex2f(3,3); glEnd(); glTranslatef(-3,0,0); x z y
  • Page 5
  • Matrices de transformations z y x glBegin(GL_POLYGONE); glVertex2f(0,0); glVertex2f(2,0); glVertex2f(2,2); glVertex2f(0,2); glEnd(); x z y
  • Page 6
  • z y x x z y z y x 1. Rotation autour de y z y x 2. Translation en x Matrices de transformations Vue du repre du monde
  • Page 7
  • z y x x z y z y x 1. Translation en x z y x 2. Rotation autour de y Matrices de transformations Vue du repre du monde
  • Page 8
  • z y x x z y z y x 1. Rotation autour de y 2. Translation en x z y x 1. Translation en x 2. Rotation autour de y Matrices de transformations Vue du repre du monde
  • Page 9
  • z y x x z y z y x 1. Rotation autour de y z y x 2. Translation en x Matrices de transformations Vue du repre de lobjet
  • Page 10
  • z y x x z y z y x 1. Rotation autour de y 2. Translation en x z y x 1. Translation en x 2. Rotation autour de y Matrices de transformations Vue du repre de lobjet
  • Page 11
  • z y x x z y z y x 1. Rotation autour de y 2. Translation en x z y x 1. Translation en x 2. Rotation autour de y Matrices de transformations Vue du repre du monde
  • Page 12
  • Matrices de transformations z y x glBegin(GL_POLYGONE); glVertex2f(0,0); glVertex2f(2,0); glVertex2f(2,2); glVertex2f(0,2); glEnd(); x z y glTranslatef(-3,0,0); glRotatef(1,0,45,0);
  • Page 13
  • Matrices de transformations POT chapitre 2, concept 1.2, 1.7, 1.8 et 1.9 Repre relatif lobjet - transformations dans lordre de leur dclaration Repre du monde - transformations dans lordre inverse de leur dclaration
  • Page 14
  • Matrices de transformations z y x glBegin(GL_POLYGONE); glVertex2f(0,0); glVertex2f(2,0); glVertex2f(2,2); glVertex2f(0,2); glEnd(); x z y glTranslatef(-3,0,0); x z y
  • Page 15
  • Matrices de transformations z y x glBegin(GL_POLYGONE); glVertex2f(0,0); glVertex2f(2,0); glVertex2f(2,2); glVertex2f(0,2); glEnd(); glTranslatef(-3,0,0); glRotatef(1,0,45,0); x z y
  • Page 16
  • Pile de matrices glPushMatrix() : recopie la matrice courante au sommet de la pile sauvegarde du contexte courant glPopMatrix() : supprime la matrice au sommet de la pile restauration du contexte prcdent
  • Page 17
  • Pile de matrices Exemple du playmobil void dessineCorps() { glBegin(GL_POLYGON); glVertex2f(-1,0); glVertex2f( 1,0); glVertex2f( 1,3); glVertex2f(-1,3); glEnd(); }
  • Page 18
  • Pile de matrices Exemple du playmobil void dessineJambe() { glBegin(GL_POLYGON); glVertex2f( 0,0); glVertex2f(0.5,0); glVertex2f( 0,2); glVertex2f(0.5,2); glEnd(); }
  • Page 19
  • Pile de matrices Exemple du playmobil dessineCorps(); Dplace le repre objet en (0.5,-2) dessineJambe(); Dplace le repre objet en (-1,-2) dessineJambe();
  • Page 20
  • Pile de matrices Exemple du playmobil dessineCorps(); Dplace le repre objet en (0,-2)
  • Page 21
  • Pile de matrices Exemple du playmobil dessineCorps(); Dplace le repre objet en (0,-2) Sauvegarde le contexte
  • Page 22
  • Pile de matrices Exemple du playmobil dessineCorps(); Dplace le repre objet en (0,-2) Sauvegarde le contexte Dcale le repre droite dessineJambe();
  • Page 23
  • Pile de matrices Exemple du playmobil dessineCorps(); Dplace le repre objet en (0,-2) Sauvegarde le contexte Dcale le repre droite dessineJambe(); Restaure le contexte
  • Page 24
  • Pile de matrices Exemple du playmobil dessineCorps(); Dplace le repre objet en (0,-2) Sauvegarde le contexte Dcale le repre droite dessineJambe(); Restaure le contexte Sauvegarde le contexte
  • Page 25
  • Pile de matrices Exemple du playmobil dessineCorps(); Dplace le repre objet en (0,-2) Sauvegarde le contexte Dcale le repre droite dessineJambe(); Restaure le contexte Sauvegarde le contexte Dcale le repre gauche dessineJambe(); Restaure le contexte
  • Page 26
  • Pile de matrices Exemple du playmobil dessineCorps(); glTranslate2f(0,-2); glPushMatrix(); glTranslate2f(0.5,0); dessineJambe(); glPopMatrix(); glPushMatrix(); glTranslate2f(-1,0); dessineJambe(); glPopMatrix();