C
offset(u) = C (u) + R.N (u)
S
offset(u, v) = S(u, v) + R.N (u, v)
315
Quatrième partie Maillages et
Surfaces de subdivision
Modélisation Géométrique 317
Maillages – Triangulation Modélisation sur des triangles
317
Généralités
• Un maillage recouvre de nombreuses réalités fortement dépendantes de l'application
– Différentes formes de maillage
– Triangles, quadrangles, hexagones, … – Tétraèdres, cubes, …
– Différentes propriétés
– Homogène, régulier, conforme, …
– Différentes applications
• Discrétisation pour le calcul (éléments finis, équations aux dérivées partielles)
• Approximation (d'objets plus complexes)
• Pavage de zones (planes, surfaciques, volumiques)
• Modèle en soi : surfaces de subdivision, …
• Tous les objets virtuels qui vous entourent relève d'un maillage
Modélisation Géométrique 319
Généralités
• Une grande diversité de problèmes
• De nombreux points communs
– Ce sont eux qui sont intéressants en dehors d'une application donnée
• Un maillage – Des points
– Des arêtes liant les points – Des figures géométriques
– Liant les arêtes pour faire des faces planes
– Liant les faces pour créer des objets géométriques (tétraèdres, cubes, simplexes, …)
– Des relations de voisinage et donc des structures de données décrivant l'ensemble
319
Généralités
• Une première grande différence : l'origine des points
• Les points sont donnés, mesurés, …
– Le maillage doit s'appuyer uniquement sur ces points
– Cas de la modélisation géométrique
• Les maillages de calcul
– L'utilisateur discrétise une structure donnée, un volume – Il peut mettre un point où il le souhaite
– En respectant la géométrie de la structure ou de l'espace – En respectant la logique de la physique ou de la mécanique
– Offre plus de facilité pour le choix des mailles
Modélisation Géométrique 321
Quelques définitions
• k-simplexe : dans un espace de dimension n, un k-simplexe (k<=n) est l'enveloppe convexe de k+1 points indépendants
– O-simplexe : 1 point
– 1-simplexe : segment ou arête – 2-simplexe : triangle
– 3-simplexe : tétraèdre
321
Quelques définitions
• Recouvrement (simplicial) : S un ensemble de points de le domaine borné par l'enveloppe convexe de S, est un
recouvrement au moyen de simplexes Ti (en nombre fini) – L'ensemble des sommets de est exactement S
– – –
• Complexe-simplicial: recouvrement simplicial où deux simplexes n'ont pas d'intersection ou se coupent suivant une p-face (p<k)
– Intersection : vide, 1 point, 1 arête, 1 triangle, ….
• Une triangulation est un 2-complexe simplicial – Tout peut se traiter en dimension k
€
Ω=Ti
Toi≠ ∅
Toi∩Toj=∅ i≠ j
ℜk, Ω Γ
Γ
Modélisation Géométrique 323
Quelques définitions
• Vite un exemple !
• On parle aussi de triangulation conforme ou non conforme
• Une triangulation est en ensemble de triangles dont – la réunion recouvre le domaine
– L'intersection de 2 triangles est vide, un point ou une arête
• Un triangulation est un graphe planaire ayant un maximum d'arêtes
323
Triangulation
• Une triangulation s'appuie sur des 2-simplexes
• 3D : tétraédrisation ou 3-complexe-simplicial
– On obtient une triangulation de la peau de l'objet en prenant les triangles du bord : Il s'agit d'une triangulation surfacique
• La triangulation s'appuie sur l'enveloppe convexe – Triangulation non contrainte
• Si la frontière est imposée on parle de triangulation contrainte
€
Ω
?
Modélisation Géométrique 325
Triangulation
• C'est la seule forme géométrique permettant de recouvrir n'importe quel domaine
– généralisable aux simplexes
• On explique en 2D et « on généralise » – Tout ne se généralise pas « facilement » – Perte de certaines propriétés
• Propriété fondamentale
– Il n'y a pas unicité de la triangulation
– Toutes les triangulations d'un même domaine
• Même nombre de triangles
• Même nombre de côtés
325
Triangulation: dénombrement
N points du plan, Nknombre de points sur l'enveloppe convexe
– Démonstration par récurrence
• N=3
• Vrai à l'ordre N, ajout du point N+1 – Point à l'intérieur de l'enveloppe
– Modification de l'enveloppe convexe
Toute triangulation de compte :
• Nt= 2(N-1) –Nktriangles
• Nc= 3(N-1) – Nkcôtés
€
Ω
€
Ω
k points
Modélisation Géométrique 327
Triangulation: dénombrement
• Ordre de grandeur : N points, de l'ordre de 2N triangles
• Dénombrement : généralisation NFpoints frontaliers
NFEfrontières externes (composantes connexes) NFIfrontières internes (trous)
• Nt= 2(N+NFI-NFE) –NFtriangles
• Nc= 3(N+NFI-NFE) – NFcôtés
NF= (5+3+4) + (4+5) = 21 (=N) NFE=2, NFI=3
Nt= 23 Nc=45 327
Triangulation de Delaunay
• LA triangulation utilisée !
– Se gère aussi avec des simplexes en dimensions supérieures
• Critère intuitif de choix
• Critère objectif – Rapport h/r
– Critère de qualité d'une triangulation
– Intervient dans la majoration des erreurs d'interpolation
• Intérêt des triangles équilatéraux !
ou ?
Modélisation Géométrique 329
Triangulation de Delaunay
• Définition :
La triangulation de Delaunay est la triangulation qui maximise le minimum des angles de tous les triangles
– Critères précédents ….
• Triangulation unique sauf en cas de 4 points (ou plus) cocycliques
– Les plus petits angles interceptent les mêmes arcs …
• Différents moyens d'obtention :
– Ils sont équivalents (Lawson 1977) a1
a'1
a'2
a2
a'3
a3
a4
a'4
329
Triangulation de Delaunay et diagramme de Voronoï
• Voronoï : mathématicien russe de la fin du 19esiècle – Idée de partitionnement déjà utilisée par Descartes
Ensemble de n points Pidu plan P(généralisable en dimensions supérieures)
• Polygone de Voronoï de Pi: ensemble des points du plan P plus proche de Pique de tous les autres points Pj(i≠j)
• Diagramme de Voronoï : partitionnement réalisé par l'ensemble des polygones de Voronoï
€
Vi=
{
P∈ Π,∀j∈{1,...,n},i≠ j,d(P,Pi)≤d(P,Pj}
Pi Pj
Vi=
i≠j Eij
Vi d'intérieur non vide ViVj est soit vide
réduite à un point
réduite à une demi - droite ou un segment
Eij
Modélisation Géométrique 331
Triangulation de Delaunay et diagramme de Voronoï
Si on relie les points voisins, on obtient la triangulation de Delaunay de l'enveloppe convexe des points Pi
En prenant les médiatrices des triangles, on retrouve le diagramme de Voronoï. 3 médiatrices concourantes (centre du cercle circonscrit au triangle), sauf si 4 points
cocycliques (ou plus). Problèmes duaux
331
Triangulation de Delaunay et échange d'arêtes
• On parle souvent de « flip »
• Critère local du min-max de l'angle
angles min
Conduit à la triangulation de Delaunay Répéter
flip-possible = faux
Pour toutes les paires de triangles ayant un côté commun Critère min-max
Si (échange d'arêtes) alors flip-possible = vrai Finsi
Finpour
Modélisation Géométrique 333
Triangulation de Delaunay et critère du cercle
• Critères de la sphère en 3d
• Le cercle circonscrit de chaque triangle ne doit contenir aucun sommet de la triangulation
– Autre définition de la triangulation de Delaunay
• Origine
a=b
a b
a<b
a b
a>b a
b
333
Triangulation de Delaunay et critère du cercle
• Maximise l'angle le plus petit
• Attention, critère théorique simple
• En pratique, test très délicat pour les cas limites : dedans, sur ou dehors ?
– Seule partie de la triangulation travaillant sur des réels – Important travaux sur la robustesse de la procédure
a<b a
b
a>b
a b
a>b a
b
Modélisation Géométrique 335
• Plus de 3 points cocycliques
• Plus de 3 médiatrices concourantes
• Plus les points sont régulièrement espacés, plus il peut y avoir de points cocycliques !!!
– Démarche inadaptée ?
Triangulation de Delaunay et dégénérescence
335
Diviser pour régner
• Construction en n.log(n) du diagramme de Voronoï
• Subdivision récursive de l'ensemble des points – 2 parties « égales »
– Recherche des 2 diagrammes – Fusion des 2 diagrammes
• Intersections bien ordonnées de médiatrices
– Fin de la division : ensemble de 2 ou 3 points
• Nécessite évidemment un tri des points – A étudier en fonction de la valeur de n
• Optimal
– Si bien écrit …
Triangulation de Delaunay et algorithmes
Modélisation Géométrique 337
• Séparation en 2
• Construction récursive des 2 diagrammes
Triangulation de Delaunay et algorithmes
337
• Partir du bas (points bas des 2 enveloppes convexes)
• Remonter la suite des médiatrices jusqu'aux points hauts des enveloppes convexes)
Triangulation de Delaunay et algorithmes
Modélisation Géométrique 339
Algorithme d'insertion de Watson (1981)
• Initialiser la triangulation avec un triangle fictif
• Trianguler en insérant les points 1 par 1 dans la triangulation – Nouvelle triangulation intérieure au triangle
• Supprimer toutes les connexions avec le triangle fictif
• Obtention de la triangulation de l'enveloppe convexe
Triangulation de Delaunay et algorithmes
339
Algorithme d'insertion : insertion d'un point
• Soit Ti-1. Insertion du point Pi
• Recherche du polygone d'insertion du point Pi
– Réunion des triangles ne respectant par le critère du cercle – Polygone étoilé par rapport à Pi
Triangulation de Delaunay et algorithmes
Ti-1
Modélisation Géométrique 341
Triangulation de Delaunay et algorithmes
Algorithme d'insertion : insertion d'un point
• Polygone d'insertion du point Pi
– Polygone étoilé par rapport à Pi
– Suppression des arêtes internes – remplacement par les arêtes issues de Pi
• Obtention de Ti
Ti
341
Frontières intérieures
• Contraindre la triangulation à s'appuyer sur une ligne qui pourrait disparaître suivant la discrétisation
– Respecter une ligne connue de crête ou de ravin
– Permettre d'imposer une condition le long d'une ligne fixée
• Ex : créer un modèle C1avec une ligne C0
• Perte locale du caractère Delaunay – Delaunay sous contraintes
– Swap (ou flip) d'arêtes
Triangulation de Delaunay et contraintes
Modélisation Géométrique 343
DCEL (Doubly-Connected Edge List)
• Il faut pouvoir
– Changer de triangle en tournant autour d'un point, le long d'une arête – Passer d'une arête à l'autre, ….
• Une liste de points – 3 réels par point
• Une liste de triangles – Trois pointeurs
• Une information de voisinage
– Deux sommets d'un même triangle sont voisins – 1 voisinage = 1 paire de voisins
• Rappel : n points àde l'ordre de 2n triangles
Structure de données
343
DCEL (Doubly-Connected Edge List)
Structure de données
Voisinage suivant autour de V2 (sens trigo) Voisinage suivant autour de V1 (sens trigo) Triangle de droite ou 0
Triangle de gauche ou 0 Pointeurs vers la liste de points
•Il faut rentrer dans la DCEL : chaque point pointe sur un voisinage
•Une faiblesse :
ne fonctionne que pour les surfaces orientables
•Dans le cas contraire, il faut prendre un modèle arêtes ailées
Modélisation Géométrique 345
Maillage sur un exemple
345
Lara Croft
• dfgfd
Modélisation Géométrique 347
Lara Croft
• La réalité
347
D'où viennent les points ?
• Rarement donnés à la main ! – Machine à mesurer 3D
• Très précis mais très lent – Les scanners laser
• Rapide, lignes de points
• Masse importante de données
• Bruit
– La photogrammétrie
• Matériel économique, mais traitements lourds
• Masse importante de données
• Bruit important
• Beaucoup trop de points – Beaucoup de bruit
Modélisation Géométrique 349
Les enjeux sur les triangulations
• Triangulations surfaciques
• Compresser
• Réparer
• Connecter
• Importance des courbures discrètes
349
Surfaces de subdivision
Modélisation Géométrique 351
Introduction
• Une surface de subdivision – Maillage initial
• Régulier ou irrégulier
– Des règles de subdivision
• Compatibles avec le maillage
• Nouveau maillage avec plus de points
• Conservation de points ou non
– Tend vers une surface de plus en plus « lisse »
– Les schémas utilisés convergent vers une surface continue
– Apparition en 1978 (Catmull-Clark) – Véritables avancées dans les années 90-95 351
Introduction
• Un ensemble organisé de points (organized) points
• Une simple formule pour calculer un nouveau ensemble de points
• Une texture sur le maillage – C'est (presque) tout …
i i i
i