Chapitre I : Modélisation d’objets 3D 8
I. Introduction
Parmi les techniques infographiques1 il y a la modélisation 3D qui vise à créer des
objets en trois dimension, à partir ou non d’objets réels.
La modélisation 3D est une partie récente de l’informatique et qui ne cesse de se
développer grâce aux progrès scientifiques dont l’informatique bénéficie, elle repose
essentiellement sur des lois mathématiques complexes, qui sont appliquées à des
contextes précis de la physique (et en particulier à l’optique, qui est une partie de la
physique prédominante dans la modélisation 3D). [7]
Un modèle d’un objet est une représentation simplifiée d’un objet qui permet de
l’observer plus facilement. La construction d’un modèle pour représenter la structure
géométrique d’un objet est intéressante à plusieurs points de vue: certaines
caractéristiques du modèle peuvent être étudiées plus facilement que celles de l’objet
lui-même; l’objet peut ne pas exister; il ne peut être observé directement; comme il ne
peut être observé sans engendrer des coûts déraisonnables ou sans contrôle de
l’expérience.
II. Différents modes de modélisation
La modélisation d’objets 3D peut été traitée par de nombreuses méthodes, chacune
d’entre elles étant bien adapter à un domaine d’application bien précis.
Il existe deux principaux types de modèles, on a les modèles par frontières et modèles
volumiques.
[Link]èles frontières
Comme leur nom l’indique les modèles frontières représentent les frontières des objets.
Il existe deux types de modèles frontières : le fil de fer et le Boundary Representation
(BR ou Brep).
[Link] de fer
Ce type de modèle permet de représenter uniquement le contour des objets. Les objets
sont représentés à partir d’un ensemble de segments de droite reliés éventuellement par
leurs extrémités.
1
Outils pour l'acquisition, la création, la transmission d’objets 3D.
Chapitre I : Modélisation d’objets 3D 9
Ce modèle est simple, il facilite les transformations de base et de visualisation. Permet à
peu près d’avoir une représentation géométrique globale de l’objet. Cependant sa
capacité de modélisation est très limitée (faible degré de réalisme), et le calcul de
certaines mesures de l’objet peut être difficile ou impossible par manque d’informations
sur l’objet. [1]
Il peut y avoir ambiguïté-dans l’interprétation de la représentation ou donner lieu à un
modèle impossible.
Figure I.1 : plusieurs interprétations d’un même objet.
Bien que toujours utilisé à des fins architecturales, pour des objets simples, il présente le
problème de poser des ambiguïtés en représentation 3D. [6]
Chapitre I : Modélisation d’objets 3D 10
Figure I.2 : Modèle impossible.
II.1.2. Modèles à partir de surfaces frontières (Brep)
Ce modèle est une extension du modèle Fil de fer, il a été introduit afin de régler les
problèmes d’ambiguïté dans le modèle filaire en introduisant la notion de face.
Il ne fournit pas d’information quant à l’intérieur de l’objet. L’ensemble des facettes
forme une figure fermée. Ces facettes ne s’interceptent pas sauf à des arêtes ou
sommets communs. Le nombre de facettes peut être élevé.
Le modèle Brep permet d’effectuer facilement une visualisation du solide et les
opérations complexes tel que le calcul du volume d’un solide, appartenance d’un point
au Solide. Cependant il ne fournit qu’une approximation de la surface du solide, et la
construction de ce dernier est longue et fastidieuse car il faut Construire et agencer
manuellement tous les éléments : Faces, Arêtes, Sommets, en plus du risque d’erreur
topologique (ex. : oubli d’une arête) et la difficulté de revenir en arrière dans la
conception du solide sans oublier une grande quantité d’informations à stocker.
Figure I.3 : le modèle Brep.
Chapitre I : Modélisation d’objets 3D 11
II.2. Modèles volumiques
Il existe deux types de modèles volumiques:
Les modèles de composition.
Les modèles de décomposition.
II.2.1. Modèles de composition (constructifs)
Ils considèrent les solides comme des ensembles de points 3D.
Débutent avec des ensembles simples qui peuvent être représentés directement à l’aide
de primitives (quadriques, polyèdres, etc.). Des objets plus complexes sont obtenus en
combinant des ensembles simples entre eux à l’aide d’opérations ensemblistes.
Modèles CSG (constructive solid geometry)
Il s’agit de manipuler des objets élémentaires bornés : polyèdre, cylindre, sphère, etc.
Pour ce qui est des primitives non élémentaires, l’usager doit spécifier uniquement le
système de référence de l’objet. On met à la disposition de l’usager un nombre fini de
primitives simples dont la grandeur, la forme, la position et l’orientation sont définies
par ce dernier.
L’opération de modélisation est simplifiée; l’animateur doit spécifier seulement l’arbre
de construction. Aucune ambiguïté dans le modèle; cela donne lieu à des objets valides.
Cependant il est incomplet car il nécessite des algorithmes pour évaluer l’arbre de
construction. Lorsque l’arbre CSG est mal balancé, les algorithmes proposés sont
inefficaces. Il est difficile de construire un modèle CSG pour décrire des objets
complexes n’intégrant aucune propriété géométrique, par exemple : la représentation
d’un visage humain, L’évaluation de l’arbre de construction peut exiger des temps de
calculs importants.
primitive instancing
La modélisation appelée « primitive instancing » utilise des primitives complexes
paramétrables.
C’est une modélisation qui peut être employée dans des domaines bien précis où les
objets peuvent se regrouper par type. Dans ce cas, c’est une alternative trés intéressante
Chapitre I : Modélisation d’objets 3D 12
au CSG par exemple la figure ci-dessous présente plusieurs bâtiments définis par leur
longueur, le nombre de cheminées et de fenêtres.
Figure I.4 : plusieurs bâtiments définis avec primitive instancing.
II.2.2. Modèle de décomposition (descriptifs)
Ces modèles décrivent l’espace utilisé au moyen d’un ensemble de volumes contigus et
sans intersection.
C’est un mode de représentation de solides par partitionnement spatial où chaque solide
est décomposé en un ensemble de solides adjacents, sans intersection, qui sont plus
primitifs que le solide original, bien que nécessairement du même type.
Les objets sont représentés comme un ensemble d’objets ou cellules élémentaires : nous
en distinguons deux méthodes : l’énumération exhaustive des cellules élémentaires, et la
subdivision irrégulière d’une région dont l’objet à modéliser fait partie.
Énumération exhaustive des cellules élémentaires
• Model Voxel
Les voxels2 sont des cellules spatiales occupées par le solide : en général des cubes de
taille fixe repartis selon une grille, le solide est défini par la liste des coordonnées des
centres des cellules.
Chaque cube peut être défini uniquement à partir d’un de ses sommets. En associant à
chaque objet une région régulière dont l’objet fait partie, l’objet est représenté à partir
d’un tableau binaire 3D.
1 ⇔le cube associé représente une sous-région du solide,
Un élément du tableau ≡
0 ⇔le cube ne fait pas partie du solide.
2
Volumetric pixel : désigne les pixels d'images 3D.
Chapitre I : Modélisation d’objets 3D 13
Le modèle Voxel permet de construire facilement et efficacement de nouveaux objets à
l’aide d’opérations ensemblistes en se basant sur ces tableaux binaires, et d’évaluer
efficacement différentes mesures de l’objet.
Ce modèle est une représentation approximative de l’objet à moins que celui-ci ne
coïncide exactement avec la grille ce qui est rarement le cas. On peut réduire la taille
des voxels afin d’augmenter la précision de la représentation du solide.
Cela exige une quantité d’espace mémoire imposante. Cette approche ne peut être
exploitée directement : pour construire un objet, on ne peut exiger l’énumération de
l’ensemble de ces cellules.
Subdivision irrégulière d’une région dont l’objet à modéliser fait
partie
Les techniques d’énumération spatiale sont simples, générales et permettent de
développer une grande variété d’algorithmes. Mais elles exigent une grande quantité
d’espaces mémoires et une représentation très approximative des solides.
Les cubes élémentaires voisins d’un cube faisant partie de l’objet ont de bonnes chances
d’en faire partie aussi. Pour remédier à cet inconvénient, nous nous basons sur le
principe suivant:
Le nombre de cubes nécessaires pour représenter un objet devrait dépendre de la surface
de l’objet et non du volume de l’objet.
La principale méthode basée sur ce principe est l’Octree qui est une généralisation des
Quadtrees.
• QUADTREE
Un quadtree est une représentation d’un objet 2D basée sur la subdivision récursive
d’un carré en quatre carrés de même taille (quadrants). A chaque stade du processus
récursif, deux cas sont possibles :
L’objet ne recouvre pas complètement le quadrant; il est alors subdivisé en
quatre nouveaux carrés
Le quadrant est plein ou vide; la subdivision est alors stoppée et le quadrant est
marqué comme “plein” (1) ou “vide” (0).
Chapitre I : Modélisation d’objets 3D 14
• OCTREE
L’Octree est donc une extension du quadtree à trois dimensions pour encoder
des solides.
Une région cubique est récursivement subdivisée en huit octants (régions cubiques).
Figure I.5 : L’Octree.
Dans les sections précédentes nous avons présenté les principaux modes de
modélisation, cependant il existe d’autres que nous allons voire dans ce qui suit.
[Link]èles par balayage (sweeping)
Ces représentations sont basées sur le déplacement d’une région (génératrice) le long
d’une courbe (directrice). On distingue trois principales représentations de ce type: les
surfaces par balayage translationnel, les surfaces par balayage rotationnel et les surfaces
par balayage conique.
Chapitre I : Modélisation d’objets 3D 15
II.3.1. Balayages translationnels
Ils sont à l’origine des formations de cylindres. Un objet défini par balayage
translationnel s’obtient en translatant une région 2D « C » le long d’un vecteur « T » et
selon une distance « d », comme le montre la Figure I.6. Le plan « P0 » de la courbe est
appelé le plan de base et le plan « P1 » à une distance « d » est le plan du sommet.
Figure I.6: Balayage translationnel.
II.3.2 Balayages rotationnels
Les objets générés par balayage rotationnel sont obtenus en faisant tourner une région
2D « C » autour d’un axe « A ». Deux éléments sont importants dans une telle surface:
le point de base « B » et la fonction radiale « r(s) ».
Figure I.7 : Balayage rotationnel.
Chapitre I : Modélisation d’objets 3D 16
II.3.3. Balayages coniques
Ces balayages à l’origine des cônes consistent en un déplacement d’une région 2D « C »
avec transformation d’échelle.
Figure I.8 : Balayage conique.
II.4. Modèle fractale
Pour modéliser des environnements naturels tels que les montagnes, les feuillages ou un
ciel nuageux, il est nécessaire de disposer de modèles autres que ceux présentés
précédemment. Ces derniers sont, en effet, inefficaces pour représenter des motifs
répétés un grand nombre de fois comme c’est le cas pour les décors cités.
Les modèles fractals apportent une solution efficace à ce problème. Le terme fractal,
issu du latin « frangere » et originalement proposé par MandelBrot [1982], est utilisé
par la communauté graphique pour décrire tout modèle irrégulier et fragmenté pour
lequel les irrégularités sont conservées (on parle d’auto-similarité). Il s’agit
généralement de fonctions récursives utilisant un motif initial et un motif de
remplacement.
Un objet est dit fractal lorsque le processus de remplacement est appliqué à l’infini pour
la création de l’objet. [3]
II.4.1 Courbes fractales
Pour générer une courbe fractale, on remplace à l’étape « i » les segments du motif de
l’étape (i-1) par le motif de remplacement. Lorsque le processus est répété à l’infini, la
Chapitre I : Modélisation d’objets 3D 17
courbe est dite auto-similaire : la courbe entière est similaire à une sous-partie d’elle-
même.
Figure I.9: Le flocon de Von Koch.
La dimension fractale d de la courbe est définit par : n1/d= f,
Où n est le nombre de parties du motif (n = 4 ici) et f est le facteur de diminution du
motif (f = 3 ici).
La dimension est donc : d = log 4/log 3 =1,26.
Figure I.10: Autre exemple de courbe fractale.
II.4.2 Surfaces fractales
Les surfaces sont générées de manières similaires aux courbes. Par exemple,
l’algorithme de Fournier-Russel-Carpenter permet de générer des montagnes fractales.
Le principe est, à partir d’un triangle initial, de subdiviser chaque segment du triangle
en deux puis de modifier la hauteur du point milieu de chaque segment de manière
aléatoire (voir figure I.10).
Chapitre I : Modélisation d’objets 3D 18
Figure I.11 : Montagnes fractales : chaque segment est subdivisé en deux et la hauteur
du point milieu de chaque segment est modifiée de manière aléatoire.
Figure I.12: Le motif utilisé pour la modélisation du ciel.
Figure I.13: La surface générée pour réaliser le ciel et l’image résultat.
Chapitre I : Modélisation d’objets 3D 19
II.5. Système de particules
Ils permettent de modéliser des objets flous (fuzzy) tels que feu, nuage, eau, . . . Ce type
de modélisation prend naturellement en compte les contraintes d’animation bien qu’il
décrive parfaitement les modèles purement statiques.
Un objet est représenté par un ensemble de particules, chacune d’elles naissant,
évoluant dans l’espace et le temps et disparaissant. Des attributs tels que la couleur, la
transparence, la vitesse et la taille sont fonctions du temps. [5]
II.6. Modèles polygonaux
Le modèle est assimilé à un ensemble de polygones : ce polyèdre3 est donc décrit par la
liste des sommets et des arêtes. Si les polygones sont orientés, on pourra différencier
l’extérieur et l’intérieur du modèle. Si l’on veut lever l’ambiguïté apportée par des
polygones non plans, on utilisera uniquement des triangles.
Ces représentations sont extrêmement répandues en raison de leurs simplicités.
Dans le cas de surface, on parle de maillage polygonale : une collection de sommets,
côtés et polygone telle qu’un côté est partagé par deux polygones au plus. Le problème
qui se pose au programmeur ici est de choisir une représentation adéquate, pour le
stockage externe (dans un fichier) et interne (en mémoire). [3]
Quelles informations stockées et comment ?
Figure I.14 : Exemple de modèle polygonal (facettes triangulaires) :
(b) ombrage plat, (c) ombrage de Gouraud.
3
Un polyèdre est une forme géométrique à trois dimensions ayant des faces planes polygonales qui se
rencontrent selon des segments de droite qu'on appelle arêtes.
Chapitre I : Modélisation d’objets 3D 20
Plusieurs représentations sont possibles, le choix se fait en fonction des besoins et
considérant les coûts en espace (représentations externes et internes) et en temps
(représentations internes).
Les opérations typiques sur les maillages sont :
• trouver les côtés incidents à un sommet.
• trouver les voisins d’un sommet.
• trouver les polygones partageant un côté ou un sommet.
• trouver les côtés d’un polygone.
L’idéal consiste à stocker en interne le maximum d’informations pour éviter des calculs
répétitifs, mais cela nécessite un espace mémoire important.
II.7. Courbes et surfaces paramétriques
Les approximations polygonales sont des approximations linéaires par morceaux (1er
degré). Elles nécessitent un nombre de points importants pour obtenir une bonne
précision. Une autre approche consiste donc à utiliser des modèles d’ordre supérieurs
pour représenter les courbes et surfaces. Les représentations paramétriques répondent à
ce besoin et apportent un gain en espace mémoire ainsi qu’en possibilité de
manipulations.
On utilise en général des courbes de degré 3 (cubiques). Dans le contexte du traitement
ou de la synthèse d’images, nous cherchons à interpoler ou approximer une courbe à
partir d’un nombre fini de points.
n
On utilise pour cela les courbes de la forme : P(t) = (x(t), y(t), z(t)) = ∑ fi(t) Pi.
Xi=0
Où fi(t) sont des fonctions de pondérations, pi = (x i; yi; zi) sont les points de données.[3]
II.7.1. Courbes de Béziers
Du nom d’un ingénieur de Renault (Pierre Bézier) qui développa ce modèle de courbes
pour la conception de carrosseries de voitures.
Une telle courbe commence par le premier, finit par le dernier point et ne passe pas
obligatoirement par les autres points, elle n’est pas déformée par translation et rotation,
mais par changement des paramètres de mise en perspective.[14]
Chapitre I : Modélisation d’objets 3D 21
Quand on modifie la position d’un seul point de contrôle (sommet), la courbe est
intégralement modifiée ce qui entraîne sa réévaluation intégrale. Il n’y a donc pas de
contrôle local sur la forme de la courbe.
Figure I.15: Une courbe de Bézier cubique avec les points de contrôle P0, · · · , P3.
II.7.2. Courbes et surfaces B-splines
Les courbes et les surfaces spline sont des modèles mathématiques qui permettent
d’associer une représentation continue (courbe ou surface) à un ensemble discret de
points d’un espace affine (habituellement IR3). [4]
Courbes B-splines
Les B-splines cubiques (splines = lattes de jardinier) sont des courbes polynomiales
cubiques de continuité C2. Elles approximent un ensemble de points de contrôle Pi,
i∈[0;m] avec une courbe constituée de m-2 segments de courbes polynomiaux Qi, i∈
[3;m]. Chaque segment de courbes est en fonction d’un paramètre t variant de ti à ti+1
et de 4 points de contrôle. [3]
Le segment Qi est donc défini par : p i-3, pi-2, pi-1, pi pour t variant de ti à ti+1.
Un point de contrôle affecte 4 segments de courbes.
On distingue deux types de courbes B-splines :
Les B-splines uniformes.
Les B-splines non-uniformes.
Surfaces B-splines
Surfaces remédiant en grande partie aux défauts des surfaces de Bézier.
Chapitre I : Modélisation d’objets 3D 22
Les propriétés des surfaces splines découlent des propriétés des courbes splines.
Parmi les avantages surfaces B-splines on cite:
• Control local la modification d’un point de contrôle ne change pas toute la
courbe.
• « K » et « l » contrôlent l’ordre des B-splines, donc pour la même grille de
points de contrôle, on peut obtenir une surface qui adhère plus ou moins à la
grille en faisant varier « k » et « l ».
Cependant lorsqu’on augmente « k » ou « l », on augmente aussi considérablement la
complexité des calculs, k et l sont entiers et empêchent toute variation continue. [2]
II.7. 3. Courbes et surfaces NURBS
Les NURBS sont utilisées pour représenter mathématiquement des objets géométriques.
Elles généralisent la représentation par les B-splines des courbes et des surfaces en
ajoutant un dénominateur.
Une B-spline ressemble à une représentation polynomiale par morceaux, alors
qu’une NURBS est une représentation par fractions rationnelles par morceaux.
Elles présentent de nombreux avantages comme la facilité et précision pour évaluer une
forme, la capacité pour approximer des formes complexes et la simplicité de
construction et d’implémentation. [8]
II.8. Modélisation par subdivision de surface
Cette méthode regroupe un peu des deux méthodes classiques (polygonale et NURBS).
Elle consiste à accélérer le processus grâce à la subdivision automatique d’une partie de
la surface. Ceci permet d’ajouter des détails à certains endroits uniquement, sans se
soucier du nombre de faces comprises sur la globalité de l’objet.
Elle se rapproche de la modélisation polygonale par les techniques employées lors de la
création de la forme, et de la modélisation par NURBS en ce qui concerne le rendu de la
surface, c’est-à-dire son arrondi.
Chapitre I : Modélisation d’objets 3D 23
III. Conclusion
Dans ce chapitre nous avons vu les différentes techniques de modélisation des objets
3D, la modélisation surfacique (modèles par balayage ) qui offre une représentation plus
ou moins complexe d’un objet et qui est très adaptée à la conception de formes, la
modélisation filaire qui permet une description simple de la forme mais n’apporte pas
d’information de surface, et la modélisation volumique qui représente un objet comme
un volume avec des informations sur l’intérieur de la forme.