HAL Id: hal-01789875
https://hal.archives-ouvertes.fr/hal-01789875
Submitted on 11 May 2018
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Génération de modeleurs géométriques à base topologique à l’aide de Jerboa
Hakim Belhaouari, Agnès Arnould
To cite this version:
Hakim Belhaouari, Agnès Arnould. Génération de modeleurs géométriques à base topologique à l’aide de Jerboa. GDR GPL, Jun 2014, Paris, France. 2014. �hal-01789875�
G ´en ´eration de modeleurs g ´eom ´etriques `a base topologique `a l’aide de Jerboa
Hakim Belhaouari et Agn `es Arnould Laboratoire XLIM-SIC – Universit ´e de Poitiers
Introduction
Jerboa est une suite d’outils d ´edi ´ee `a la g ´en ´eration de modeleurs
g ´eom ´etriques `a base topologique, utilisant les transformations de graphes.
Data Structure
JerboaModelerEditor Final
Application human
computer
Legend :
Jerboa library
Rules
Cette suite inclut :
I un ´editeur graphique de r `egles
I une librairie g ´en ´erique d’application des r `egles
I une interface graphique de base pour les modeleurs g ´en ´er ´es
Les r `egles Jerboa :
I Un langage `a base de r `egles de transformation de graphes qui offre la
s ´eparation des pr ´eoccupations (topologie, g ´eom ´etrie et propri ´et ´es physiques).
I Des conditions syntaxiques sur les r `egles garantissant la pr ´eservation de la coh ´erence des objets.
Mod ´elisation g ´eom ´etrique `a base topologique
Une structure topologique : les cartes g ´en ´eralis ´ees
Les cartes g ´en ´eralis ´ees sont des graphes dont les arcs sont ´etiquet ´es par les dimensions topologiques, et qui v ´erifient les 3 conditions de
coh ´erence topologique : de non orientation, d’arcs incidents, et de cycle.
Exemple de d ´ecomposition d’un objet 2D en cellules
topologique :
A
B C
D E
α
2α
2α
2α
2α
2α
2α
2α
2α
2α
2α
2α
2α
1α
1α
1α
1α
1α
1α
1d b
c
a
m n
l j
k i
g h
e f
α
0α
0α
0α
0α
0α
0α
0α
2α
2α
2α
2α
2α
2α
2α
2α
2α
2α
1α
2α
2α
1α
1α
1α
1α
1α
1Cellules topologiques et orbites
Une orbite Gho i(b ) est le sous-graphe de G produit `a partir du nœud b et des arcs ´etiquet ´es sur le type d’orbite o .
Exemple
d’orbites pour une carte
g ´en ´eralis ´e 2D :
Sommet
d b c
a
m n l
j
k
i g h
e f
hα 1 , α 2 i(e)
Ar ˆete
d b c
a
m n l
j
k
i g h
e f
hα 0 , α 2 i(e)
Face
d b c
a
m n l
j
k
i g h
e f
hα 0 , α 1 i(e)
Composante connexe
d b c
a
m n l
j
k
i g h
e f
hα 0 , α 1 , α 2 i(e)
G ´eom ´etrie et plongements
Les ´etiquettes des nœuds permettent d’associer aux orbites
topologiques, les informations g ´eom ´etriques et physiques de l’objet.
Plongements d’un objet 2D :
I point : hα 1 , α 2 i → point 2D
I color : hα 0 , α 1 i → color RGB
o `u point 2D et color RGB sont des types de
donn ´ees d ´efinies par l’utilisateur (structures de donn ´ees + op ´erations de manipulation).
A
B C
D E
d b
c
a
m n l
j
k
i g h
e f
A A
B B B B
C C C
C
D
D E
E
Op ´erations et r `egles de transformation
Les op ´erations topologiques et g ´eom ´etriques sont d ´efinies via des r `egles de transformation de graphes.
R `egle Jerboa et instanciation des variables topologiques Exemple de la triangulation d’une face.
<α0, _ >
a
Instantiation
des nœuds Motif droit complet
<α0, α1>
a
α1 <_ , α2> α0
b
<α1, α2>
point: expr c
a0
a5 a1
a2
a4 a3
a0 a1
a5 a2
a4 a3
b0 b1
b5
b4 b2
b3
c0 c1
c5 c2
c3 c4
a0
a5 a1 b0
a2
b1
b5
a4 a3
b4 b2
b3
c0 c1
c2 c5
c3 c4
Le nœud d’accroche `a gauche est instanci ´e par l’orbite du nœud filtr ´e (double-cercle).
Les instanciations des nœuds `a droite sont calcul ´es par renommage et suppression
des arcs de l’orbite filtr ´ee (association de couleur). Au final, le motif droit est obtenu en appliquant cette r `egle au nœud a0 sur une face triangulaire.
Application d’une r `egle
Un unique moteur permet l’instanciation et l’application de cette r `egle sur diff ´erents objets.
(1) (0)
(7) (2)
(3)
(4) (5)
(11)
(6) (13)
(8) (9)
(12) (10)
(0)
(1) (14)
(28) (2)
(3)
(26) (24)
(4) (5)
(11)
(22)
(13)
(20)
(6)
(7) (18)
(16)
(8) (9)
(12) (10)
(15) (17)
(29)
(19) (21)
(23) (25) (27)
L’ ´editeur de r `egles JerboaModelerEditor
L’ ´editeur de r `egles : Exemple d’erreur topologique :
Exemple d’absence de plongement :
V ´erifications :
I Syntaxe des r `egles.
I Conditions syntaxiques pour garantir la coh ´erence topologique (non-orientation, arcs incidents et cycle).
I D ´etection de l’incoh ´erence des plongements (omission ou fusion).
Comparaison au noyau de modeleur Moka
Repose sur des exemples d’objets variant jusqu’ `a 3 millions de nœuds.
Triangulation de toutes les faces :
<α0,α1,α2,α3>
n0
α1 α0
<α0,_,α2,α3>
n0
<_,α2,_,α3>
n1
<α1,α2,_,α3>
point: expr n2
Triangulation volumique :
<α0,α1,α2>
n0
α2 α1 α0
<α0,_,α3>
n1
<_,α2,α3>
n2
<α1,α2,α3>
point: expr n3
<α0,α1,_ >
n0
Exemples
Lissage Catmull-Clark
α3
<α0,α1,α2>
n1
α0
α3
α1
α3
α0
α3 α3
<_ , α1, α2>
point: Po...
n1
<_ , _ , α2>
point: Po...
n3
<α2, _ , _ >
point: Po...
n4
<α2, α1, _ >
point: va...
n5
Tapis de Sierpinski
Structure fractale de dimension 2
<α0,α1,α2>
a
α0
α1
α0
α2
α1
α0
α2
α1
α2
<_, α1, α2>
a
<_ , _ , α2>
point: va...
b
<_ , _ , _ >
point: va...
c
<_ , _ , _ >
color: va...
point: va...
d
<α0, _ , α2>
point: va...
color: va...
e
<_ , α1, _ >
point: Po...
f
<_ , _ , _ >
color: va...
point: Po...
g <α0, _ , _ >
color: va...
point: Po...
h