198
Enveloppe convexe

Enveloppe convexe - Inria

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Enveloppe convexe - Inria

Enveloppe convexe

Page 2: Enveloppe convexe - Inria

Enveloppe convexe

Page 3: Enveloppe convexe - Inria
Page 4: Enveloppe convexe - Inria

Point extremal

Page 5: Enveloppe convexe - Inria

Point extremal

Tangente, droite support

Page 6: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Page 7: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Le point le plus bas est extremal

Page 8: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Page 9: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Page 10: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Page 11: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Page 12: Enveloppe convexe - Inria

Premier algorithme : Jarvis

On trouve le suivant

Page 13: Enveloppe convexe - Inria

Premier algorithme : Jarvis

On trouve le suivantPuis le suivant

Page 14: Enveloppe convexe - Inria

Premier algorithme : Jarvis

On trouve le suivantPuis le suivant

Et ainsi de suite

Page 15: Enveloppe convexe - Inria

Premier algorithme : Jarvis

entree : S un ensemble de points.u = le point le plus bas de S;min = ∞Pour tout w ∈ S \ {u}

si angle(ux, uw) < min alors min = angle(ux, uw); v = w;u.suivant = v;Faire

S = S \ {v}Pour tout w ∈ S

min = ∞si angle(v.pred v, vw) < min alors

min = angle(v.pred v, vw); v.suivant = w;v = v.suivant;

Tant que v 6= u

Page 16: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Complexite ?

entree : S un ensemble de points.u = le point le plus bas de S;min = ∞Pour tout w ∈ S \ {u}

si angle(ux, uw) < min alors min = angle(ux, uw); v = w;u.suivant = v;Faire

S = S \ {v}Pour tout w ∈ S

min = ∞si angle(v.pred v, vw) < min alors

min = angle(v.pred v, vw); v.suivant = w;v = v.suivant;

Tant que v 6= u

Page 17: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Complexite ?

O(n)

entree : S un ensemble de points.u = le point le plus bas de S;min = ∞Pour tout w ∈ S \ {u}

si angle(ux, uw) < min alors min = angle(ux, uw); v = w;u.suivant = v;Faire

S = S \ {v}Pour tout w ∈ S

min = ∞si angle(v.pred v, vw) < min alors

min = angle(v.pred v, vw); v.suivant = w;v = v.suivant;

Tant que v 6= u

Page 18: Enveloppe convexe - Inria

O(n)

Premier algorithme : Jarvis

Complexite ?

entree : S un ensemble de points.u = le point le plus bas de S;min = ∞Pour tout w ∈ S \ {u}

si angle(ux, uw) < min alors min = angle(ux, uw); v = w;u.suivant = v;Faire

S = S \ {v}Pour tout w ∈ S

min = ∞si angle(v.pred v, vw) < min alors

min = angle(v.pred v, vw); v.suivant = w;v = v.suivant;

Tant que v 6= u

Page 19: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Complexite ?

entree : S un ensemble de points.u = le point le plus bas de S;min = ∞Pour tout w ∈ S \ {u}

si angle(ux, uw) < min alors min = angle(ux, uw); v = w;u.suivant = v;Faire

S = S \ {v}Pour tout w ∈ S

min = ∞si angle(v.pred v, vw) < min alors

min = angle(v.pred v, vw); v.suivant = w;v = v.suivant;

Tant que v 6= u

Page 20: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Complexite ?

entree : S un ensemble de points.u = le point le plus bas de S;min = ∞Pour tout w ∈ S \ {u}

si angle(ux, uw) < min alors min = angle(ux, uw); v = w;u.suivant = v;Faire

S = S \ {v}Pour tout w ∈ S

min = ∞si angle(v.pred v, vw) < min alors

min = angle(v.pred v, vw); v.suivant = w;v = v.suivant;

Tant que v 6= u O(n)

Page 21: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Complexite ?

entree : S un ensemble de points.u = le point le plus bas de S;min = ∞Pour tout w ∈ S \ {u}

si angle(ux, uw) < min alors min = angle(ux, uw); v = w;u.suivant = v;Faire

S = S \ {v}Pour tout w ∈ S

min = ∞si angle(v.pred v, vw) < min alors

min = angle(v.pred v, vw); v.suivant = w;v = v.suivant;

Tant que v 6= u

O(n2)

Page 22: Enveloppe convexe - Inria

Premier algorithme : Jarvis

Complexite ?

entree : S un ensemble de points.u = le point le plus bas de S;min = ∞Pour tout w ∈ S \ {u}

si angle(ux, uw) < min alors min = angle(ux, uw); v = w;u.suivant = v;Faire

S = S \ {v}Pour tout w ∈ S

min = ∞si angle(v.pred v, vw) < min alors

min = angle(v.pred v, vw); v.suivant = w;v = v.suivant;

Tant que v 6= u

O(nh)

Page 23: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Page 24: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Page 25: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Page 26: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Page 27: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Page 28: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Page 29: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Page 30: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 31: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 32: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 33: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 34: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 35: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 36: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 37: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 38: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 39: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 40: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 41: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 42: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 43: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 44: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 45: Enveloppe convexe - Inria

Deuxieme algorithme : Graham

Un point interieur

Tri autour de ce point

Parcours depuis le point le plus bas

Page 46: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : Graham

Page 47: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

Page 48: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

Page 49: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)

Page 50: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)O(1)

Page 51: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)O(1)

O(n)

Page 52: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)O(1)

O(n)

Page 53: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)O(1)

O(n)

Page 54: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)O(1)

O(n)

au plus n suppressions

Page 55: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)O(1)

O(n)

au plus n suppressions

Page 56: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)O(1)

O(n)

au plus n suppressions

au plus n fois

Page 57: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)O(1)

O(n)

O(n)

Page 58: Enveloppe convexe - Inria

entree : S un ensemble de points.origine = barycentre de 3 points de S;trier S autour de l’origine;u = le point le plus bas de S;v = u;tant que v.suivant 6= u

si (v, v.suivant, v.suivant.suivant) tourne a gauchev = v.suivant;

sinonv.suivant = v.suivant.suivant;si v 6= u v = v.precedent;

Deuxieme algorithme : GrahamComplexite

O(n log n)

Page 59: Enveloppe convexe - Inria

Variante: origine en y = −∞

Page 60: Enveloppe convexe - Inria

Variante: origine en y = −∞

Tri en x

Page 61: Enveloppe convexe - Inria

Variante: origine en y = −∞

Tri en x

Page 62: Enveloppe convexe - Inria

Variante: origine en y = −∞

Tri en x

Enveloppe superieure

Page 63: Enveloppe convexe - Inria

Variante: origine en y = −∞

Enveloppe superieure

A recoler avec l’enveloppe inferieure

Page 64: Enveloppe convexe - Inria

Autre algorithme par tri en x

Page 65: Enveloppe convexe - Inria

Autre algorithme par tri en x

Page 66: Enveloppe convexe - Inria

Autre algorithme par tri en x

Page 67: Enveloppe convexe - Inria

Autre algorithme par tri en x

Page 68: Enveloppe convexe - Inria

Autre algorithme par tri en x

Page 69: Enveloppe convexe - Inria

Autre algorithme par tri en x

Page 70: Enveloppe convexe - Inria

Autre algorithme par tri en x

Page 71: Enveloppe convexe - Inria

Autre algorithme par tri en x

Page 72: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

Autre algorithme par tri en x

Page 73: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

vu

Autre algorithme par tri en x

Page 74: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

vu

Autre algorithme par tri en xu

Page 75: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

vu

Autre algorithme par tri en xu

u

Page 76: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

vu

Autre algorithme par tri en x

w

Page 77: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

vu

Autre algorithme par tri en x

ww

Page 78: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

Autre algorithme par tri en x

ww

u

Page 79: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

Autre algorithme par tri en xComplexite

Page 80: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

Autre algorithme par tri en xComplexite

O(n log n)

Page 81: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

Autre algorithme par tri en x

Page 82: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

Autre algorithme par tri en xComplexite

Dessiner une arete dans la triangulation

Page 83: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

Autre algorithme par tri en xComplexite

Dessiner une arete dans la triangulationnb d’aretes ' 3n

Page 84: Enveloppe convexe - Inria

entree : S un ensemble de points.trier S en x;initier une liste circulaire avec les 3 points les plus a gauche

tel que u a droite et u, u.suivant, u.suivant tourne a gauche;Pour v le prochain en x

w=utant que (v, u, u.suivant) tourne a droite

u = u.suivant;v.suivant = u; u.pred = v;tant que (v, w, w.pred) tourne a gauche

w = w.pred;v.pred = w; w.suivant = v;u = v;

Autre algorithme par tri en xComplexite

O(n log n)

Page 85: Enveloppe convexe - Inria

Un algorithme division fusion

Page 86: Enveloppe convexe - Inria

Un algorithme division fusion

Page 87: Enveloppe convexe - Inria

Un algorithme division fusion

Page 88: Enveloppe convexe - Inria

Un algorithme division fusion

Tangentes communes

Page 89: Enveloppe convexe - Inria

Tangente superieure

Page 90: Enveloppe convexe - Inria

Tangente superieure

Points les plus hauts

Page 91: Enveloppe convexe - Inria

Tangente superieure

Page 92: Enveloppe convexe - Inria

Tangente superieure

Page 93: Enveloppe convexe - Inria

Tangente superieure

O(n)

Page 94: Enveloppe convexe - Inria

Un algorithme division fusion

Complexite

f (n) =

Page 95: Enveloppe convexe - Inria

Un algorithme division fusion

Complexite

f (n) = A · n + f (n2) + f (n

2)

Page 96: Enveloppe convexe - Inria

Un algorithme division fusion

Complexite

f (n) = A · n + f (n2) + f (n

2)

= O(n log n)

Page 97: Enveloppe convexe - Inria

Un algorithme division fusion

Complexite

f (n) = A · n + f (n2) + f (n

2)

= O(n log n)

Partition equilibre

Division et fusion en O(n)

(pretraitement O(n log n)

Page 98: Enveloppe convexe - Inria

Cas particulier : polygone simple

Page 99: Enveloppe convexe - Inria

Cas particulier : polygone simple

(deja vu : chaine polygonale monotone)

Page 100: Enveloppe convexe - Inria

Cas particulier : polygone simple

Graham marche pas

Page 101: Enveloppe convexe - Inria

Cas particulier : polygone simple

Graham marche pas

Page 102: Enveloppe convexe - Inria

Cas particulier : polygone simple

Graham marche pas

Page 103: Enveloppe convexe - Inria

Cas particulier : polygone simple

Graham marche pas

Page 104: Enveloppe convexe - Inria

Cas particulier : polygone simple

Graham marche pas

Page 105: Enveloppe convexe - Inria

Cas particulier : polygone simple

Graham marche pas

Page 106: Enveloppe convexe - Inria

Cas particulier : polygone simple

Graham marche pas

Page 107: Enveloppe convexe - Inria

Cas particulier : polygone simple

Graham marche pas

Page 108: Enveloppe convexe - Inria

Cas particulier : polygone simple

Page 109: Enveloppe convexe - Inria

Cas particulier : polygone simple

Principe : boucher les poches

Page 110: Enveloppe convexe - Inria

Cas particulier : polygone simple

Page 111: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

Page 112: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B

Page 113: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B C

Page 114: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B C

D

Page 115: Enveloppe convexe - Inria

Cas particulier : polygone simple

Page 116: Enveloppe convexe - Inria

Cas particulier : polygone simple

Page 117: Enveloppe convexe - Inria

Cas particulier : polygone simple

B

Page 118: Enveloppe convexe - Inria

Cas particulier : polygone simple

D

C

Page 119: Enveloppe convexe - Inria

Cas particulier : polygone simple

D

C

Page 120: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B

Page 121: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B

Page 122: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B

Page 123: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B

Page 124: Enveloppe convexe - Inria

Cas particulier : polygone simple

Page 125: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B C

D

Page 126: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B C

D

Page 127: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B C

D

Page 128: Enveloppe convexe - Inria

Cas particulier : polygone simple

A

B C

D

O(1)

Page 129: Enveloppe convexe - Inria

Cas particulier : polygone simple

O(n)

Page 130: Enveloppe convexe - Inria

Un algorithme incremental

Page 131: Enveloppe convexe - Inria

Un algorithme incremental

Page 132: Enveloppe convexe - Inria

Un algorithme incremental

Page 133: Enveloppe convexe - Inria

Un algorithme incremental

Page 134: Enveloppe convexe - Inria

Un algorithme incremental

Page 135: Enveloppe convexe - Inria

Un algorithme incremental

Page 136: Enveloppe convexe - Inria

Un algorithme incremental

Page 137: Enveloppe convexe - Inria

Un algorithme incremental

Page 138: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 139: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 140: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

selon la tangente a droite

Page 141: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

selon la tangente a droite

Page 142: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 143: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 144: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 145: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 146: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 147: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 148: Enveloppe convexe - Inria

Un algorithme incrementalUn decoupage du plan

Page 149: Enveloppe convexe - Inria

Un algorithme incremental

Page 150: Enveloppe convexe - Inria

Un algorithme incremental

Page 151: Enveloppe convexe - Inria

Un algorithme incremental

Page 152: Enveloppe convexe - Inria

Un algorithme incremental

Page 153: Enveloppe convexe - Inria

Un algorithme incremental

Page 154: Enveloppe convexe - Inria

Un algorithme incremental

Page 155: Enveloppe convexe - Inria

Un algorithme incremental

symetriquement

Page 156: Enveloppe convexe - Inria

Un algorithme incremental

Page 157: Enveloppe convexe - Inria

Un algorithme incremental

Page 158: Enveloppe convexe - Inria

Un algorithme incremental

Page 159: Enveloppe convexe - Inria

Un algorithme incremental

Page 160: Enveloppe convexe - Inria

Un algorithme incremental

Page 161: Enveloppe convexe - Inria

Un algorithme incremental

Complexite

Page 162: Enveloppe convexe - Inria

Un algorithme incremental

Complexite

Complexite d’un nœud

Page 163: Enveloppe convexe - Inria

Un algorithme incremental

Complexite

Complexite d’un nœud

O(1)

Page 164: Enveloppe convexe - Inria

Un algorithme incremental

Complexite

Complexite d’un nœud

O(1)

Arbre equilibre

Page 165: Enveloppe convexe - Inria

Un algorithme incremental

Complexite

Complexite d’un nœud

O(1)

Arbre equilibre

O(log n) par insertion

Page 166: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 167: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 168: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 169: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 170: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 171: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 172: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 173: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 174: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 175: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 176: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 177: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 178: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 179: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 180: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 181: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 182: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 183: Enveloppe convexe - Inria

L’algorithme du paquet cadeau

Page 184: Enveloppe convexe - Inria

Algorithme division fusion

Page 185: Enveloppe convexe - Inria

Algorithme division fusion

Page 186: Enveloppe convexe - Inria

Algorithme division fusion

Page 187: Enveloppe convexe - Inria

Algorithme division fusion

Page 188: Enveloppe convexe - Inria

Algorithme division fusion

Page 189: Enveloppe convexe - Inria

Algorithme division fusion

Page 190: Enveloppe convexe - Inria

Algorithme division fusion

Page 191: Enveloppe convexe - Inria

Algorithme division fusion

Page 192: Enveloppe convexe - Inria

Algorithme division fusion

Page 193: Enveloppe convexe - Inria

Algorithme division fusion

Page 194: Enveloppe convexe - Inria

Algorithme division fusion

Page 195: Enveloppe convexe - Inria

Algorithme division fusion

Page 196: Enveloppe convexe - Inria

Algorithme division fusion

O(n)

Page 197: Enveloppe convexe - Inria

Algorithme division fusion

O(n)

O(n log n)

Page 198: Enveloppe convexe - Inria

C’est tout pour aujourd’hui