Top Banner
OpenGL - Révisions
26

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

Apr 03, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenGL - Révisions. Repères z y x x z y Repère du monde Repère des objets (repère de modélisation)

OpenGL - Révisions

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

Repères

z

y

xx

z

y

Repère du monde

Repère des objets(repère de modélisation)

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

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);

xz

y

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

Matrices de transformations

z

y

x

glBegin(GL_TRIANGLES);glVertex2f(2,0);glVertex2f(4,0);glVertex2f(3,3);glEnd();

glTranslatef(-3,0,0);

xz

y

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

Matrices de transformations

z

y

x

glBegin(GL_POLYGONE);glVertex2f(0,0);glVertex2f(2,0);glVertex2f(2,2);glVertex2f(0,2);glEnd();

xz

y

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

z

y

xx

z

y

z

y

x

1. Rotation autour de yz

y

x

2. Translation en x

Matrices de transformations

Vue du repère du monde

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

z

y

xx

z

y

z

y

x

1. Translation en xz

y

x

2. Rotation autour de y

Matrices de transformations

Vue du repère du monde

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

z

y

xx

z

y

z

y

x

1. Rotation autour de y2. Translation en x

z

y

x

1. Translation en x2. Rotation autour de y

Matrices de transformations

Vue du repère du monde

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

z

y

xx

z

y

z

y

x

1. Rotation autour de yz

y

x

2. Translation en x

Matrices de transformations

Vue du repère de l’objet

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

z

y

xx

z

y

z

y

x

1. Rotation autour de y2. Translation en x

z

y

x

1. Translation en x2. Rotation autour de y

Matrices de transformations

Vue du repère de l’objet

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

z

y

xx

z

y

z

y

x

1. Rotation autour de y2. Translation en x

z

y

x

1. Translation en x2. Rotation autour de y

Matrices de transformations

Vue du repère du monde

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

Matrices de transformations

z

y

x

glBegin(GL_POLYGONE);glVertex2f(0,0);glVertex2f(2,0);glVertex2f(2,2);glVertex2f(0,2);glEnd();

xz

y

glTranslatef(-3,0,0);glRotatef(1,0,45,0);

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

Matrices de transformations

• POT – chapitre 2, concept 1.2, 1.7, 1.8 et 1.9Repère relatif à l’objet

- transformations dans l’ordre de leur déclaration

Repère du monde- transformations dans l’ordre inverse de leur

déclaration

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

Matrices de transformations

z

y

x

glBegin(GL_POLYGONE);glVertex2f(0,0);glVertex2f(2,0);glVertex2f(2,2);glVertex2f(0,2);glEnd();

xz

y

glTranslatef(-3,0,0);

x’z’

y’

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

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: OpenGL - Révisions. Repères z y x x z y Repère du monde Repère des objets (repère de modélisation)

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 précédent

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

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: OpenGL - Révisions. Repères z y x x z y Repère du monde Repère des objets (repère de modélisation)

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: OpenGL - Révisions. Repères z y x x z y Repère du monde Repère des objets (repère de modélisation)

Pile de matrices

Exemple du playmobil

dessineCorps();Déplace le repère objet en (0.5,-2)dessineJambe();Déplace le repère objet en (-1,-2)dessineJambe();

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

Pile de matrices

Exemple du playmobil

dessineCorps();Déplace le repère objet en (0,-2)

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

Pile de matrices

Exemple du playmobil

dessineCorps();Déplace le repère objet en (0,-2)

Sauvegarde le contexte

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

Pile de matrices

Exemple du playmobil

dessineCorps();Déplace le repère objet en (0,-2)

Sauvegarde le contexteDécale le repère à droitedessineJambe();

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

Pile de matrices

Exemple du playmobil

dessineCorps();Déplace le repère objet en (0,-2)

Sauvegarde le contexteDécale le repère à droitedessineJambe();Restaure le contexte

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

Pile de matrices

Exemple du playmobil

dessineCorps();Déplace le repère objet en (0,-2)

Sauvegarde le contexteDécale le repère à droitedessineJambe();Restaure le contexte

Sauvegarde le contexte

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

Pile de matrices

Exemple du playmobil

dessineCorps();Déplace le repère objet en (0,-2)

Sauvegarde le contexteDécale le repère à droitedessineJambe();Restaure le contexte

Sauvegarde le contexteDécale le repère à gauche dessineJambe();Restaure le contexte

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

Pile de matrices

Exemple du playmobil

dessineCorps();glTranslate2f(0,-2);

glPushMatrix();glTranslate2f(0.5,0);dessineJambe();glPopMatrix();

glPushMatrix();glTranslate2f(-1,0);dessineJambe();glPopMatrix();