29.04.2015 Views

Ensembles simpliciaux hiérarchisés et inter- section de surfaces - alice

Ensembles simpliciaux hiérarchisés et inter- section de surfaces - alice

Ensembles simpliciaux hiérarchisés et inter- section de surfaces - alice

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Ensembles</strong> <strong>simpliciaux</strong> hiérarchisés <strong>et</strong> <strong>inter</strong><strong>section</strong><br />

<strong>de</strong> <strong>surfaces</strong><br />

Matthieu Dazy — Bruno Lévy — Jean-Laurent Mall<strong>et</strong><br />

ISA-Gocad (INRIA Lorraine <strong>et</strong> CNRS)<br />

rue du Doyen Marcel Roubault<br />

B.P. 40<br />

54501 VANDŒUVRE<br />

¢¡¤£¦¥¦§©¨¦§©¨£¤¦¦ !¦"#%$&¤£'(§)+*¦,<br />

RÉSUMÉ. Nous nous intéressons au problème du calcul <strong>de</strong> l’<strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>surfaces</strong> triangulées.<br />

Une approche classique, reposant principalement sur la géométrie, est suj<strong>et</strong>te à plusieurs problèmes.<br />

En particulier, il serait souhaitable que la géométrie du résultat obtenu soit cohérente<br />

avec la topologie du problème <strong>de</strong> départ. Nous proposons une nouvelle structure <strong>de</strong> données,<br />

à base d’ensembles <strong>simpliciaux</strong>, pour m<strong>et</strong>tre en place une approche favorisant l’utilisation<br />

d’informations combinatoires.<br />

ABSTRACT. We consi<strong>de</strong>r the problem of computing the <strong>inter</strong><strong>section</strong> of triangulated <strong>surfaces</strong>. A<br />

geom<strong>et</strong>ry-based m<strong>et</strong>hod can present several problems. In particular, we wish the geom<strong>et</strong>rical<br />

properties of the result to be consistent with the combinatorial properties of the original problem.<br />

We propose a new data structure based on simplicial s<strong>et</strong>s, and a new approach using<br />

combinatorial information.<br />

MOTS-CLÉS : <strong>Ensembles</strong> Simpliciaux, Modélisation Géométrique, Inter<strong>section</strong> <strong>de</strong> Surfaces, Géométrie<br />

Algorithmique.<br />

KEYWORDS: Simplicial S<strong>et</strong>s, Geom<strong>et</strong>ric Mo<strong>de</strong>ling, Surface Inter<strong>section</strong>, Computational Geom<strong>et</strong>ry<br />

CFAO <strong>et</strong> informatique graphique. Volume 1 - n- 1/1


2 CFAO <strong>et</strong> informatique graphique. Volume 1 - n- 1/1<br />

1. Introduction<br />

En géométrie algorithmique (voir par exemple [BOI 95]), il est possible <strong>de</strong> distinguer<br />

<strong>de</strong>ux catégories <strong>de</strong> problèmes : les problèmes non constructifs, qui s’intéressent<br />

aux connexions entre les éléments existants d’un modèle, <strong>et</strong> les problèmes constructifs,<br />

dans lesquels <strong>de</strong> nouveaux éléments sont créés <strong>et</strong> ajoutés au modèle. Les premiers<br />

peuvent n’utiliser que <strong>de</strong>s prédicats, alors que les seconds doivent nécessairement faire<br />

appel à la géométrie pour calculer <strong>de</strong> nouveaux éléments <strong>et</strong> modifier la structure. Par<br />

exemple, la construction d’un diagramme <strong>de</strong> Voronoï est un algorithme non constructif,<br />

alors que le calcul <strong>de</strong> l’<strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>de</strong>ux <strong>surfaces</strong> est un algorithme constructif.<br />

Dans ce <strong>de</strong>rnier cas, un problème important est que la création <strong>de</strong> nouveaux points<br />

soit effectuée <strong>de</strong> manière cohérente avec la topologie du problème, l’utilisation <strong>de</strong><br />

points erronés pouvant provoquer <strong>de</strong>s erreurs dans le déroulement <strong>de</strong> l’algorithme.<br />

Pourtant, il serait possible <strong>de</strong> résoudre une partie <strong>de</strong>s problèmes en tirant parti <strong>de</strong>s<br />

informations combinatoires disponibles. D’autre part, beaucoup d’algorithmes modifient<br />

dynamiquement les structures <strong>de</strong> données qu’ils manipulent alors qu’il pourrait<br />

être intéressant <strong>de</strong> conserver une trace <strong>de</strong>s opérations effectuées.<br />

Nous considérons le problème du calcul <strong>de</strong> l’<strong>inter</strong><strong>section</strong> d’un ensemble <strong>de</strong> <strong>surfaces</strong>.<br />

Il existe déjà <strong>de</strong>s solutions pour certaines classes <strong>de</strong> <strong>surfaces</strong>, comme par e-<br />

xemple les NURBS, qui sont beaucoup utilisées en modélisation industrielle (voir<br />

[ELM 94],[KRI 97]). Les <strong>surfaces</strong> triangulées présentent plusieurs avantages : d’une<br />

part, leurs éléments <strong>de</strong> base possè<strong>de</strong>nt <strong>de</strong>s propriétés mathématiques qui ren<strong>de</strong>nt leur<br />

utilisation pratique ; d’autre part, elles sont adaptées à la représentation d’obj<strong>et</strong>s naturels<br />

<strong>et</strong> à la mise en place d’algorithmes par éléments finis (lissage, paramétrisation).<br />

En géologie, par exemple, l’<strong>inter</strong><strong>section</strong> d’un ensemble <strong>de</strong> <strong>surfaces</strong> peut être utilisée<br />

pour partitionner l’espace en régions délimitées par ces <strong>surfaces</strong>. Par la suite,<br />

<strong>de</strong>s métho<strong>de</strong>s par éléments finis (<strong>inter</strong>polation <strong>de</strong> propriétés physiques, simulation <strong>de</strong><br />

propagation d’on<strong>de</strong>s sismiques...) peuvent être appliquées sur <strong>de</strong> tels volumes. Pour<br />

un exemple d’agorithme d’<strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>surfaces</strong> triangulées, on peut se reporter à<br />

[AFT 97].<br />

Nous présentons la structure HESC (Hierarchical Embed<strong>de</strong>d Simplicial Complex).<br />

C<strong>et</strong>te structure <strong>de</strong> données hiérarchique fondée sur les ensembles <strong>simpliciaux</strong> perm<strong>et</strong><br />

<strong>de</strong> stocker les informations calculées au cours <strong>de</strong> l’éxécution d’un algorithme<br />

d’<strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>surfaces</strong>. Après une brève présentation <strong>de</strong>s ensembles <strong>simpliciaux</strong>,<br />

nous exposons nos extensions pour la structure HESC, puis les opérations définies sur<br />

ces différents éléments. Enfin, nous étudions l’application à l’<strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>surfaces</strong>.<br />

2. <strong>Ensembles</strong> <strong>simpliciaux</strong> abstraits<br />

Il existe plusieurs modèles <strong>de</strong> données perm<strong>et</strong>tant <strong>de</strong> représenter la structure combinatoire<br />

<strong>de</strong> <strong>surfaces</strong> triangulées :<br />

– modèle frontière (B-rep[WEI 86]) : dans c<strong>et</strong>te approche, les éléments sont


– est un 56¦8/9: ;?@=4AB?656¦78C9D ;2.&AFE<br />

tel que<br />

> . est appelé un simplexe <strong>de</strong> , <strong>et</strong> sa dimension est notée<br />

<br />

0%¥JIK><br />

>GHA?<br />

<br />

<br />

<br />

Ensemble <strong>simpliciaux</strong> <strong>et</strong> <strong>inter</strong><strong>section</strong> 3<br />

représentés par leur bord,<br />

– les G-cartes ([LIE 91],[BRI 89]) : c<strong>et</strong>te structure perm<strong>et</strong> <strong>de</strong> représenter une<br />

classe d’obj<strong>et</strong>s plus large, les complexes cellulaires,<br />

– les ensembles <strong>simpliciaux</strong> ([MAY 67],[AGO 76]) : c<strong>et</strong>te structure combinatoire<br />

est basée sur la manipulation d’ensembles abstraits.<br />

Les G-cartes <strong>et</strong> les ensembles <strong>simpliciaux</strong> ont l’avantage <strong>de</strong> reposer sur <strong>de</strong>s théories<br />

mathématiques éprouvées, ce qui perm<strong>et</strong> <strong>de</strong> vali<strong>de</strong>r plus facilement les algorithmes<br />

développés. Nous avons chois d’utiliser les ensembles <strong>simpliciaux</strong> en raison <strong>de</strong> leur<br />

adéquation au problème étudié : en eff<strong>et</strong>, les points, arêtes <strong>et</strong> triangles <strong>de</strong> ¢¡ sont <strong>de</strong>s<br />

simplexes <strong>de</strong> l’espace euclidien. Le lecteur peut consulter [MAY 67] pour une présentation<br />

détaillée <strong>de</strong>s ensembles <strong>simpliciaux</strong> ainsi que [LAN 95] <strong>et</strong> [LAN 96] pour <strong>de</strong>s<br />

exemples <strong>de</strong> leur utilisation en modélisation géométrique.<br />

2.1. Simplexes <strong>et</strong> topologie<br />

Dans l’espace ¤£ , un simplexe <strong>de</strong> dimension ¥ est défini (¥ -simplexe) comme<br />

l’enveloppe convexe <strong>de</strong> ¦§¥©¨ points linéairement indépendants. Nous nous intéressons<br />

ici uniquement aux relations combinatoires entre les simplexes.<br />

De manière intuitive, nous pouvons décrire un ¥ -simplexe comme un élément abstrait<br />

<strong>de</strong> dimension ¥ connecté à ¦§¥¨ éléments abstraits <strong>de</strong> dimension ¦§¥ par <strong>de</strong>s<br />

applications. Sur les figures, les -, - <strong>et</strong> -simplexes seront représentés respectivement<br />

par <strong>de</strong>s somm<strong>et</strong>s, <strong>de</strong>s arêtes <strong>et</strong> <strong>de</strong>s triangles, mais il faut gar<strong>de</strong>r à l’esprit qu’il<br />

s’agit d’éléments sans existence géométrique.<br />

Formellement, un ensemble simplicial <strong>de</strong> dimension est défini par<br />

<br />

!"$#%&"('*)!)*)+"-,/.! 0#102'*)!)*)$03,4.<br />

¦¢!<br />

– est un ensemble fini d’éléments 56¦78 abstraits. est l’ensemble <strong>de</strong> ses parties,<br />

LNMO<br />

04¦§>$ ,<br />

>U?VW0%¥JIX> ¥W. – est l’ensemble <strong>de</strong>s simplexes <strong>de</strong><br />

ZY[1\<br />

=/QPR¥PS¤@"-T<br />

dimension . La dimension <strong>de</strong> est donc égale à ]3^%_ 0¥JÌ > ,<br />

¥ c/d7@=2eF?fa ¥g&/dJ7eBhi%W0T – est une application j/k <strong>de</strong> jCkml ' dans qui, à =4¥D?ba un<br />

> -simplexe , associe ¦ne6Q un AQEU> -simplexe (voir figure 02T 1). est appelé un<br />

e<br />

opérateur bord > <strong>de</strong> <strong>et</strong> on A note<br />

. >©01k<br />

>©0b?o"(p©0TDt<br />

<br />

eqG<br />

2.2. Définitions <strong>et</strong> propriétés <strong>de</strong>s simplexes<br />

Plusieurs ensembles <strong>et</strong> propriétés peuvent être définis sur les simplexes, notam-


T 2<br />

T 3 ¥¡¥¡¥<br />

<br />

4 CFAO <strong>et</strong> informatique graphique. Volume 1 - n- 1/1<br />

d 1<br />

d 0<br />

d 2<br />

d 0 d 1<br />

d 0<br />

d<br />

0<br />

d 1<br />

d 1<br />

Figure 1. un -simplexe <strong>et</strong> ses faces sont connectés par les opérateurs bord, définis<br />

<strong>de</strong> manière unique pour chaque simplexe.<br />

¤¡¤¡¤ £¡£¡£<br />

¤¡¤¡¤ £¡£¡£<br />

T<br />

1<br />

b.<br />

¡¡ ¡¡<br />

¡¡ ¡¡<br />

¡¡ ¡¡<br />

¡¡ ¡¡<br />

E<br />

a.<br />

V<br />

¦¡¦¡¦<br />

¡ ¢¡¢¡¢<br />

¡ ¢¡¢¡¢<br />

¥¡¥¡¥<br />

¦¡¦¡¦<br />

¡¡ ¡¡<br />

¡¡ ¡¡<br />

¨¡¨¡¨ §¡§¡§<br />

c.<br />

¡¡¡<br />

¡¡<br />

¡¡ ©¡©¡©<br />

¡¡ ©¡©¡©<br />

¨¡¨¡¨ §¡§¡§<br />

¡¡ ¡¡¡<br />

Figure 2. a : le -simplexe ' est inci<strong>de</strong>nt aux simplexes <br />

<strong>et</strong> ' . <strong>et</strong> sont<br />

adjacents via , <strong>et</strong> ¡<br />

<strong>et</strong> sont adjacents via . b : l’étoile du -simplexe . c :<br />

l’étoile du -simplexe .<br />

¡¡ ¡¡<br />

¡¡ ¡¡<br />

¡¡ ¡¡<br />

¡¡ ¡¡<br />

ment :<br />

– Un > simplexe est dit inci<strong>de</strong>nt à un A simplexe si il existe une séquence<br />

d’opérateurs bord telle >©0¤A note A <strong>et</strong> est<br />

alors appelé une face <strong>de</strong> > ,<br />

– <strong>de</strong>ux simplexes > ' <strong>et</strong> > sont dits adjacents si ils ont une face commune (voir<br />

figure 2a). On note > '! > ,<br />

– l’étoile d’un simplexe est définie comme étant l’ensemble <strong>de</strong>s simplexes qui lui<br />

sont inci<strong>de</strong>nts : j&%@><br />

*A$#A' >(. (voir figures 2b <strong>et</strong> 2c).<br />

– le bord d’un simplexe est défini comme étant l’ensemble <strong>de</strong> ses faces : "4><br />

*A$#> A/. ,


© <br />

<br />

T 4, #<br />

<br />

Ensemble <strong>simpliciaux</strong> <strong>et</strong> <strong>inter</strong><strong>section</strong> 5<br />

2.3. Opérateurs somm<strong>et</strong><br />

Les -simplexes jouent un rôle important vis-à-vis simplexes. En eff<strong>et</strong>, nous verrons<br />

par la suite qu’il est possible <strong>de</strong> calculer la géométrie d’un simplexe uniquement<br />

à partir <strong>de</strong> la géométrie <strong>de</strong> ses somm<strong>et</strong>s. Nous avons donc besoin d’une métho<strong>de</strong> nous<br />

perm<strong>et</strong>tant d’accé<strong>de</strong>r facilement aux -simplexes d’un simplexe donné.<br />

Il est facile <strong>de</strong> constater qu’appliquer une séquence s <strong>de</strong> opérateurs bord, perm<strong>et</strong> <strong>de</strong><br />

passer s d’un -simplexe à l’un <strong>de</strong>s -simplexes <strong>de</strong> son bord. Notons qu’il ¦s©¨¡<br />

existe<br />

séquences distinctes s <strong>de</strong> opérateurs bord, alors que s chaque -simplexe n’est connecté<br />

¦s6ï qu’à -simplexes. Il faut donc ¦sF¨ choisir séquences nous perm<strong>et</strong>tant<br />

d’accé<strong>de</strong>r aux différents -simplexes.<br />

En imposant la condition suivante sur les opérateurs bord :<br />

Pb¥¢P ¤+=2e£¢ ¥g03T§01k<br />

=<br />

il est possible <strong>de</strong> prouver que pour toute séquence s <strong>de</strong> ¦ ¥Wp3¥+pl ' !)!)*)©&¥ ' indices , il<br />

ef?Va cgs3d existe tel 03T 0T ¥¤ )!)!)W0T<br />

<br />

0


6 CFAO <strong>et</strong> informatique graphique. Volume 1 - n- 1/1<br />

υ d 0<br />

υ d 1<br />

υ<br />

σ<br />

σ<br />

σ<br />

d 2<br />

υ d 0<br />

υ d 1<br />

υ<br />

υ d 0 σ d 2 υ d 1<br />

σ<br />

τ d 1 λ 0<br />

( υ d 0 , σ d 2 ) λ 0<br />

( υ d 1<br />

,σ )<br />

τ d 2 λ<br />

τ 1 (υ d 0 , σ d 2 ) λ 1<br />

( υ d 1<br />

,σ )<br />

(υ , σ )<br />

λ 2<br />

d 1<br />

a. b.<br />

c.<br />

Figure 3. un exemple d’inclusion topologique. a : l’<strong>inter</strong><strong>section</strong> <strong>de</strong>s <strong>de</strong>ux triangles<br />

génère un segment. b : les plongements topologiques. Les segments sont plongés dans<br />

chacun <strong>de</strong>s triangles. Les somm<strong>et</strong>s du segment sont plongés respectivement dans une<br />

arête <strong>et</strong> un triangle <strong>et</strong> dans <strong>de</strong>ux arêtes. c : les coordonnées <strong>de</strong> plongement pour un<br />

<strong>de</strong>s cas.<br />

3.1. Extension combinatoire <strong>de</strong>s ensembles <strong>simpliciaux</strong> abstraits<br />

La combinatoire <strong>de</strong>s ensembles <strong>simpliciaux</strong> abstraits nous perm<strong>et</strong> essentiellement<br />

<strong>de</strong> calculer <strong>de</strong>s relations <strong>de</strong> voisinage entre les différents simplexes <strong>de</strong> l’ensemble.<br />

Nous ajoutons une nouvelle relation pour décrire la manière dont les simplexes peuvent<br />

s’<strong>inter</strong>secter. Pour une étu<strong>de</strong> détaillée <strong>de</strong>s problèmes <strong>de</strong> combinatoire, le lecteur<br />

pourra consulter [LéV 99].<br />

Un s -simplexe A peut être plongé topologiquement dans un simplexe > <strong>de</strong> dimension<br />

supérieure ou égale à s . C<strong>et</strong>te relation est notée A f> <strong>et</strong> découle directement <strong>de</strong><br />

l’<strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>de</strong>ux simplexes géométriques (voir figures 3a <strong>et</strong> 3b).<br />

A l’ai<strong>de</strong> <strong>de</strong> c<strong>et</strong>te nouvelle relation, nous m<strong>et</strong>tons en place la hiérarchie <strong>de</strong>s ensembles<br />

T <strong>simpliciaux</strong> <strong>de</strong> . L’ensemble , repésente l’obj<strong>et</strong> sur lequel l’algorithme<br />

sera éxécuté, les ensembles © )*)!) , l ' étant <strong>de</strong>stinés à contenir les informations<br />

#<br />

calculées pendant les différentes étapes.<br />

Les relations <strong>de</strong> voisinage entre simplexes sont décrites par les opérateurs bord<br />

à l’intérieur d’un même T tandis que les relations d’inclusion sont décrites par <strong>de</strong>s<br />

plongements entre les simplexes <strong>de</strong>s différents T .<br />

3.2. Réalisation géométrique <strong>de</strong>s ensembles <strong>simpliciaux</strong> abstraits<br />

Pour compléter notre structure, il nous reste à produire une représentation géométrique<br />

<strong>de</strong>s obj<strong>et</strong>s manipulés. L’opérateur <br />

géométrique associe à chaque -simplexe<br />

<strong>de</strong> © un point <strong>de</strong> ¤¡ : =/>/W0%¥JI ><br />

¦£¢ ¥¤/§¦< . Nous pouvons alors définir<br />

> <br />

¡


¡ <br />

<br />

<br />

p<br />

<br />

¨<br />

<br />

<br />

<br />

Ensemble <strong>simpliciaux</strong> <strong>et</strong> <strong>inter</strong><strong>section</strong> 7<br />

un opérateur général qui calcule la géométrie d’un simplexe en calculant la somme<br />

<strong>de</strong>s barycentres <strong>de</strong> ses somm<strong>et</strong>s :<br />

¢ T¥¤ ]<br />

¨ p§¦<br />

# p©¦<br />

> %.<br />

¨§ T¥¦ ¢ T¥¤ ]<br />

¨ <br />

# T¥¦<br />

T ><br />

¨ ¢ T¥¤ ]<br />

T <br />

simplexe ,<br />

les coordonnées barycentriques A <strong>de</strong> > dans (voir figure 3c) :<br />

=/Ac> #A f>/<br />

¦ A >$<br />

CT¦§Ac>$ . # T ¢ T¤ ]<br />

avec =/ P ¥:P 0¥JIi>/ T ¦ AcW>$Dhf <strong>et</strong><br />

T¦ ¢ T¥¤ ]<br />

T ¦§Ac>$&><br />

¨ ¢ T¤ ]<br />

T<br />

<br />

/)<br />

Il est important <strong>de</strong> gar<strong>de</strong>r à l’esprit que <strong>de</strong> c<strong>et</strong>te manière, il est possible d’avoir<br />

plusieurs définitions pour la géométrie d’un -simplexe. Il sera donc nécessaire d’utiliser<br />

un système <strong>de</strong> calcul garantissant que :<br />

T¦ #<br />

¢ T¤ ]<br />

¨ T¦<br />

# T¦<br />

¦(>$&><br />

¨ ¢ T¤ ]<br />

T <br />

@A<br />

¨ ¢ T¤<br />

T 4) ¦(&A<br />

=©>/&Ac# >/ Ac<br />

¢ T¥¤ ¨ T¥¦<br />

# T¦<br />

Pour pouvoir calculer récursivement la géométrie <strong>de</strong> chaque somm<strong>et</strong>, chaque -<br />

simplexe doit être plongé dans au moins un autre simplexe. A c<strong>et</strong> eff<strong>et</strong>, nous définissons<br />

un simplexe englobant , dans lequel tout -simplexe sans plongement combinatoire<br />

pourra être plongé. En pratique, seuls les -simplexes <strong>de</strong> , sont plongés dans<br />

. Les -simplexes calculés par l’algorithme bénéficient normalement <strong>de</strong> plongements<br />

dans les simplexes dont ils sont l’<strong>inter</strong><strong>section</strong>.<br />

Ceci nous perm<strong>et</strong>, <strong>de</strong> plus, <strong>de</strong> séparer la partie combinatoire <strong>de</strong> notre structure <strong>de</strong> sa<br />

partie géométrique. L’opérateur définit une géométrie locale pour les plongements<br />

topologiques <strong>et</strong> la représentation géométrique finale <strong>de</strong> la structure peut être réalisée<br />

dans un espace au choix <strong>de</strong> l’utilisateur.<br />

4. Opérations sur les HESC<br />

4.1. Opérations sur les simplexes<br />

4.1.1. Inter<strong>section</strong> topologique <strong>de</strong> <strong>de</strong>ux simplexes<br />

Pour une paire <strong>de</strong> simplexes ¦§>/A , nous calculons les <strong>inter</strong><strong>section</strong>s entre les éléments<br />

<strong>de</strong> > "4> <strong>et</strong> ceux <strong>de</strong>s éléments <strong>de</strong> A "CA . Le calcul est basé sur <strong>de</strong>s prédicats


¡<br />

¢¤£¥£§¦©¨¥§¥¤¤¦<br />

.<br />

<br />

0<br />

8 CFAO <strong>et</strong> informatique graphique. Volume 1 - n- 1/1<br />

σ<br />

d 1<br />

σ d<br />

1<br />

τ<br />

d 0<br />

τ<br />

τ d 0<br />

σ<br />

σ<br />

τ 1<br />

d<br />

τ d<br />

1<br />

Inter<strong>section</strong> 1 Inter<strong>section</strong> 2<br />

Figure 4. <strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>de</strong>ux -simplexes. Notre calcul d’<strong>inter</strong><strong>section</strong> doit nous<br />

renvoyer une <strong>inter</strong><strong>section</strong> triangle/arête <strong>et</strong> une <strong>inter</strong><strong>section</strong> arête/arête. L’arête<br />

d’<strong>inter</strong><strong>section</strong> sera créée plus tard.<br />

topologiques exacts (voir [SHE 97]), <strong>et</strong> ne renvoie que les paires <strong>de</strong> simplexes dont<br />

l’<strong>inter</strong><strong>section</strong> est réduite à un -simplexe (voir figure 4). La création <strong>de</strong>s simplexes <strong>de</strong><br />

dimension supérieure peut être déduite <strong>de</strong> ces informations dans une étape ultérieure.<br />

4.1.2. Calcul du plongement <strong>de</strong>s <strong>inter</strong><strong>section</strong>s<br />

Pour une paire <strong>de</strong> simplexes ¦§>/&A renvoyée par la métho<strong>de</strong> précé<strong>de</strong>nte, nous<br />

créons le -simplexe d’<strong>inter</strong><strong>section</strong> , nous calculons les coordonnées barycentriques<br />

-¦ W>$ <strong>et</strong> -¦ A . Nous stockons ensuite les plongements b> <strong>et</strong> A .<br />

La précision <strong>de</strong>s calculs est primordiale pour c<strong>et</strong>te opération. En eff<strong>et</strong>, les coordonnées<br />

<strong>de</strong>s différents plongements d’un même simplexe doivent être cohérentes (voir<br />

3.2). Il est envisageable <strong>de</strong> baser les calculs sur <strong>de</strong>s librairies <strong>de</strong> calcul précis telles<br />

que GMP 1 , LEDA 2 ou Core 3 .<br />

4.1.3. Maillage contraint d’un simplexe<br />

Nous réalisons un recouvrement topologique <strong>de</strong> > m<strong>et</strong>tant en jeu les simplexes<br />

plongés dans > ou dans un simplexe <strong>de</strong> son bord. Pour c<strong>et</strong>te opération, le traitement<br />

effectif dépend <strong>de</strong> la dimension du simplexe. Il est supposé comme hypothèse <strong>de</strong><br />

départ que les simplexes <strong>de</strong> "/> ont déjà été maillés.<br />

-simplexe <br />

Pour un > -simplexe , les -simplexes plongés > dans sont remplacés > par luimême.<br />

C<strong>et</strong>te opération peut se réaliser en modifiant les faces <strong>de</strong>s simplexes j&%m¦§>$ <strong>de</strong> .<br />

. ¢¤£¥£§¦©¨¥§¥¤¦¤ "!©#¤¦¤%$¥&'§(¥)¥*¥+¤¤",¤$'&-¢¤£/.<br />

. ¢¤£¥£§¦©¨¥'1-,¤234&$3&'5¤§£''6'&


Ensemble <strong>simpliciaux</strong> <strong>et</strong> <strong>inter</strong><strong>section</strong> 9<br />

-simplexe <br />

Pour un > -simplexe , les somm<strong>et</strong>s plongés > dans sont triés par ordre croissant<br />

# <strong>de</strong>s , puis les -simplexes reliant ces somm<strong>et</strong>s sont créés, si nécessaire.<br />

-simplexe <br />

Pour un > -simplexe , nous construisons un maillage Delaunay <strong>de</strong>s -simplexes<br />

plongés > dans ou dans un élément "/> <strong>de</strong> , puis nous insèrons dans ce maillage <strong>de</strong>s<br />

contraintes exprimées sous la forme <strong>de</strong>s -simplexes plongés > dans ou dans un élément<br />

"/> <strong>de</strong> .<br />

Figure 5. maillage contraint d’un -simplexe (à gauche) <strong>et</strong> d’un -simplexe (à droite).<br />

Les simplexes encadrés en pointillés sont i<strong>de</strong>ntiques.<br />

Dans tous les cas les anciens simplexes sont conservés afin <strong>de</strong> maintenir la cohérence<br />

du HESC pour les simplexes non maillés. Les anciens simplexes pourront être<br />

supprimés par la suite. Notons que l’utilisation <strong>de</strong>s coordonnées barycentriques <strong>de</strong>s<br />

plongements <strong>et</strong> <strong>de</strong>s informations combinatoires nous perm<strong>et</strong>tent <strong>de</strong> travailler dans <strong>de</strong>s<br />

repères locaux aux simplexe. Par exemple, pour calculer l’<strong>inter</strong><strong>section</strong> <strong>de</strong> -simplexes<br />

plongés dans un même -simplexe, <strong>de</strong>s calculs 2D sont suffisants, indépendamment<br />

<strong>de</strong> l’espace <strong>de</strong> la réalisation géométrique.<br />

4.2. Opérations sur les ensembles <strong>simpliciaux</strong><br />

4.2.1. Conversion<br />

Le HESC est une structure <strong>de</strong> données temporaire : son but est <strong>de</strong> fournir une<br />

représentation <strong>de</strong>s différents états d’un algorithme au cours <strong>de</strong> son éxécution. Dans<br />

c<strong>et</strong>te optique, <strong>de</strong>s convertisseurs doivent être utilisés pour transformer en HESC les<br />

structures <strong>de</strong> données utilisées par le logiciel <strong>de</strong> modélisation, ainsi que pour perm<strong>et</strong>tre<br />

<strong>de</strong> revenir à ces structures une fois les traitements effectués (voir figure 6).<br />

D’une manière générale, un convertisseur se limite à construire les simplexes<br />

équivalents à la structure <strong>de</strong> données d’origine <strong>et</strong> à vérifier la bonne numérotation<br />

<strong>de</strong> ceux-ci. Cependant, si plusieurs obj<strong>et</strong>s doivent être regroupés dans un seul HESC,<br />

il pourra s’avérer nécessaire d’ajouter <strong>de</strong>s informations sur l’origine <strong>de</strong>s simplexes.


10 CFAO <strong>et</strong> informatique graphique. Volume 1 - n- 1/1<br />

Figure 6. à gauche : le modèle 3D d’origine, composé <strong>de</strong> cinq <strong>surfaces</strong>. Ce genre <strong>de</strong><br />

modèle est typique <strong>de</strong>s cas rencontrés lors <strong>de</strong> la modélisation <strong>de</strong> couches géologiques.<br />

A droite : le même modèle converti en HESC. Les <strong>surfaces</strong> sont regroupées dans une<br />

seule structure.<br />

4.2.2. Inter<strong>section</strong> d’un ensemble simplicial<br />

C<strong>et</strong>te opération calcule l’auto-<strong>inter</strong><strong>section</strong> <strong>de</strong> T <strong>et</strong> stocke la structure résultante<br />

dans T l ' (voir figure 7). Elle peut se décomposer en plusieurs étapes :<br />

1. Calcul topologique <strong>de</strong>s -simplexes d’<strong>inter</strong><strong>section</strong> : pour chaque paire ¥ <strong>de</strong> -<br />

, on calcule les <strong>inter</strong><strong>section</strong>s entre > <strong>et</strong> A comme décrit en 4.1.1.<br />

T<br />

simplexes >/Aq?<br />

2. Calcul <strong>de</strong>s plongements : les plongements topologiques <strong>et</strong> géométriques sont<br />

calculés pour chaque -simplexe créé, comme décrit en 4.1.2.<br />

3. Calcul <strong>et</strong> plongement <strong>de</strong>s s -simplexes d’<strong>inter</strong><strong>section</strong> : pour chaque ¥ -simplexe<br />

<strong>de</strong> T mis en jeu, il est possible d’utiliser les plongements calculés précé<strong>de</strong>mment pour<br />

déduire la création <strong>et</strong> les plongements éventuels <strong>de</strong> simplexes <strong>de</strong> dimension supérieure<br />

ou égale à 1.<br />

4.2.3. Réalisation d’un ensemble simplicial<br />

C<strong>et</strong>te opération construit le maillage <strong>de</strong>s simplexes <strong>de</strong> l’ensemble simplicial T<br />

(voir figure 8).<br />

– Maillage <strong>de</strong>s -simplexes,<br />

– maillage <strong>de</strong>s -simplexes,<br />

– ...<br />

– maillage <strong>de</strong>s ¥ -simplexes,<br />

– suppression <strong>de</strong>s simplexes maillés.


1. <strong>inter</strong><strong>section</strong> <strong>de</strong> <br />

2. <strong>inter</strong><strong>section</strong> <strong>de</strong> '<br />

<br />

3. réalisation <strong>de</strong> '<br />

4. réalisation <strong>de</strong> <br />

<br />

Ensemble <strong>simpliciaux</strong> <strong>et</strong> <strong>inter</strong><strong>section</strong> 11<br />

Figure 7. application <strong>de</strong> l’<strong>inter</strong><strong>section</strong> sur le modèle présenté figure 6. Les simplexes<br />

mis en jeu par l’<strong>inter</strong><strong>section</strong> sont affichés en gris clair. A droite, la ligne <strong>et</strong> les somm<strong>et</strong>s<br />

d’<strong>inter</strong><strong>section</strong>, stockés dans le premier niveau hiérarchique.<br />

Mailler les simplexes par ordre <strong>de</strong> dimension croissante nous perm<strong>et</strong> <strong>de</strong> garantir<br />

l’hypothèse faite en 4.1.3. Les nouveaux simplexes sont créés dans T , afin <strong>de</strong><br />

pouvoir détruire T l ' après l’opération. Le fait d’avoir créé <strong>de</strong>s recouvrements <strong>de</strong><br />

simplexes perm<strong>et</strong> <strong>de</strong> détruire les simplexes maillés sans générer <strong>de</strong> discontinuité dans<br />

la structure.<br />

4.3. Application : <strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>surfaces</strong><br />

La définition d’opérateurs <strong>de</strong> haut niveau sur les ensembles <strong>simpliciaux</strong> a plusieurs<br />

avantages. D’une part, cela nous perm<strong>et</strong> <strong>de</strong> simplifier la conception d’algorithmes<br />

complexes. Ainsi, l’algorithme d’<strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>surfaces</strong> peut s’écrire :<br />

D’autre part, ces opérateurs se révèlent relativement simples à implanter, ce qui<br />

améliore la lisibilité <strong>et</strong> la maintenabilité <strong>de</strong>s programmes réalisés.<br />

Sur l’exemple exposé sur les figures 7 <strong>et</strong> 8, le modèle comporte 1808 triangles <strong>et</strong><br />

présente 682 cas effectifs d’<strong>inter</strong><strong>section</strong>. La totalité du calcul nécessite 5 secon<strong>de</strong>s sur<br />

une station Sun Ultra 10. La majorité du temps <strong>de</strong> calcul est utilisée par la phase <strong>de</strong><br />

calcul <strong>de</strong>s <strong>inter</strong><strong>section</strong>s, le reste étant dédié au remaillage <strong>de</strong>s simplexes.


12 CFAO <strong>et</strong> informatique graphique. Volume 1 - n- 1/1<br />

Figure 8. un détail du modèle, avant <strong>et</strong> après maillage.<br />

5. Conclusion<br />

A partir <strong>de</strong> la théorie <strong>de</strong>s ensembles <strong>simpliciaux</strong>, nous apportons une nouvelle<br />

relation combinatoire perm<strong>et</strong>tant <strong>de</strong> représenter l’inclusion topologique <strong>de</strong> simplexes<br />

les uns dans les autres. C<strong>et</strong>te relation, utilisée en combinaison avec une hiérarchie<br />

d’ensembles <strong>simpliciaux</strong>, mène à la définition <strong>de</strong> la structure HESC.<br />

La structure HESC perm<strong>et</strong> <strong>de</strong> représenter <strong>de</strong>s <strong>surfaces</strong> triangulées, <strong>et</strong> <strong>de</strong> stocker<br />

toutes les informations topologiques <strong>et</strong> géométriques calculées au cours d’un algorithme<br />

d’<strong>inter</strong><strong>section</strong> <strong>de</strong> <strong>surfaces</strong>. La définition d’opérateurs <strong>de</strong> haut niveau sur les<br />

ensembles <strong>simpliciaux</strong> nous perm<strong>et</strong> <strong>de</strong> simplifier la conception d’un tel algorithme<br />

ainsi que son implantation.<br />

La poursuite du travail présenté dans c<strong>et</strong> article va s’orienter vers la mise en place<br />

d’une arithmétique précise pour les calculs géométriques, ainsi que vers la mise à<br />

profit <strong>de</strong>s informations combinatoires pour améliorer la robustesse <strong>de</strong> l’algorithme <strong>et</strong><br />

la cohérence du résultat.<br />

Remerciements<br />

Les auteurs tiennent à remercier les sponsors du consortium Gocad pour le soutien<br />

qu’ils apportent au proj<strong>et</strong>.


¡<br />

¢<br />

Ensemble <strong>simpliciaux</strong> <strong>et</strong> <strong>inter</strong><strong>section</strong> 13<br />

6. Bibliographie<br />

[AFT 97] AFTOSMIS M., BERGER M., MELTON J., Robust and Efficient<br />

Cartesian Mesh Generation For Component-Based Geom<strong>et</strong>ry , 35th<br />

AIAA Aerospace Sciences Me<strong>et</strong>ing, 1997, version PDF disponible sur<br />

[AGO 76] AGOSTON M., Algebraic Topology : A First Course - Pure and Applied Mathematics,<br />

Marcel Dekker, 1976.<br />

¢¤£¥£¦¨¥'&¥6¥'& %56 1-,¤5¤5 %'<br />

5<br />

£¤'/¦¥3¥! .'¥5£¤, "¦¥3¥!.'5¥£ , -¢¤£/. .<br />

[BOI 95] BOISSONAT J., YVINEC M., Géométrie Algorithmique, Ediscience <strong>inter</strong>national,<br />

1995.<br />

[BRI 89] BRISSON E., Representing Geom<strong>et</strong>ric Structures in d dimensions; topology and<br />

or<strong>de</strong>r , £¥¤§¦ Proc. ACM Symposium on Computational Geom<strong>et</strong>ry, Saarbrucken, G ermany,<br />

jun 1989, p. 187-196.<br />

[ELM 94] ELMARAGHY W., AL., Inter<strong>section</strong> of Volumes and Surfaces Areas of Cylin<strong>de</strong>rs<br />

for Geom<strong>et</strong>rical Mo<strong>de</strong>lling and Tolerancing , Computer Assisted Design, vol. 26, numero<br />

1, 1994, p. 29-45.<br />

[KRI 97] KRISHNAN S., MANOCHA D., An Efficient Surface Inter<strong>section</strong> Algorithm Based<br />

on Lower-Dimensional Formulation , ACM Transactions on Graphics, vol. 16, numero 1,<br />

1997, p. 74-106.<br />

[LAN 95] LANG V., LIENHARDT P., Geom<strong>et</strong>ric mo<strong>de</strong>ling with simplicial s<strong>et</strong>s , rapport numero95/06,<br />

1995, Université Louis Pasteur, LSIIT - URA CNRS 356.<br />

[LAN 96] LANG V., Une étu<strong>de</strong> <strong>de</strong> l’utilisation <strong>de</strong>s ensembles <strong>simpliciaux</strong> en modélisation<br />

géométrique <strong>inter</strong>active , PhD thesis, Université Louis Pasteur - Strasbourg, 1996.<br />

[LIE 91] LIENHARDT P., Topological mo<strong>de</strong>ls for boundary representation : a comparison<br />

with n-dimensional generalized maps , CAD, vol. 23, numero 1, 1991, p. 59-82.<br />

[LéV 99] LÉVY B., Topologie Algorithmique, Combinatoire <strong>et</strong> Plongement ,<br />

INPL, 1999.<br />

PhD thesis,<br />

[MAY 67] MAY J., Simplicial objects in algebraic topology, Van Nostrand, Princ<strong>et</strong>on, 1967.<br />

¢¤£¥£¦¨¥§¥¥1¤3©4&$3©¨§3 5 &'"¦5§¦ &61 ¢¤£/.<br />

[SHE 97] SHEWCHUK J. R., Adaptive Precision Floating-Point Arithm<strong>et</strong>ic and<br />

Fast Robust Geom<strong>et</strong>ric Predicates , Discr<strong>et</strong>e & Computational Geom<strong>et</strong>ry,<br />

vol. 18, numero 3, 1997, p. 305–363, version PostScript disponible sur<br />

.<br />

[WEI 86] WEILER K., The Radial Edge Structure: a Topological Representation for Non-<br />

Manifold Geom<strong>et</strong>ric Boundary Mo<strong>de</strong>ling , Proc. of the IFIG WG 5.2, may 1986.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!