• Aucun résultat trouvé

Représentation et maillages 3D

2.2 L’indexation et la recherche appliquées aux objets 3D

2.3.2 Représentation et maillages 3D

Suite à la numérisation d’un objet 3D le problème de la représentation de sa surface se pose (voir section 2.3.1). En effet, si nous prenons l’exemple des scanners 3D, ils ne fournissent pas un objet solide, mais un nuage de points. Il est donc nécessaire de relier ces points afin de pouvoir analyser la surface du modèle ou pour l’afficher dans un univers en trois dimensions.

Il existe principalement trois types de représentations. Polygonales : elle permet de définir la surface d’un objet sous forme de polygone. Volumiques : un objet est représenté par la juxtaposition de “pixels 3D”, ou voxels. Par construction de solide : elle utilise des primitives simples et des opérations booléennes pour construire des objets 3D complexes. Notons que les descripteurs que nous proposons dans la suite de cette thèse sont adaptés aux trois représentations. Cependant, nous ne travaillerons qu’avec des représentations polygonales.

Représentation polygonale

Cette méthode utilise la juxtaposition de polygones simples – souvent des triangles, d’où le terme “objet triangulé” – pour représenter la surface d’un objet, tel que sur la figure

2.10. Elle est largement utilisée pour des raisons de simplicité, mais aussi car elle permet une visualisation rapide des objets aux moyens de technologies dédiées telles qu’OpenGL15 ou Direct X16.

Pour représenter un objet de ce type, il suffit de discrétiser sa surface en une multitude de facettes jointes, composées chacune de sommets reliés par des arrêtes. C’est l’enve-

15. http://www.opengl.org/

loppe de l’objet 3D et non son volume qui est donc représentée. L’intérêt majeur de cette méthode est la liberté de modification qu’elle procure. En effet, il est facile de déplacer, souder ou diviser des primitives. L’ajout d’une texture est intuitif en attribuant une cou- leur à chaque sommet ou une image à une face. Le stockage de cette représentation passe par l’énumération des sommets et des faces de l’enveloppe comme dans les formats “.off”, “.obj”, “.3ds” ou “.stl” par exemple.

# Entete 3 0 1 2 OFF 3 0 2 3 # Sommets Faces 3 1 5 6 8 12 0 3 1 6 2 -1.0 1.0 1.0 3 4 0 3 1.0 1.0 1.0 3 4 3 7 1.0 -1.0 1.0 3 3 2 6 -1.0 -1.0 1.0 3 3 6 7 -1.0 1.0 -1.0 3 4 5 1 1.0 1.0 -1.0 3 4 1 0 1.0 -1.0 -1.0 3 5 4 7 -1.0 -1.0 -1.0 3 5 7 6

Figure 2.10 – Représentation polygonale d’un cube (à gauche) avec sa version informa-

tique en format “.off” listant ses 8 sommets et 12 faces (à droite).

Pour un objet “triangulé”, il est possible de formaliser cette représentation de la ma- nière suivante :

Considérons un objet 3D noté O constitué d’un ensemble S de m sommets Si :

S = {Si|1 ≤ i ≤ m} (2.1)

L’objet O peut alors d’écrire sous la forme : O =

n

[

i=1

Si (2.2)

Le maillage M de O est composé d’un ensemble F de n faces triangulaires Fi :

F = {Fi|1 ≤ i ≤ n} (2.3)

où chaque face Fi est composée de trois sommets appartenant à l’objet 3D :

Fi = (Ai, Bi, Ci) avec 1 ≤ i ≤ n, Ai, Bi, Ci∈ S (2.4) Le maillage M peut alors s’écrire sous la forme :

M = n

[

i=1

Représentation volumique

Cette approche se base sur la notion de voxel17, qui est l’équivalent, pour l’objet 3D, du pixel pour l’image 2D. Grâce à la juxtaposition de ces briques, il est possible de consti- tuer un objet complexe. En effet, il suffit à partir d’une numérisation, par scanner 3D par exemple, de placer un voxel à la position et distance données pour chaque point sondé. L’utilisation de voxels permet, en particulier, de représenter des modèles 3D avec une ré- solution fixée à l’avance.

La notion de voxel étant particulièrement appropriée aux scanners, on retrouve cette approche en imagerie médicale. En effet, les “Scanners” et les “IRM ”18 permettent d’ob- tenir des images 2D de coupes où celles-ci représentent une troisième dimension. De fait, il est assez facile de reconstruire un ensemble de pixels en trois dimensions, donc des voxels. L’un des points faibles de ce type de rendu est l’apparition d’aliasing19, ou crénelage, entre chaque voxel, introduit par l’aspect discret de la représentation.

Représentation par construction de solides “CSG”

Par opposition aux représentations introduites précédemment, celle par construction de solides n’est plus approchée mais exact, car basée sur des opérations mathématiques. Pour cela, elle utilise un ensemble d’opérateurs booléens permettant de combiner des pri- mitives simples. Cette méthode est souvent utilisée par les industriels en “CAO” et par certains rendus par lancé de rayons (voir remarque2.4).

Remarque 2.4. Le lancé de rayon est une technique qui permet de représen-

ter une scène 3D, non plus en affichant dans un espace 3D les objets qui la composent, mais en calculant ce que “voit” chaque pixel de l’image. En effet, pour chaque point qui compose le rendu final, un rayon est lancé pour voir quels objets il rencontre et ainsi définir la couleur qu’il recevra. Cette couleur dépendra des ombres, réflexions et réfractions de la lumière induites par les objets et leur matériau.

De sa nature mathématique, la représentation par construction de solides décrit les frontières des volumes complexes de manière exacte. Les primitives de base sont les cubes, les sphères, les cylindres, les cônes... et les opérateurs sont l’union, la différence et l’in- tersection. Le positionnement de l’objet se fait à l’aide de transformations géométriques telles que : la translation, la rotation ou l’homothétie. Dans cette représentation, l’objet final peut être décrit sous forme arborescente, où la succession des étapes qui ont permis de construire le modèle 3D sont enregistrées. La racine est l’objet final, chaque nœud cor- respond à une opération booléenne, ou une transformation géométrique, et chaque feuille correspond à un des volumes de base.

17. On retrouve souvent ce terme dans la littérature qui est en fait l’abréviation de VOlumetric piXELS. 18. Il s’agit de l’abréviation du terme Imagerie à Résonance Magnétique.

19. Il s’agit d’un effet visuel indésirable provoqué par l’insuffisance de la définition de la surface et qui prend habituellement la forme de dentelures et de contours brisés.

Avantages et inconvénients de chaque représentation

Les représentations polygonales bénéficient d’une grande liberté d’édition et d’une très grande popularité leur permettant de prendre place dans les jeux vidéo, le cinéma ainsi que dans la plupart des logiciels 3D. Cependant, elles ne permettent pas de représenter précisément certaines surfaces, celles des sphères par exemple, et nécessitent un espace de stockage important pour les objets comportant des milliers de faces. Les représenta- tions par voxels ont les mêmes inconvénients auxquels se rajoute la difficulté d’édition. En revanche, ces approches permettent la représentation simple des coupes 2D, largement utilisée en imagerie médicale. Finalement, les constructions de solides offrent un espace de stockage réduit, une qualité de rendu exceptionnel, mais sont coûteux en calcul et pos- sèdent un nombre limité de primitives de bases rendant difficile la représentation d’objets complexes.

Pour conclure, la représentation polygonale reste la plus utilisée car elle s’appuie sur le développement conjoint de techniques d’accélération matérielles et d’interfaces de pro- grammation puissantes offrant, de ce fait, une accessibilité supérieure aux autres méthodes.