Académique Documents
Professionnel Documents
Culture Documents
Frederic Boudon
frederic.boudon@cirad.fr
• Les arêtes
• Définies par 2 sommets
• Les faces
• Définies par n sommets
• Ou définies par n arêtes
• Les cellules …
l Dualité
l Fermeture
l 2-manifold
l Orientabilité
l Formule d'Euler
Dualité
Chaque entité du maillage primal de dimension k est remplacé par
une entité de dimension (2-k) dans le maillage dual:
Dualité
Chaque entité du maillage primal de dimension k est remplacé par
une entité de dimension (2-k) dans le maillage dual:
•Chaque face remplacée par un sommet avec pour coordonnées le
barycentre de la face
Dualité
roseline.beniere@c4w.com 7
Fermeture
bord.
l Tous les maillages manifold ne sont pas orientables. Les plus connus
sont le ruban de Möbius et la bouteille de Klein.
S - A + F = X = 2 (1-g)
S : nombre de sommets,
A : nombre d'arêtes
F : nombre de faces.
S - A + F = X = 2 (1-g)
Formule d'Euler-Poincaré (1752)
Solide platoniciens
Tétrahèdre : 4 – 6 +4 = 2
Hexaèdre (cube) : 8 – 12 +6 = 2
Octaèdre : 6 – 12 + 8 = 2
Dodécaèdre : 20 – 30 + 12 = 2
Isocaèdre : 12 – 30 + 20 = 2
Formule d'Euler-Poincaré (1752)
n Indépendant de la tesselation
Représentation des maillages pour leur
manipulation
• Arêtes ailées
• Demi arêtes
• Cartes combinatoires
• Cartes généralisées
Représentation de subdivisions volumiques
Volume de stockage 3
e
• Trois tableaux, 8 indices par arête a
c 2
1 3
8
Vert Demi-arêtes Face Demi-arêtes 5 7
A 8 f1 1 f4
B 10 f2 5 f1
f3 10 4
C 2 D
D 9 f4 4
2 9
10
11
Demi-arêtes vert face opposite head (tail)
6 f3
1 A f1 4 2 3
2 C f1 11 3 1 C
3 D f1 8 1 2 12 B
4 C f4 1 5 6
5 A f4 7 6 4
6 B f4 12 4 5
7 B f2 5 8 9
8 A f2 3 9 7
9 D f2 10 7 8
10 B f3 9 11 12
11 D f3 2 12 10
12 C f3 6 10 11
Half Edge [Weiler 85]
Half-edge
Parcours plus simple
• Split
Problème de la each: parcourir
navigation winged-edge
les arêtes data structure
d’une face : into 2;
advantage: FE, VE traversals do not require
“ifs” in code, consistent orientation
def edges_of_a_face(f): he1.head he2.tail
headleft headright he1.verthead
e0 = f.edge verthead
e = e0
while True:
e = e.head he1.face he2.face
faceleft
if e == e0: break faceright
verttail
he2.verthead
tailleft tailright he1.tail he2.head
• Exemple en 2D :
Représenter les cellules de l’objet avec uniquement les brins comme éléments
Obtention intuitive d’une carte combinatoire
• Brins
Intuitivement un brin peut être vu et être graphiquement représenté comme une «
portion » d'arête :
Opérateurs d'assemblage β1 et β2
Obtention intuitive d’une carte combinatoire
β1 : brin→brin suivant de la
même face
(1) p
n
<latexit sha1_base64="4S2fpPWqyE2T1M2i98Sdm1Zp0Lo=">AAAC63icjVHLLgRBFD3a+z1Y2lRMCIlMukXCRiJsLEkMEsOkqtXQUf1IdbWYiD+wsxNbP2DLf4g/4C/cKi3xiFCd7j517j2n6t4rMhXlxvefO7zOru6e3r7+gcGh4ZHRytj4Tp4WOpT1MFWp3hM8lypKZN1ERsm9TEseCyV3xem6je+eSZ1HabJt2pk8iPlxErWikBuimpWZRivVXCkm5llDntOBOcsICml4M5gVc4cZW2GiWan6Nd8t9hMEJaiiXJtp5QkNHCFFiAIxJBIYwgocOT37COAjI+4AF8RpQpGLS1xigLQFZUnK4MSe0veYdvslm9DeeuZOHdIpil5NSoZp0qSUpwnb05iLF87Zsr95XzhPe7c2/UXpFRNrcELsX7qPzP/qbC0GLSy7GiKqKXOMrS4sXQrXFXtz9qkqQw4ZcRYfUVwTDp3yo8/MaXJXu+0td/EXl2lZuw/L3AKv9pY04OD7OH+CnYVa4NeCrcXq6lo56j5MYgqzNM8lrGIDm6iT9xXu8YBHL/auvRvv9j3V6yg1E/iyvLs3zuSdEg==</latexit>
8b, 9p, 1 (b) = b (permutation) ;
n Une composante connexe d'une 2-carte (B, β1, β2) est l'ensemble des brins que l'on
peut obtenir à partir de l'un d'eux par application de β1 et β2 dans un ordre
quelconque.
b1
b4 b2
b3
b5 b9 b13
b7 b11 b14
Orbite
n Exemples :
¡ <β1 , β2>(b1) = ?
¡ <β1 , β2>(b12) = ?
b1
b4 b2
b3
b5 b9 b13
b7 b11 b14
Orbite
n Exemples :
¡ <β1 , β2>(b1) = b1,b2,b3,b4,b5,b6,b7,b8
¡ <β1 , β2>(b12) = b9,b10,b11,b12,b13,b14,b15
b1
b4 b2
b3
b5 b9 b13
b7 b11 b14
Obtention intuitive d’une carte combinatoire
• Cellules comme des orbites de brins suivant plusieurs relations (β1+β3 pour les faces)
• Définition hétérogène :
• Les relations sont toutes des involutions sauf β1 qui est une permutation
• Les sommets (0-cellules) sont représentés par des orbites différentes
• Exemple en 2D :
Brins
Intuitivement un brin peut être vu (et être graphiquement représenté) comme une
portion d'arête (ou une portion de sommet appartenant à une arête)
Opérateurs d'assemblage α0 et α1
¡ La relation α0 permet de relier deux brins entre eux pour former une arête.
α0
α0(b1) = b2
b1 b2 α0(b2) = b1
α0
α0 est une involution
¡ La relation α1 permet de relier deux arêtes entre elles.
α0 α1 α0
α1(b1) = b1
α1(b2) = b3 α1 α1
b1 b2 b3 b4
α1(b3) = b2 α0 α0
α1
α1(b4) = b4
α0 α1 α1 α0
α1 α1
α0 α1 α1 α0
Ici α1 ne possède pas de points fixes.
Cartes généralisées de dimension 2 ou 2-G-Cartes
Opérateur d'assemblage α2
α α α b2 α b4 α
2 2 2 2 2
α2
α2(b1) = b3
α2(b2) = b4
α2(b3) = b1
α2(b4) = b2
α2(b5) = b5 ....
Contraintes de coherence entre b1,b3 et b2,b4.
2-G-Cartes : Définition
8b 2 B, ↵0 ↵0 (b) = b ↵0 (b) 6= b
8b 2 B, ↵1 ↵1 (b) = b ↵1 (b) 6= b (1)
8b 2 B, ↵2 ↵2 (b) = b (2)
⇣ ⌘
8b 2 B, ↵0 ↵2 ↵0 ↵2 (b) =b (3)
2-G-Cartes : Définition
Dans ce qui suit nous utiliserons une notation graphique simplifée pour
les involutions α0, α1 et α2 :
¡ α0 :
¡ α1 :
¡ α2 : avec point fixe :
2-G-Cartes : Définition
9b 2 B | ↵0 (b) = b
2-G-Cartes : Définition
9b 2 B | ↵0 (b) = b
9b 2 B | ↵1 (b) = b
2-G-Cartes : Définition
9b 2 B | ↵0 ↵2 ↵0 ↵2 (b) 6= b
2-G-Cartes : Exemples
8 3 7 4
1 2
7 4 6 5
6 5
Exercice : Donner une 2-G-Carte représentant une subdivision d'une surface homéomorphe
à un anneau et composée de 2 faces de degré 8 (le degré d'une face est égal à son
nombre d'arêtes).
Exercice : Donner une 2-G-Carte représentant une subdivision d'une surface homéomorphe
à un anneau et composée de 2 faces de degré 8 (le degré d'une face est égal à son
nombre d'arêtes).
α0
α1
α2
2-G-Cartes : Exemples
n Exemple 3 : Subdivision de surface sans bords et orientable ; Surfaces homéomorphes à
un tore.
1 2 1
8 3 6 7 8
7 4 5 4 3
6 5 2
8 3
8 2
3
7 4 6
7
4
6 5
5
2-G-Cartes : Exemples
6 5 2 6 2
8 3
7 4
6 5
Exercice : Donner une 2-G-carte représentant une subdivision d'une surface homéomorphe à
une bouteille de klein et composée de 4 faces de degré 4.
Exercice : Donner une 2-G-carte représentant une subdivision d'une surface homéomorphe à
une bouteille de klein et composée de 4 faces de degré 4.
2-G-Cartes : Cellules et Orbites
Les n-cellules sont toujours représentées par des orbites selon plusieurs relations
1 2 9 10
8 3 16 11
7 4 15 12
6 5 14 13
2-G-Cartes : Cellules et Orbites
Les n-cellules sont toujours représentées par des orbites selon plusieurs relations
2 9
3 16
Les n-cellules sont toujours représentées par des orbites selon plusieurs relations
1 2 9 10
8 3 16 11
7 4 15 12
6 5 14 13
2-G-Cartes : Cellules et Orbites
Les n-cellules sont toujours représentées par des orbites selon plusieurs relations
3 16
4 15
Les n-cellules sont toujours représentées par des orbites selon plusieurs relations
1 2
8 3
7 4
6 5
Définition générale :
1 2 9 10
8 3 16 11
7 4 15 12
6 5 14 13
1 2 9 10
8 3 16 11
7 4 15 12
6 5 14 13
1 2 9 10
8 3 16 11
7 4 15 12
6 5 14 13
1 2 9 10
8 3 16 11
7 4 15 12
6 5 14 13
Le bord d'une 2-G-carte est constitué par l'ensemble des brins ayant un point fixe pour
l'involution α2. On parle de brins libres par α2.
B = b 2 B | ↵2 (b) = b
2-G-cartes : Bord
Le bord d'une 2-G-Carte G(B, α0, α1, α2) est défnie par la 1-G-Carte (B',α'0, α'1) où
¡ B' est un sous-ensemble de B réduit aux brins du bord (tels que α2(b) = b) ;
¡ α'0 est la restriction de α0 aux brins du bord ;
¡ α'1 est la restriction de α1◦α2 aux brins du bord ;
1 2
9
8 3 14
10
4 13
7
6 5 12 11
Le bord d'une 2-G-Carte G(B, α0, α1, α2) est défnie par la 1-G-Carte (B',α'0, α'1) où
¡ B' est un sous-ensemble de B réduit aux brins du bord (tels que α2(b) = b) ;
¡ α'0 est la restriction de α0 aux brins du bord ;
¡ α'1 est la restriction de α1◦α2 aux brins du bord ;
1 2
9
8 3 14
10
4 13
7
6 5 12 11
6 5 12 11
2-G-Cartes : Exercice
La 2-G-carte suivante est représentée par un tableau. Les brins sont numérotés de 1
à 16 et le tableau décrit les liens ( par exemple, la valeur 4 dans la case référencée
[α0, 3] indique que α0(3) = 4 ).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
α0 2 1 4 3 6 5 8 7 10 9 12 11 14 13 16 15
α1 8 3 2 5 4 7 6 1 16 11 10 13 12 15 14 9
α2 1 2 16 15 5 6 11 12 9 10 7 8 13 14 4 3
Questions :
● Donnez une représentation graphique de la 2-G-cartes ci-dessus.
● Indiquez à quelle surface connue la surface représentée par cette carte est
homéomorphe.
2-G-Cartes : Exercice
1 2
12 8 3 16
11 7 4 15
6 5
13 9
10 14
2-G-Cartes : Exercice
La 2-G-carte suivante est représentée par un tableau. Les brins sont numérotés de 1
à 16 et le tableau décrit les liens ( par exemple, la valeur 4 dans la case référencée
[α0, 3] indique que α0(3) = 4 ).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
α0 2 1 4 3 6 5 8 7 10 9 12 11 14 13 16 15
α1 8 3 2 5 4 7 6 1 16 11 10 13 12 15 14 9
α2 1 2 16 15 5 6 11 12 9 10 7 8 13 14 4 3
Questions :
● Donnez une représentation graphique de la 2-G-cartes ci-dessus.
● Indiquez à quelle surface connue la surface représentée par cette carte est
homéomorphe.
●
On fait les modifications suivantes : α2(3) = 3 ; α2(4) = 4 ;
α2(15) = 15 ; α2(16) = 16 ;
Opérateur d'assemblage α3
L'opérateur d'assemblage α3 permet d'assembler des volumes entre eux le long des
faces de leur bords.
Définition des 3-G-Cartes
8b 2 B, ↵0 ↵0 (b ) = b, ↵0 (b) 6= b
8b 2 B, ↵1 ↵1 (b ) = b, ↵1 (b) 6= b
8b 2 B, ↵2 ↵2 (b ) = b, ↵2 (b) 6= b (1)
8b 2 B, ↵3 ↵3 (b ) = b (2)
⇣ ⌘
8b 2 B, ↵0 ⇣↵2 ↵0 ↵2 (b) ⌘=b
8b 2 B, ↵0 ⇣↵3 ↵0 ↵3 (b) ⌘=b
8b 2 B, ↵1 ↵3 ↵1 ↵3 (b) =b (3)
3-G-Cartes : Définition
9b 2 B | ↵2 (b) = b
3-G-Cartes : Définition
n Du fait que α0◦α2, α0◦α3 et α1◦α3 soient des involutions, cela oblige à coudre les volumes
élémentaires pour tous les brins.
n Exemple de 3-G-carte (les liaisons α2 ne sont pas représentées)
Opération de Couture de face
n On détermine les brins de l’orbite qu’on lie par une relation α3.
Du fait que α0◦α2, α0◦α3 et α1◦α3 soient des involutions, on doit coudre par α3 tous les
brins de l’orbite <α0,α1> deux à deux.
Couture par αi des brins sur les orbites <α0,…αi-2, αi+2, …αn> de d et d’.
Propriétés des 3G-cartes
n On retrouve toutes les propriétés énoncées pour les 2-G-cartes, notamment les
notions de cellules et de bords.
n Une i-cellule incidente à un brin b est définie par l'ensemble des brins incidents à
l'orbite composée de toutes les involutions sauf αi.
n Le bord d'une 3-G-carte G(B, α0, α1, α2, α3) est définie par la 2-G-carte (B', α'0, α'1,
α'2) où
¡ B' est un sous-ensemble de B réduit aux brins du bord (tels que α3(b) = b)
n Plusieurs plongements géométriques possibles pour une même carte (topologie des objets)
n Plongement simple : 1 position géométrique par (groupe de) brin(s) associé à un sommet
Outil de base pour retrouver les orbites (et donc les cellules)
Outil de base pour retrouver les orbites (et donc les cellules)
Outil de base pour retrouver les orbites (et donc les cellules)
Exemple : parcours d’une face en 3D en utilisant le fait que α0◦α3 et α1◦α3 sont des involutions
+ =
n Opération inverse :
1 2 9 10
8 11
7 12
6 5 14 13
Suppression de cellules
1 2 9 10
8 3 16 11
7 4 15 12
6 5 14 13
Suppression de cellules
1 2 9 10
8 3 16 11
7 4 15 12
6 5 14 13
Suppression de cellules
1 2
8 3 16 9
7 4 15 12
6 5 14 13
Dualisation
1 2 9 10 1 2 9 10
8 3 16 11 8 3 16 11
7 4 15 12 7 4 15 12
6 5 14 13 6 5 14 13
1 2 9 10 1 2 9 10
8 3 16 11 8 3 16 11
7 4 15 12 7 4 15 12
6 5 14 13 6 5 14 13
1 2 9 10 1 2 9 10
8 3 16 11 8 3 16 11
7 4 15 12 7 4 15 12
6 5 14 13 6 5 14 13
n Cartes généralisées :
• Un des modèles B-Rep les plus intuitifs et concis en termes de définition
• Générique, pouvant représenter des objets en n-dimensions
• Implémentation relativement simple, quoique gourmande en mémoire
• Cellules de dimension 0, 1, 2, 3…
2
• Subdivision de R : partition en sommets, arêtes et cellules (surfaciques)
3
• Subdivision de R : partition en sommets, arêtes, faces et cellules
Topologie / Géométrie :
• Adjacence
• Incidence
• Plongement
Formule d'Euler-Poincaré (1752)
Tore: 0
Ruban de Möbius : 0
Bouteille de Klein : 0
Chanfreinage