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
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.