200
De la g´ eom´ etrie algorithmique au calcul g´ eom´ etrique l’exemple de la triangulation de Delaunay efinition, propri´ et´ ees, premiers algorithmes

Delaunay Generalites Od

  • Upload
    jhdmss

  • View
    31

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Delaunay Generalites Od

De la geometrie algorithmique

au calcul geometrique

l’exemple

de la triangulation de Delaunay

Definition, proprietees, premiers algorithmes

Page 2: Delaunay Generalites Od

Geometrie algorithmique

Probleme geometrique

Analyse des performances

Borne inferieureBorne superieureComplexite asymptotique

Analyse dans le cas le pireAnalyse en moyenne

Page 3: Delaunay Generalites Od

Definition de

la triangulation de Delaunay

Page 4: Delaunay Generalites Od

L’exemple

Page 5: Delaunay Generalites Od

L’exemplerecherche de plus proche voisin

Page 6: Delaunay Generalites Od

L’exemplerecherche de plus proche voisin

Page 7: Delaunay Generalites Od

L’exemplerecherche de plus proche voisin

Page 8: Delaunay Generalites Od

L’exemplerecherche de plus proche voisin

Page 9: Delaunay Generalites Od

L’exemplerecherche de plus proche voisin

Page 10: Delaunay Generalites Od

Voronoı L’exemplerecherche de plus proche voisin

Page 11: Delaunay Generalites Od

Voronoı L’exemple

Page 12: Delaunay Generalites Od

Voronoı

Delaunay

L’exemple

Page 13: Delaunay Generalites Od

Voronoı

Delaunay

Le probleme emblematique de la geometrie algorithmique

L’exemple

Page 14: Delaunay Generalites Od

Voronoı

Probleme du plus proche voisin

Page 15: Delaunay Generalites Od

Voronoı

Probleme du plus proche voisin

Page 16: Delaunay Generalites Od

Voronoı

Probleme du plus proche voisin

Page 17: Delaunay Generalites Od

Voronoı

Probleme du plus proche voisin

Cellule de Voronoı

Vi = q;∀j 6= i|qpi| ≤ |qpj|

Page 18: Delaunay Generalites Od

LA propriete de

la triangulation de Delaunay

Page 19: Delaunay Generalites Od

Voronoı

Page 20: Delaunay Generalites Od

Voronoı

Propriete du cercle vide

Page 21: Delaunay Generalites Od

Voronoı

Propriete du cercle vide

Delaunay

Page 22: Delaunay Generalites Od

Voronoı

Propriete du cercle vide

Delaunay

Page 23: Delaunay Generalites Od

Quelques applications de

la triangulation de Delaunay

Page 24: Delaunay Generalites Od

graphe des plus proche voisins

Applications “theoriques”

Page 25: Delaunay Generalites Od

graphe des plus proche voisins

p

q

Applications “theoriques”

q plus proche voisin de p

alors pq arete de Delaunay

Page 26: Delaunay Generalites Od

graphe des plus proche voisins

Applications “theoriques”

Page 27: Delaunay Generalites Od

Applications “theoriques”

plus grand cercle vide

Page 28: Delaunay Generalites Od

Applications “theoriques”

plus grand cercle vide

Page 29: Delaunay Generalites Od

Recherche a rayon fixe

Applications “theoriques”

Page 30: Delaunay Generalites Od

Recherche a rayon fixe

Applications “theoriques”

Page 31: Delaunay Generalites Od

Recherche a rayon fixe

Applications “theoriques”

Page 32: Delaunay Generalites Od

Arbre couvrant de longueur minimale

Applications “theoriques”

Page 33: Delaunay Generalites Od

Arbre couvrant de longueur minimale

Applications “theoriques”

Page 34: Delaunay Generalites Od

Applications

Reconstruction

Page 35: Delaunay Generalites Od

Applications

Maillage

Reconstruction

Page 36: Delaunay Generalites Od

Applications

Maillage / Remaillage

Reconstruction

Page 37: Delaunay Generalites Od

Applications

Maillage / Remaillage

Reconstruction

Page 38: Delaunay Generalites Od

Applications

Maillage / Remaillage

Reconstruction

Plainfication de trajectoires

Page 39: Delaunay Generalites Od

Proprietes de

la triangulation de Delaunay

Page 40: Delaunay Generalites Od

Relation d’Euler

c: nombre de cellules (inclus ∞)

a: nombre d’aretes

n: nombre de sommets

n− a + s = 2

Page 41: Delaunay Generalites Od

Relation d’Euler

c: nombre de cellules (inclus ∞)

a: nombre d’aretes

n: nombre de sommets

1− 3 + 3 = 2

n− a + s = 2

Page 42: Delaunay Generalites Od

Relation d’Euler

c: nombre de cellules (inclus ∞)

a: nombre d’aretes

n: nombre de sommets

n− a + s = 2

0− 1 + 1 = 0

Page 43: Delaunay Generalites Od

Relation d’Euler

c: nombre de cellules (inclus ∞)

a: nombre d’aretes

n: nombre de sommets

n− a + s = 2

1− 1 + 0 = 0

Page 44: Delaunay Generalites Od

Nombre d’aretes orienteesdans une triangulation

2a = 3c + k

k: taille cellule ∞

Page 45: Delaunay Generalites Od

Relation d’Euler

c− a + n = t + 1− a + n = 2

Triangulation

2a = 3t + k

t = 2n− 2− k

a = 3n− 3− k

Page 46: Delaunay Generalites Od

Propriete : le plus petit angle est maximal

Page 47: Delaunay Generalites Od
Page 48: Delaunay Generalites Od
Page 49: Delaunay Generalites Od
Page 50: Delaunay Generalites Od
Page 51: Delaunay Generalites Od
Page 52: Delaunay Generalites Od

Maximise dans l’ordre lexicographique

Page 53: Delaunay Generalites Od

Optimalite locale vs globale

locallementDelaunay

mais pas globalementDelaunay

Page 54: Delaunay Generalites Od

Theoreme

Localement Delaunay partout

Globalement Delaunay

⇐⇒

Page 55: Delaunay Generalites Od

Demonstration:

Page 56: Delaunay Generalites Od

Demonstration:

Soit t localement mais pas globalement Delaunay

Page 57: Delaunay Generalites Od

Demonstration:

Soit t localement mais pas globalement Delaunay

Page 58: Delaunay Generalites Od

Demonstration:

Soit t localement mais pas globalement Delaunay

Page 59: Delaunay Generalites Od

Demonstration:

Soit t localement mais pas globalement Delaunay

Page 60: Delaunay Generalites Od

Demonstration:

Soit t localement mais pas globalement Delaunay

Comme le nombre de points est fini

Page 61: Delaunay Generalites Od

Optimalite locale et plus petit angle

Cas de 4 points

Page 62: Delaunay Generalites Od

Optimalite locale et plus petit angle

Cas de 4 points

Lemme:Pour 4 points en position convexeDelaunay ⇐⇒ maximise le plus petit angle

Page 63: Delaunay Generalites Od

Optimalite locale et plus petit angle

Cas de 4 points

δ

δ le plus petit angle

Page 64: Delaunay Generalites Od

Optimalite locale et plus petit angle

Cas de 4 points

pq

rs

δ

δ

≤ δ

Page 65: Delaunay Generalites Od

TheoremeDelaunay ⇐⇒ maximise le plus petit angle

Optimalite locale et plus petit angle

Demonstration:

Page 66: Delaunay Generalites Od

TheoremeDelaunay ⇐⇒ maximise le plus petit angle

Triangulation max pour ordre des angles

Optimalite locale et plus petit angle

Demonstration:

Page 67: Delaunay Generalites Od

TheoremeDelaunay ⇐⇒ maximise le plus petit angle

Triangulation max pour ordre des angles

=⇒ Max dans chaque quadrilatere

Optimalite locale et plus petit angle

Demonstration:

Page 68: Delaunay Generalites Od

TheoremeDelaunay ⇐⇒ maximise le plus petit angle

Triangulation max pour ordre des angles

=⇒ Max dans chaque quadrilatere

=⇒ localement Delaunay

Optimalite locale et plus petit angle

Demonstration:

Page 69: Delaunay Generalites Od

TheoremeDelaunay ⇐⇒ maximise le plus petit angle

Triangulation max pour ordre des angles

=⇒ Max dans chaque quadrilatere

=⇒ localement Delaunay

=⇒ globalement Delaunay

Optimalite locale et plus petit angle

Demonstration:

Page 70: Delaunay Generalites Od

Predicats pour

la triangulation de Delaunay

Page 71: Delaunay Generalites Od

Algorithmes geometriques

Prendre des decisionsrepose sur des predicats geometriques

Entree de taille constante

Sortie discrete (signe)

Predicats

Page 72: Delaunay Generalites Od

Predicats

Predicat d’orientation

∣∣∣∣∣∣∣∣xq − xp xr − xp

yq − yp yr − yp

∣∣∣∣∣∣∣∣

p

q

r

p

q

r

0

p

q

r+

Page 73: Delaunay Generalites Od

Predicats

Predicat de cocyclicite

∣∣∣∣∣∣∣∣xq − xp xr − xp xs − xp

yq − yp yr − yp ys − yp

(xq−xp)2+(yq−yp)

2 (xr−xp)2+(yr−yp)

2 (xs−xp)2+(ys−yp)

2

∣∣∣∣∣∣∣∣

p

q r

s

Page 74: Delaunay Generalites Od

Π : x2 + y2 = z

Page 75: Delaunay Generalites Od

p = (xp, yp)

p? = (xp, yp, x2p + y2

p)

Page 76: Delaunay Generalites Od

C : x2 + y2 − 2ax− 2by + c = 0

C† : z − 2ax− 2by + c = 0

Page 77: Delaunay Generalites Od

p ∈ ∂C

p? ∈ C†

Page 78: Delaunay Generalites Od

p ∈ C

p? au dessous de C†

Page 79: Delaunay Generalites Od

p 6∈ C

p? au dessus de C†

Page 80: Delaunay Generalites Od

Predicat d’orientation 3D

Predicat de cocyclicite

Page 81: Delaunay Generalites Od

PredicatsPredicat : cercle le plus a droite p1

q1

r1 = p2

q2

r2

6 points

polynome de degre 24

Page 82: Delaunay Generalites Od

Predicats

Problemes de robustesse

Paradigme du calcul exact

Arithmetique arrondie

Pas de coherence entre les resultats arrondis

Page 83: Delaunay Generalites Od

Structures de donnees pour

la triangulation (de Delaunay)

Page 84: Delaunay Generalites Od
Page 85: Delaunay Generalites Od

Geometrie

(x, y)

Page 86: Delaunay Generalites Od

connectivite

Geometrie

(x, y)

Page 87: Delaunay Generalites Od

Representationbasee triangles

Page 88: Delaunay Generalites Od

Representationbasee triangles

triangle :

Page 89: Delaunay Generalites Od

Representationbasee triangles

trois sommets

triangle :

Page 90: Delaunay Generalites Od

Representationbasee triangles

trois sommets

triangle :

trois voisins

Page 91: Delaunay Generalites Od

Representationbasee triangles

trois sommets

triangle :

trois voisins

numerotation : voisin oppose au sommet

Page 92: Delaunay Generalites Od

Representationbasee triangles

sommet :

Page 93: Delaunay Generalites Od

Representationbasee triangles

sommet :x, yun triangle

Page 94: Delaunay Generalites Od

Representationbasee triangles

Page 95: Delaunay Generalites Od

Representationbasee triangles

tourner autour d’un sommet

Page 96: Delaunay Generalites Od

Representationbasee triangles

v

Page 97: Delaunay Generalites Od

Representationbasee triangles

v

t

t = v->triangle;

Page 98: Delaunay Generalites Od

Representationbasee triangles

v

t

t = v->triangle;

i tel que t->v[i] == v;

i

Page 99: Delaunay Generalites Od

Representationbasee triangles

v

t

t = v->triangle;

i tel que t->v[i] == v;

i

t = t->n[ i+1 mod 3 ];

i+1

Page 100: Delaunay Generalites Od

Representationbasee triangles

v

t

t = v->triangle;

i tel que t->v[i] == v;

i

t = t->n[ i+1 mod 3 ];

i+1

t

Page 101: Delaunay Generalites Od

Representationbasee triangles

Page 102: Delaunay Generalites Od

Representationbasee triangles

tourner dans l’autre sens

Page 103: Delaunay Generalites Od

Representationbasee triangles

v

Page 104: Delaunay Generalites Od

Representationbasee triangles

v

t

t = v->triangle;

Page 105: Delaunay Generalites Od

Representationbasee triangles

v

t

t = v->triangle;

i tel que t->v[i] == v;

i

Page 106: Delaunay Generalites Od

Representationbasee triangles

v

t

t = v->triangle;

i tel que t->v[i] == v;

i

t = t->n[ i-1 mod 3 ];

i-1

t

Page 107: Delaunay Generalites Od

Representationbasee (demi) aretes

Page 108: Delaunay Generalites Od

Representationbasee (demi) aretes

Page 109: Delaunay Generalites Od

Representationbasee (demi) aretes

twin

Page 110: Delaunay Generalites Od

Representationbasee (demi) aretes

next

Page 111: Delaunay Generalites Od

Representationbasee (demi) aretes

previous

Page 112: Delaunay Generalites Od

Representationbasee (demi) aretes

target

Page 113: Delaunay Generalites Od

Representationbasee (demi) aretes

face

Page 114: Delaunay Generalites Od

Representationbasee (demi) aretes

(x, y)

Page 115: Delaunay Generalites Od

Representationbasee (demi) aretes

Page 116: Delaunay Generalites Od

Representation

tourner autour d’un sommet

basee (demi) aretes

Page 117: Delaunay Generalites Od

Representation

v

basee (demi) aretes

Page 118: Delaunay Generalites Od

Representation

v e

e = v->edge;

basee (demi) aretes

Page 119: Delaunay Generalites Od

Representation

v e

e = v->edge;

e = e->twin->next->next;

basee (demi) aretes

Page 120: Delaunay Generalites Od

Representationbasee (demi) aretes

Page 121: Delaunay Generalites Od

Representation

tourner dans l’autre sens

basee (demi) aretes

Page 122: Delaunay Generalites Od

Representation

v

basee (demi) aretes

Page 123: Delaunay Generalites Od

Representation

v e

e = v->edge;

basee (demi) aretes

Page 124: Delaunay Generalites Od

Representation

v e

e = v->edge;

e = e->next->twin;

basee (demi) aretes

Page 125: Delaunay Generalites Od

Borne inferieure pour

la triangulation de Delaunay

Page 126: Delaunay Generalites Od

Borne inferieure pour Delaunay

Page 127: Delaunay Generalites Od

Borne inferieure pour Delaunay

Delaunay sert a trier

Page 128: Delaunay Generalites Od

Borne inferieure pour Delaunay

Delaunay sert a trier

Ω(n log n)

Page 129: Delaunay Generalites Od

Premiers algorithmes pour

la triangulation de Delaunay

Page 130: Delaunay Generalites Od

Algorithme incrementral

Page 131: Delaunay Generalites Od

Algorithme incrementral

Page 132: Delaunay Generalites Od

Algorithme incrementral

en conflit

Page 133: Delaunay Generalites Od

Algorithme incrementral

pas en conflit

Page 134: Delaunay Generalites Od

Algorithme incrementral

pas en conflit

Page 135: Delaunay Generalites Od

Algorithme incrementral

Page 136: Delaunay Generalites Od

Algorithme incrementral

Page 137: Delaunay Generalites Od

Trouver les triangles en conflit

Algorithme incrementral

Page 138: Delaunay Generalites Od

Algorithme incrementral

Page 139: Delaunay Generalites Od

Algorithme incrementral

Page 140: Delaunay Generalites Od

Supprimer les triangles en conflit

Algorithme incrementral

Page 141: Delaunay Generalites Od

Algorithme incrementral

Trianguler le trou

Page 142: Delaunay Generalites Od

Algorithme incrementral

Un nouveau triangle est de Delaunay

Page 143: Delaunay Generalites Od

Algorithme incrementral

Un nouveau triangle est de Delaunay

Page 144: Delaunay Generalites Od

Algorithme incrementral

Complexite

O(n) pour chaque insertion

O(n2)

Page 145: Delaunay Generalites Od

Algorithme incrementral

Complexite

O(n) pour chaque insertion

O(n2)

Ω(n2)

Page 146: Delaunay Generalites Od

Algorithme incrementral

Complexite

O(n) pour chaque insertion

O(n2)

Ω(n2)

Page 147: Delaunay Generalites Od

Algorithme incrementral

Page 148: Delaunay Generalites Od

Insertion

Algorithme incrementral

Page 149: Delaunay Generalites Od

Insertion

Algorithme incrementral

Page 150: Delaunay Generalites Od

Insertion

Algorithme incrementral

Page 151: Delaunay Generalites Od

Insertion

Algorithme incrementral

Page 152: Delaunay Generalites Od

Insertion

Strategies de localisation

Algorithme incrementral

Page 153: Delaunay Generalites Od

Insertion

Strategies de localisation

Tous

O(n)

Algorithme incrementral

Page 154: Delaunay Generalites Od

Insertion

Strategies de localisation

Marche rectiligne

O(√

n) en moyenne

Algorithme incrementral

Page 155: Delaunay Generalites Od

Insertion

Strategies de localisation

Marche par visibilite

Algorithme incrementral

Page 156: Delaunay Generalites Od

Insertion

Strategies de localisation

Marche par visibilite

Algorithme incrementral

Page 157: Delaunay Generalites Od

Insertion

Strategies de localisation

Marche par visibilite

O(√

n) ???? en moyenne

Algorithme incrementral

Page 158: Delaunay Generalites Od

Insertion

Strategies de localisation

Jump & walk

Algorithme incrementral

Page 159: Delaunay Generalites Od

Insertion

Strategies de localisation

Jump & walk

Algorithme incrementral

Page 160: Delaunay Generalites Od

Insertion

Strategies de localisation

Jump & walk

O( 3√

n) en moyenne

Algorithme incrementral

Page 161: Delaunay Generalites Od

Algorithme incrementral

Complexite

O(n2)

O(n√

n) en moyenne

O(n 3√

n) en moyenne

Page 162: Delaunay Generalites Od

Algorithme incrementral

Complexite

O(n2)

Ω(n2) dans le cas le pire

O(n√

n) en moyenne

O(n 3√

n) en moyenne

Page 163: Delaunay Generalites Od

Bascule de diagonales

Page 164: Delaunay Generalites Od

Bascule de diagonales

Page 165: Delaunay Generalites Od

Bascule de diagonales

Page 166: Delaunay Generalites Od

Bascule de diagonales

Page 167: Delaunay Generalites Od

Bascule de diagonales

Page 168: Delaunay Generalites Od

Complexite

Algorithme en O(n2)

Bascule de diagonales

Page 169: Delaunay Generalites Od

Complexite

Une arete basculee n’est

jamais reconstruite

(les nouvelles aretes

sont toujours dessous)

Algorithme en O(n2)

Bascule de diagonales

Page 170: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

Page 171: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

Localisation

Page 172: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

Page 173: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 174: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

OUI

Page 175: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 176: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

NON

Page 177: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 178: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

NON

Page 179: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 180: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

OUI

Page 181: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 182: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

NON

Page 183: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 184: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

NON

Page 185: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 186: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

OUI

Page 187: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 188: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

NON

Page 189: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 190: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

OUI

Page 191: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 192: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

NON

Page 193: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay ?Bascule ?

Page 194: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

LocalisationNon localement Delaunay

Bascule

NON

Page 195: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

OUI]

Page 196: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

OUI]

] aretes creees

Page 197: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

NON]

Page 198: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

NON]

] triangles crees

Page 199: Delaunay Generalites Od

Bascule de diagonales et algorithme incremental

O(degre( ))

Page 200: Delaunay Generalites Od

C’est tout pour aujourd’hui