• Aucun résultat trouvé

CHAPITRE 2 SYNTHÈSE DES MÉTHODES DE CONSTRUCTION D’UNE FORME

2.1 Les modèles géométriques

2.1.1 La modélisation par les frontières

Les deux modèles présentés dans ce paragraphe consistent à modéliser la « peau » de l’objet, c’est-à-dire la surface séparant les points de l’espace qui appartiennent au solide de ceux qui n’appartiennent pas. C’est une modélisation par les frontières13.

2.1.1.1 B–Rep

Les entités géométriques sont au nombre de trois : point, courbe, surface. Elles sont reliées entre elles à différents niveaux pour former progressivement le solide à modéliser. Les relations entre entités géométriques caractérisent les notions topologiques discutées précédemment et se représentent à l’aide d’un graphe dont les nœuds sont les entités topologiques et les arcs les relations d’adjacence, d’incidence ou de composition.

Plusieurs catégories de B–Rep existent, pouvant être distinguées par exemple suivant :

− la géométrie : certains B–Rep (dénommés polyédriques) n’utilisent que des surfaces planes alors que d’autres permettent de modéliser des surfaces gauches (Bézier, NURBS …). Ces derniers sont nommés modèles à faces gauches. Leur intérêt repose dans leur modélisation exacte de la géométrie. Les modèles polyédriques approchent les surfaces gauches par un nombre fini de surfaces planes : l’approximation polyédrique. L’utilisation d’un B–Rep polyédrique permet l’implémentation d’algorithmes qu’on ne sait pas définir dans le cas d’un B–Rep à faces gauches : par exemple, le résultat de l’intersection de deux surfaces gauches est approché par des surfaces planes ;

− la topologie : certains B–Rep font que les solides qu’ils modélisent respectent la règle d’Euler–Poincaré (cf. Figure 2-2 : S est le nombre de sommets, A le nombre d’arêtes, F le nombre de faces, CI le nombre de contours intérieurs aux faces –i.e. le nombre de trous dans les faces–, CC le nombre de composantes connexes et G le nombre de trous traversant l’objet de part en part –aussi connu sous le nom de genre). L’utilisation de modèles vérifiant la règle d’Euler-Poincaré permet de construire des objets topologiquement valides. Il faudra, par la suite, vérifier que le plongement de la topologie dans un espace réel définisse un objet géométriquement valide car il est possible de définir un objet topologiquement valide et incorrect d’un point de vue physique. Pour le concepteur, il est possible d’utiliser des primitives ou procédures lui permettant de construire le solide tout en respectant la règle d’Euler-Poincaré : ces procédures sont nommées opérateurs d’Euler. Par exemple, lors de l’ajout d’un sommet, il est nécessaire d’adjoindre une arête ou un contour intérieur pour maintenir la validité du solide. D’autres opérateurs peuvent être utilisés pour construire plus intuitivement le solide à concevoir : par exemple les opérations booléennes [Perrin 95] ont le mérite de pouvoir être basées sur les opérateurs d’Euler ; nous en détaillons le principe ultérieurement (cf. 2.1.2).

2 Description de la forme

En réalité, le choix d’un modèle en particulier dépend essentiellement des utilisations envisagées. Remarquons que les B–Reps dits « classiques » ne possèdent pas de relations d’adjacence entre solides ; c’est-à-dire qu’il n’existe pas de relations topologiques entre volumes. Cela peut être gênant par exemple dans le cas où le concepteur veut modéliser la structure interne d’un ski ou représenter des couches géologiques. Dans ces deux cas, chaque volume représentera une matière différente. Mais, il est important de spécifier que les couches sont collées les unes aux autres. Avec un B–Rep classique, c’est seulement la géométrie (les points, les lignes) qui permettront au concepteur de coller les différentes couches. L’enregistrement des informations topologiques au niveau volumique permettrait d’éviter des problèmes d’imprécision numérique lors de traitements géométriques.

2.1.1.2 G–Cartes

Le modèle des cartes généralisées étend les relations topologiques entre faces, arêtes et sommets à une dimension n quelconque. En l’occurrence, il permet entre autres de modéliser les relations d’adjacence entre volumes. Une carte généralisée14 de dimension n [Lienhardt 89, Lienhardt 91] ou n–G–Carte est définie par une algèbre G = {B, α0, …,αi, …,αn} où :

i. B est un ensemble fini de brins,

ii. ∀ 0 ≤ i ≤ n, αi est une involution sur B (i.e. ∀ b ∈ B, αii(b)) = b), iii. ∀ 0 ≤ i ≤ n, ∀ i +2 ≤ j ≤ n, αiαj est une involution.

L’unique élément de base utilisé est le brin (i ). Il se représente schématiquement par un segment correspondant à une demi-arête. Le fait de diviser une arête en deux éléments identiques permet de modéliser des solides non orientables (ruban de Moëbius ou bouteille de Klein, Figure 2-315). Pour former une arête, il suffit de « coudre » deux brins par la relation α0, caractérisant simplement la relation d’adjacence entre deux sommets (Figure 2-4a15). De manière similaire, les relations α1, α2, α3 sont utilisées

14 Generalised Maps en anglais

15 images fournies par Yves Bertrand de l’université de Poitiers

S – A +F – C I = 2× ( C C – G )

24 36 15 3 1 1

Figure 2-2. Vérification de la formule d’Euler–Poincaré [Foley et al. 95]

(a) (b) (c)

Figure 2-3. Modélisation d’une bande de Moëbius (a, b) ou d’une bouteille de Klein (c) à l’aide d’une 2–G–Carte

Chapitre 2 Synthèse des méthodes de construction d’une forme

Thèse de l’université de Metz soutenue le 12 Janvier 2000 – D. Pallez 34

pour coudre respectivement des arêtes (Figure 2-4b15), des faces (Figure 2-4c15) et des volumes entre eux (Figure 2-4d15).

De manière générale, la contrainte (ii ) exprime simplement le fait que les relations d’adjacence étendues aux brins sont des relations binaires symétriques (si un brin b1 est cousu avec b2 par α0, alors b2 est cousu avec b1 par α0).

D’autre part, α0α2 est une involution (iii ) signifie simplement que les faces sont « cousues » le long de leur arêtes. Au niveau volumique, cela se traduit par α0α3 et α1α3 sont des involutions (les volumes sont cousus le long de leur faces).

Même si le modèle des cartes généralisées n’utilise qu’un unique élément (le brin), il faut pouvoir identifier, pour toutes les dimensions, les cellules du modèle topologique plus communément appelées sommets, arêtes, faces, volumes. Pour cela, il suffit de supprimer la relation αi dans G pour obtenir l’ensemble des cellules de dimension i ; chaque composante connexe de G étant alors une cellule (par exemple, les sommets sont obtenus en supprimant α0).

Comme il est intuitif de représenter une G–Carte par une structure de données de type graphe dont les nœuds sont les brins et les arcs les involutions entre brins, l’accès aux brins se fait simplement en utilisant un parcours en profondeur utilisant des marquages booléens (cf. Figure 2-5). En pratique, les involutions ne sont pas supprimées, mais plutôt ignorées lors du parcours.

Cette modélisation par les frontières a été spécifiée algébriquement par [Bertrand et al. 98] et implantée par [Bertrand 98] pour former le modeleur Topofil16 ; les opérations booléennes ont aussi été spécifiées pour ce modèle géométrique [Cazier 97]. Par exemple, il est possible de considérer la dimension 4 comme une relation temporelle simplifiant alors l’animation de solides modélisés [Bechmann 95]. Par ailleurs, les cartes généralisées ont permis en visualisation de simplifier et d’accélérer un algorithme de radiosité

16 déjà utilisé par le Centre d’Étude Atomique pour modéliser les couches géologiques

(a) (b) α0 α 1 (c) α2 (d) α3

Figure 2-4. Modélisation d’une maison à l’aide d’une 3–G– Carte utilisant les relations α0 (a), α1 (b), α2 (c), α3 (d)

Algorithme Parcours (brin b, ensemble d’involutions E_I)

Marquer (b)

Pour toute involution i de E_I

Si non (marqué(i(b)) alors Parcours (i(b), E_I)

Fin si

Fin pour

Fin Algorithme

2 Description de la forme

[Pallez 96].

Les intérêts d’une modélisation par les cartes généralisées sont :

− une généralisation des relations d’adjacence et d’incidence à une dimension quelconque ; en particulier au niveau volumique ;

− l’unicité d’une structure informatique « brin ».