[PDF] OpenGL et GLUT Une introduction





Previous PDF Next PDF



Les transformations géométriques du plan

UFRIMA. 1. Page 2. Graphisme 2D. Les transformations géométriques du plan constituent des fonctions de base du graphisme au même titre que le traçage et le 



Géométrie

(u0v0) sont les coordonnées en pixels de l'intersection de l'axe optique avec le plan rétinien. UFR IMA. 12. Page 13. Géométrie. 3.3 Transformation globale.



Analyse dimages – introduction

Plan. (i) Qu'est ce qu'une image? – notions de base égalisation d'un histogramme : transformation des niveaux de gris dont le but.



Informatique Visuelle (Visual Computing) – introduction `a lanalyse

Plan. (i) Qu'est ce qu'une image? – notions de base égalisation d'un histogramme : transformation des niveaux de gris dont le but.





OpenGL et GLUT Une introduction

Cette transformation sert à fixer le point de vue des primitives ou en d'autres termes



Par-delà lInfini. La Spiritualité dans la Science-Fiction française

4 oct. 2013 transformation permanente et donc devenue banale il y a ... vers les religions traditionnelles



AVIS et RAPPORT de lAnses relatif à lévaluation des risques

5 déc. 2016 La possibilité de transformation de lésions cutanées bénignes en lésions malignes bien qu'évoquée au cours des auditions



Conception et développement de composants logiciels et matériels

28 avr. 2022 à l'étalonnage géométrique des différentes parties du système; ... mation projective) est une transformation d'un plan P1 vers un autre P2 ...



LE MIROIR AU CINÉMA :

2 – Les caractéristiques du miroir plan en tant que système optique . la transformation opérée par le passage de trois à deux dimensions y étant ...



Les transformations géométriques du plan - Inria

Les transformations géométriques du plan constituent des fonctions de base du graphisme au même titre que le traçage et le remplissage Les transformations usuelles du graphisme : Translation Rotation Changement d’échelle À cela s’ajoute les modèles af?nes et projectifs permettant de modéliser un



Des pavages aux transformations - Nantes Université

configurations et de l’action des transformations sur les figures » dans celui de 2000 il était précisé que « les transformations seront utilisées pour la détermination de lieux géométriques et dans la recherche de problèmes de construction » Depuis les programmes de 2008 les transformations du plan étudiées



Transformations géométriques

élémentaires Le but de ce document est de vous présenter les transformations usuelles du plan et la manière de les utiliser pour résoudre des problèmes de géométrie de type olym-pique Il est possible de sauter les preuves en première lecture la plupart des résultats étant de toute façon assez intuitifs

OpenGLetGLUT

Uneintroduction

Edmond.Boyer@imag.fr

Résumé

decesoutils.

TABLEDESMATIÈRES2

Tabledesmatières

1Introduction3

2ConstruiredesimagesavecOpenGL4

1INTRODUCTION3

1Introduction

OpenGL

desobjetstridimensionnels. GLUT

2CONSTRUIREDESIMAGESAVECOPENGL4

2ConstruiredesimagesavecOpenGL

2.1Lasyntaxed'OpenGL

suivante: emple); lestypes:GLtype(GLbyte,GLintparexemple); typedesargumentsparunsuffixe.Parexemple: glVertex3f(1.0,2.0,3.0); onutilise: glVertex2i(1,2); suffixeprécisiontypeCtypeOpenGL bentier8bitscharGLbyte sentier16bitsshortGLshort ientier32bitsint/longGLint,GLsizei fréel32bitsfloatGLfloat dréel64bitsdoubleGLdouble

2.1Lasyntaxed'OpenGL5

GLfloatcoordonnees[3];

GLVertexfv(coordonnees);

réels.

2.2Leprincipe6

2.2Leprincipe

y xz fenêtre graphiqueprimitive point de vue transformation projection image fenêtrage

Figure1:Laconstructiond'uneimage.

certainrepère, end'autrestermes,lapositionduplanimage. laformedepixelsdanslamémoirevidéo. glBegin(GL_LINE) glVertex2f(40.0, 105.3) glVertex2f(20.0,10.0) glEnd()glVertex2f(60.2,41.5) vidéoMémoire d'une ligne polygonaleSpécificationTransformationpoint de vue (GL_MODELVIEW)Projection image (GL_PROJECTION)

NumérisationFenêtrage

delesprojeter. y xz primitive image glTranslatef(tx,ty,tz) glRotatef(angle,dirx,diry,dirz)

Figure3:Latransformationpointdevue.

conséquence. /*devueestselectionnee*/

Quelquesremarques:

lesrotationss'exprimentendegrés. y xz imagepoint de vue 1 transformation transformation point de vue 2 positionetorientationdesprimitives. /*devueestselectionnee*/ /*courante*/ glRotatef(angle,dirx, diry,dirz);/*transformationpointdevue2*/ glutWireCube(1.0);/*dessinducube*/ /*etretouralamatriceprecedente*/ /*danslapile*/ glutWireCube(1.0);/*2emedessinducube*/

2.4Modifierunetransformation10

2.4Modifierunetransformation

glRotate{fd}(angle,dirx, diry,dirz);/*rotationde angledegreautourdel'axede direction*/M=M0 B B @0 R0 0 00011 C C A glTranslate{fd}(tx,ty,tz);M=M0 B B @100tx 010ty 001tz 00011 C C A glScale{fd}(fx,fx,fz);M=M0 B B @fx000 0fy00 00fz0 00011 C C A glLoadMatrix{fd}(T);M=0 B B @T[0]T[4]T[8]T[12]

T[1]T[5]T[9]T[13]

T[2]T[6]T[10]T[14]

T[3]T[7]T[11]T[15]1

C C A glMultMatrix{fd}(T);M=M0 B B @T[0]T[4]T[8]T[12]

T[1]T[5]T[9]T[13]

T[2]T[6]T[10]T[14]

T[3]T[7]T[11]T[15]1

C C A glScaleglRotate glTranslate glLoadMatrix glMultMatrix

2.5Spécifierlaprojection11

2.5Spécifierlaprojection

doncenhautdepile. deuxfonctionssuivantes: glMatrixMode(GL_PROJECTION); glLoadIdentity();

2.5.1Projectionorthographique

etc.):

2.5Spécifierlaprojection12

0 B B B @2 dg00d+gdg 02 hb0h+bhb 002 lpl+plp 00011 C C C A y x bas (y)droit (x)gauche (x) haut (y) proche (z)loin (z) plan image volume d'observationdirection de projection z glMatrixMode(GL_PROJECTION); glLoadIdentity();

2.5.2Projectionperspective

2.5Spécifierlaprojection13

y z x bas (y)droit (x)gauche (x) haut (y) proche (z) loin (z)plan image volume d'observationcentre de projection

OpenGLfournitlafonction:

0 B B B @2p dg0d+gdg0 0 2p hbh+bhb0 00p+l lp2lplp 00101
C C C A

2.5Spécifierlaprojection14

proche. fonctiondelalibrairieGLU: gluPerspective(fov,rapport,proche,loin) duvolumed'observation. y z x proche (z) loin (z)plan image volume d'observationcentre de projectionlargeur hauteur fov (positives)auplansduvolumed'observation. glMatrixMode(GL_PROJECTION); glLoadIdentity();

2.6Spécifierlefenêtrage15

/*rapport=largeur/hauteur*/

2.6Spécifierlefenêtrage

image fenêtrage (x,y)largeur hauteur fenêtre graphique fenêtregraphique. d'affichage.OpenGLfournitlafonction: glViewport(x,y,largeur,hauteur)

2.7Spécifierdescouleurs16

alent.

2.7Spécifierdescouleurs

glColor4f(1.0,1.0,1.0,1.0); glVertex2i(x2,y2);/*lesommet2(x2,y2,0)*/ glEnd(); 14 235
6 1236
7 8 45
2345
1

GL_TRIANGLE_FANGL_POLYGON3

5 1 24

GL_POINTS

GL_LINE_LOOPGL_LINESGL_LINE_STRIP

GL_TRIANGLES

GL_TRIANGLE_STRIP5

1 4 25
6 34
216
3 5 6 43
16 2 3 45
1 2124
35
6

GL_QUADSGL_QUAD_STRIP7

8 5 634
21

2.8.1Dessinerdespoints

glPointSize(s); glBegin(GL_POINTS); glColor3f(r,g,b); glEnd();

2.8.2Dessinerdeslignespolygonales

cessives: glLineWidth(s); glColor3f(r,g,b); glBegin(GL_LINES) glVertex3f(x1,y1,z1) glVertex3f(x3,y3,z3) glVertex3f(x4,y4,z4) glEnd() glBegin(GL_LINES_STRIP) glVertex3f(x1,y1,z1) glVertex3f(x3,y3,z3) glEnd() glBegin(GL_LINES_LOOP) glVertex3f(x1,y1,z1)

2.9Afficheruneimage19

glVertex3f(x3,y3,z3) glEnd()

2.8.3Dessinerunpolygone

dessind'unpolygoneestlasuivante:

GL_POINT-GL_LINE-GL_FILL);

glColor3f(r,g,b); glBegin(GL_POLYGON); glVertex3f(x,y,z); glEnd(); graphe2.11.2surlesombrages).

2.9Afficheruneimage

2.9Afficheruneimage20

zy x

Matrice de pixels

Fenêtre graphique

image projetée(largeur,0)(largeur,hauteur) y x z(glRasterPosxx(...))

Position du pixel

(0,0) dans l'espace casd'uneprojectionorthographique.

GLint.

16bits).

Image:lamatricedepixelsdeformatDataType.

2D'autresvaleursmoinscourantesexistent.

2.10Éliminerlespartiescachées21

tiers(glRaster234i())ouautre. glWindowPosMESAxx() utiliserlafonction: d'informations). glPixelStorei(GL_UNPACK_ALIGNMENT,1); glRasterPos2i(0,0); /*trans.proj.etpointdevue*/

2.10Éliminerlespartiescachées

engénéral.

2.10Éliminerlespartiescachées22

2.10.1Backface-culling

y x z normale lignes de vues 1 23
4 1 23
4 changéàl'aidede: glFrontFace(GL_CCW-GL_CW) sensdesaiguillesd'unemontre. duresuivante:

2.10Éliminerlespartiescachées23

2.10.2z-buffer

figure13). y xz profondeur couleur 1 couleur 3 couleur 2 23
1 le pixel à afficher les points correspondants

Affichagevaleurmémoire

vidéovaleurtamponde profondeur

étatinitialfondd'écran1

point1couleur1prof.1 point2couleur2prof.2 point3couleur2prof2

2.11Effectuerunrendu24

ilfautsuivrelaprocéduresuivante: glDepthFunc(GL_LESS-/*GL_GREATER-/*>*/

GL_LEQUAL-/*<=*/

GL_GEQUAL-/*>=*/

GL_NOTEQUAL-/*!=*/

GL_EQUAL);/*=*/

2.11Effectuerunrendu

demanièreglobale:

2.11Effectuerunrendu25

2.11.1Lemodèled'illumination

GouBestdonc:

VN

Rpoint de vue

P Sq aq source lumineuse i Lii I

P=IambianteSambiante+X

i2[0::7]I idiffuseSdiffuse(NLi)+ X i2[0::7]I ispeculaireSspeculaire(VRi)n avec:

N:normaleàlasurfaceSenP;

Li:directiondePverslasourcelumineusei;

V:directiondePverslecentredeprojection;

2.11Effectuerunrendu26

OpenGL;

0et1pourOpenGL).

del'espace): /*B,Apardefaut*/ /*(al'infini)*/

Ànoter:

S

2.11Effectuerunrendu27

GL_TRUE);/*pardefaut*/

2.11.2Lemodèled'ombrage

l'uneoudel'autresefaisantpar:

2.11Effectuerunrendu28

GLfloatlum_ambiante[]={1.0,1.0,0.0,1.0};

glShadeModel(GL_FLAT); glEnable(GL_LIGHTING); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lum_ambiante); (a)Lumièreambiante.

GLfloatlum_diffuse[]={0.8,0.8,0.0,1.0};

glShadeModel(GL_FLAT); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0);

GLfloatsurf_diffuse[]={0.8,0.8,0.0,1.0};

glEnable(GL_LIGHTING); glEnable(GL_LIGHT0);

GLfloatsurf_diffuse[]={0.8,0.8,0.0,1.0};

GLfloatsurf_shininess[]={10.0};

glShadeModel(GL_SMOOTH); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0);

GLfloatsurf_diffuse[]={0.8,0.8,0.0,1.0};

GLfloatsurf_shininess[]={100.0};

glShadeModel(GL_SMOOTH); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0);

R,G,B,Apardefaut(1;1;1;1).

2.12Plaquerdestextures29

2.12Plaquerdestextures

t (s,t) 11 0 s pales: deplaquageàutiliser. plaquage.quotesdbs_dbs23.pdfusesText_29
[PDF] Obtention du Certificat de changement de résidence - El mouwatin

[PDF] Demande de changement de statut étudiant ? salarié

[PDF] Instruction du Gouvernement INTV1631686J du 2 novembre 2016

[PDF] premiere demande ou renouvellement - Les services de l 'État dans

[PDF] Procédures de 1ère demande ou de renouvellement de titres séjour

[PDF] vous souhaitez céder votre contrat fixe - Boutique orangefr

[PDF] Intégrales doubles

[PDF] Assistance ? domiciliation bancaire - Crédit Agricole du Nord Est

[PDF] La liste ci-dessous vous aidera ? ne pas oublier un - Neuflize OBC

[PDF] Transformer les images

[PDF] Désactivation des coussins gonflables - SAAQ

[PDF] fiche technique 1 - Académie de Clermont-Ferrand

[PDF] PROCÉDÉ A SUIVRE POUR UNE MUTATION - USSB Handball

[PDF] Changement de filière en deuxième année (S3) - Faculté des

[PDF] formulaire admission TERMINALE GT PRO R2017