La modélisation de scènes
en Infographie

INTRODUCTION

PRINCIPES DE MODÉLISATION
Ensembles de facettes
Objets canoniques
Objets C.S.G.
Surfaces contrôlées

GÉOMÉTRIE
DES OBJETS

Inconvénients
et avantages

ASSEMBLAGE
D'OBJETS

OUTILS
LOGICIELS
POUR LA
MODÉLISATION

ARBORESCENCE
DE SCÈNE

RETOUR

Introduction

Plusieurs étapes pour la conception d'une application à affichage graphique trois dimensions :

  • Détermination de la (des) scène(s) devant être représentée(s)
  • Modélisation géométrique de cette(ces) scène(s)
    • Placement des objets
    • Animation
  • Placement des textures, des matériaux et des lumières
  • Programmation

Principes de base pour la modélisation d'une scène 3D

Première action: Définition précise de l'espace et du repère dans lequel va être effectuée la modélisation de la scène
  - Espace généralement euclidien entier ou réel à deux (x,y) ou trois (x,y,z) dimensions
  - Repère généralement orthonormé et direct
  - Espace et repère fréquemment qualifiés de "globaux" ou de "de modélisation"

Par analogie avec notre monde concret, définition des aspects suivants pour le repère :

  • Position (son origine)
  • Orientation (son plan de l'horizontale, sa direction de la verticale)
  • Sens direct ou indirect

Deuxième action: Modélisation par assemblage hiérarchique d'"objets"
-> Union de ces objets
-> Création de la scène

Modélisation à base d'ensembles de facettes

Objet de base: la facette

  • Surface plane délimitée par une boucle de sommets 3D
  • Triangulaire ou non
  • Généralement obligatoirement plane
  • Fréquemment obligatoirement de bord convexe

Facettes utilisées en grand nombre pour modéliser des surfaces planes ou courbes (par approximation géométrique avec utilisation d'un très grand nombre de petites facettes)
-> Ensemble de facettes adjacentes (sommets et cotés communs)

Volumes modélisés par de telles surfaces se refermant sur elles-mêmes
-> Volumes creux! (pas gênant tant que l'on n'entre pas dedans)

Le programme Aux

Le programme GLUt

Exécutable Aux

Exécutable GLUt

Remarque

Objet le plus basique : le sommet (position dans l'espace)
2 sommets pour définir un segment de droite
Au minimum 3 sommets (liste ordonnée) pour définir une facette
-> Segments et facettes définis à partir de sommets


Aux


GLUt

Modélisation à base d'objets canoniques

Objets de base: le cube, la sphère, le cylindre, le cône, le tore, ...

Ils sont de caractéristiques précisément connues. Exemple: Le cube est centré sur l'origine et a pour coté la longueur 1.

Ces objets sont souvent des surfaces caractérisant des volumes (surfaces refermées). Ils peuvent aussi être des surfaces non fermées (quadrique, surface paramétrique bicubique, surface B-Spline, NURBS, ...).

Suivant l'algorithme de rendu, au moment de la phase de dessin, ils auront ou non à être transformés en ensembles de facettes (transformation réalisée en interne de manière transparente pour le développeur) les approximant plus ou moins bien.

Le programme Aux

Le programme GLUt

Exécutable Aux

Exécutable GLUt

Objets C.S.G. (Constructive Solid Geometry)

Deux opérations de composition en plus de l'union:

  • Intersection
  • Différence

-> Modélisation plus puissante

Technique issue de la CAO/CFAO

Technique utilisée en infographie au sein des logiciels de modélisation (modelers)

Technique généralement pas implantée dans les bibliothéques 3D "classiques", en particulier OpenGL et Direct3D

Géométrie des objets canoniques

"Mauvaise" façon de voir: Modélisation d'un objet quelconque à partir de son objet canonique auquel sont appliquées des transformations géométriques successives ayant pour but de le placer, de l'orienter et d'en définir les dimensions.

Meilleure façon de voir: Le repère de modélisation (celui "dans" lequel tout objet de la scène est généré au moment de sa génération) est transformé par applications successives (par composition) de transformations géométriques.
L'objet canonique n'est créé qu'après réalisation de ces transformations géométriques.
La création d'un objet est donc toujours canonique dans le repère de modélisation en cours.
-> Vu dans le repère initial, l'objet n'est pas canonique.
-> Si le repère en cours est correctement configuré, l'objet sera créé avec les caractéristiques souhaitées (position, orientation, dimensions) dans le repère de modélisation.

Transformations géométriques 3D

  • translation (de vecteur (dx, dy, dz))
  • rotation (d'angle a autour de l'axe de direction (dx, dy, dz) passant par l'origine)
  • homothéties (zooms, mises à l'échelle, affinités orthogonales) (d'axe un des axes (x, y ou z) du repère, de rapport (rx, ry ou rz) selon cet axe et par rapport au plan constitué des deux autres axes)

Créer un objet placé, orienté et dimensionné reviendra fréquemment à réaliser dans l'ordre une translation, une rotation et un zoom sur le repère de modélisation puis à créer l'objet canonique au sein du repère tel qu'obtenu après ces transformations.

Le programme GLUt

Exécutable GLUt

Dans la pratique, on gèrera, par composition incrémentale d'opérateurs géométriques du type translation, rotation et affinité orthogonale, une transformation géométrique courante appliquée implicitement à tout nouvel objet canonique créé (en fait, cette transformation composée porte sur le repère dans lequel l'objet canonique est créé).

Inconvénients et avantages de cette technique de modélisation

Inconvénients :

  • Complexe ?
  • Inefficace ?
  • Technique limitée à quelques types d'objet canonique

Avantages :

  • Bonne connaissance de chaque objet (connu par son type canonique et les transformations géométriques appliquées)
  • Facilitation de certaines opérations mathématiques (exemple : calcul de la normale à une facette d'un cube ou à un point d'une sphère)
  • Possibilité de lier intrinsèquement au cours de la phase de modélisation les objets d'une scène qui le sont effectivement dans la "scène réelle"
    -> Modélisation hiérarchique
  • Si l'algorithme de rendu le permet, pas de facettisation lors du dessin.

Cas particulier : Modélisation à base de surfaces contrôlées

Utilisation d'objets "canoniques" spéciaux : les surfaces contrôlées

Surface contrôlée : Objet défini par la donnée d'équations mathématiques particulières ou par la définition de sommets (points de contrôle)

Un tel objet supporte les transformations géométriques de modélisation mais nécessitera aussi obligatoirement un paramètrage intrinséque de sa forme soit par paramètrage numérique de ses équations mathématiques soit par placement de ses points de contrôle.

Exemple : les surface quadriques, les surfaces paramétriques bicubiques, les NURBS

Quadriques

Le programme GLUt

Exécutable GLUt

Surfaces bicubiques

Le programme GLUt

Exécutable GLUt

Le programme GLUt

Exécutable GLUt

NURBS

Programme GLUt

L'exécutable GLUt

Assemblage d'objets

Il est recommandé d'effectuer le travail de modélisation par assemblage hiérarchisé.

Exemple : Une salle de TP sera modélisée par des tables, des chaises et des ordinateurs. Une chaise sera modélisée par quatre pieds, une assise et un dossier. Une table sera modélisée par un plateau et quatre pieds. Un ordinateur sera modélisé par un clavier, une souris, une UC et un écran...

Le programme GLUt

Exécutable GLUt

Cette technique permet de réutiliser les objets si la primitive conçue pour chacun d'eux est correctement renseignée :

  • Repère de modélisation associé
  • Taille de l'objet dans ce repère
  • ...

Cette technique permet aussi de faciliter le développement des objets car elle apporte beaucoup de souplesse :

  • "Substituabilité"
  • Evolutivité
  • Réutilisabilité
  • ...

Outils logiciels de modélisation

Les outils logiciels mis à disposition par les librairies graphiques 3D pour modéliser des scènes incluent très souvent les primitives suivantes :

  • Gestion d'une transformation géométrique courante (initialisée à l'identité)
  • Création d'une (ou plusieurs) facette(s) quelconque(s) affectée(s) de la transformation géométrique courante
  • Création d'un cube canonique affecté de la transformation géométrique courante
  • Création d'une sphère canonique affectée de la transformation géométrique courante
  • Création d'un cylindre canonique affecté de la transformation géométrique courante
  • Création d'un cône canonique affecté de la transformation géométrique courante
  • Composition de la transformation géométrique courante et d'une translation
  • Composition de la transformation géométrique courante et d'une rotation
  • Composition de la transformation géométrique courante et d'une affinité orthogonale
  • ...

Outre ces primitives, on rencontre fréquemment les primitives :

  • Mémorisation temporaire (via une gestion de pile et des opérateurs push et pop) des caractéristiques de la transformation géométrique courante
  • Réinitialisation à l'identité de la transformation géométrique courante

Arborescence de scène

Une scène peut être vue comme modélisée sous la forme d'une arborescence parcourue prioritairement en profondeur :

  • Les nœuds terminaux caractérisent des objets géométriques.
  • Les nœuds internes caractérisent des transformations géométriques.
  • Les nœuds d'arité supérieure à 1 ayant comme fils au moins un nœud interne sont les nœuds où le repère courant aura, en plus, été empilé pour pouvoir être dépilé après parcours complet de la branche fille pour ainsi assurer la restoration du repère.