modélisation géométrique à laide dun maillage polygonal consiste à représenter « lenveloppe...

6
n géométrique à l’aide d’un maillage représenter « l’enveloppe » des objets grâce à un e lygonales. avec laquelle on peut représenter et transformer d normale à un polygone, afficher un polygone, n modèle de rendu réaliste, etc. polygonal comprend une liste de polygones. cette polygonale est associée une direction normale cette. Cette normale est orientée vers l’extérieur normal est essentiel lorsqu’on veut évaluer l’inten n un point d’un solide.

Upload: marianne-le-bars

Post on 04-Apr-2015

103 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modélisation géométrique à laide dun maillage polygonal Consiste à représenter « lenveloppe » des objets grâce à un ensemble de facettes polygonales. Pourquoi

Modélisation géométrique à l’aide d’un maillagepolygonalConsiste à représenter « l’enveloppe » des objets grâce à un ensemble defacettes polygonales.

Pourquoi ?la facilité avec laquelle on peut représenter et transformer des polygonescalculer la normale à un polygone, afficher un polygone,appliquer un modèle de rendu réaliste, etc.

DéfinitionUn maillage polygonal comprend une liste de polygones.À chaque facette polygonale est associée une direction normale au plande cette facette. Cette normale est orientée vers l’extérieur du solide. Le vecteur normal est essentiel lorsqu’on veut évaluer l’intensitélumineuse en un point d’un solide.

Page 2: Modélisation géométrique à laide dun maillage polygonal Consiste à représenter « lenveloppe » des objets grâce à un ensemble de facettes polygonales. Pourquoi

Pour faire en sorte qu’un modèle de rendu réaliste soit plus facile àappliquer, une normale est associée à chaque sommet d’une facettepolygonale plutôt qu’à chaque facette.

1 er cas : une surface polyédrique

À un même sommet peut être associé des normales différentes selon lafacette auquel ce sommet appartient.

Pour déterminer la normale à chaque sommet d’une facette, il s’agit decalculer la normale unitaire au plan de la facette.

Il s’agit de considérer 3 sommets adjacents à la facette, V1, V2 et V3

alors la normale est obtenue comme suit : (V1 - V2) x (V3 - V2)

puis, normalisée par la suite.

Page 3: Modélisation géométrique à laide dun maillage polygonal Consiste à représenter « lenveloppe » des objets grâce à un ensemble de facettes polygonales. Pourquoi

2 ième cas : une surface courbe

Il s’agit de faire en sorte que la surface soit « unie », i.e. que la frontièrede 2 facettes voisines ne puisse être identifiée facilement.

Pour y arriver, au sommet V commun de la facette F1 et de la facette F2

est associé une même normale n.

Cette normale n correspond à un vecteur perpendiculaire à la surfaceen ce point.

3 ième cas : une moyenne des normales

Au sommet V commun de la facette F1 et de la facette F2 est associéune même normale n qui coïncide avec la moyenne des normales desfacettes F1 et F2.

Page 4: Modélisation géométrique à laide dun maillage polygonal Consiste à représenter « lenveloppe » des objets grâce à un ensemble de facettes polygonales. Pourquoi

Définition de la normale à un sommet

void glNormal3{bsidf}(TYPE nx, TYPE ny, TYPE nz);

void glNormal3{bsidf}v(const TYPE * v);

Vous pouvez spécifier des normales de toute longueur, mais au final, elles devrontprendre une longueur de 1 avant le lancement des calculs d’éclairage.

Les vecteurs normaux restent normalisés aussi longtemps que les transformationsde votre modèle ne comprennent que des rotations et des translations.

Vous pouvez demander à OpenGL de normaliser automatiquement vos normales :après les transformations : glEnable(GL_NORMALIZE);

Si vous déclarez des normales de longueur unitaire et que vous effectuiez une miseà l’échelle uniforme (même facteur d’échelle à x, y et z), vous pouvez employer :

glEnable(GL_RESCALE_NORMAL);pour normaliser plus efficacement les normales après transformation.

Par défaut, les opérations de normalisation sont désactivées.

Page 5: Modélisation géométrique à laide dun maillage polygonal Consiste à représenter « lenveloppe » des objets grâce à un ensemble de facettes polygonales. Pourquoi

ConclusionDans un système graphique 3D, on retrouve habituellement une classepermettant de définir un maillage polygonal représentant une surface.

Pour afficher un objet représenté à l’aide d’un maillage, nous aurons :for (chaque facette f du maillage){

glBegin (GL_POLYGON);for (chaque sommet v de la facette f){

glNormal3f(coordonnées de la normale au sommet v);glVertex3f(coordonnées du sommet v);

}glEnd();

}Lorsque nous définirons des nouvelles classes de surfaces, desfonctions devront être disponibles pour approximer ces surfaces enmaillages polygonaux.

Page 6: Modélisation géométrique à laide dun maillage polygonal Consiste à représenter « lenveloppe » des objets grâce à un ensemble de facettes polygonales. Pourquoi

uv