Algorithme de flip pour les triangulations de segments
Transcription
Algorithme de flip pour les triangulations de segments
Algorithme de flip pour les triangulations de segments Mathieu Brévilliers Nicolas Chevallier Dominique Schmitt Laboratoire LMIA Université de Haute-Alsace Journées Informatique et Géométrie 2008 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 1 / 22 Triangulations d’ensembles de points Triangulation quelconque M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 2 / 22 Triangulations d’ensembles de points Triangulation quelconque Théorème Toute triangulation de S admet 2n − n′ − 2 faces et 3n − n′ − 3 arêtes, où n est le nombre de sites de S et n′ le nombre de côtés de l’enveloppe convexe de S. M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 2 / 22 Triangulations d’ensembles de points Triangulation de Delaunay M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 3 / 22 Triangulations d’ensembles de points Triangulation de Delaunay M. Brévilliers & al. (LMIA, UHA) Diagramme de Voronoï Algorithme de flip pour les TS JIG 2008 3 / 22 Algorithme de flip Triangulation quelconque ⇓ Modifications Locales ⇓ Triangulation de Delaunay M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 4 / 22 Algorithme de flip Triangulation quelconque ⇓ Modifications Locales ⇓ Triangulation de Delaunay 1 Comment savoir si la triangulation courante est de Delaunay ? 2 Quelles sont les modifications locales à effectuer ? M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 4 / 22 Légalité d’une arête M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 5 / 22 Légalité d’une arête M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 5 / 22 Légalité d’une arête Arête légale M. Brévilliers & al. (LMIA, UHA) Arête illégale Algorithme de flip pour les TS JIG 2008 5 / 22 Légalité d’une arête Arête légale Arête illégale Théorème La triangulation de Delaunay est l’unique triangulation sans arête illégale. M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 5 / 22 Algorithme de flip Triangulation quelconque ⇓ Modifications Locales ⇓ Triangulation de Delaunay 1 Comment savoir si la triangulation courante est de Delaunay ? 2 Quelles sont les modifications locales à effectuer ? M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 6 / 22 Modification locale Arête illégale M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 7 / 22 Modification locale Arête illégale M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 7 / 22 Modification locale Arête illégale M. Brévilliers & al. (LMIA, UHA) Arête légale Algorithme de flip pour les TS JIG 2008 7 / 22 Algorithme de flip pour les triangulations de points Mettre les arêtes internes dans une pile. Tant que la pile n’est pas vide : Dépiler une arête, Si l’arête est illégale : flipper l’arête, remettre dans la pile les quatre autres arêtes de la configuration locale. (si elles n’y sont pas déjà) M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 8 / 22 Le flip d’une arête fait baisser le relèvement M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 9 / 22 Triangulations de segments Triangulation de segments M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 10 / 22 Triangulations de segments Triangulation de segments S6 S7 S2 S5 S1 S3 S8 S4 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 10 / 22 Triangulations de segments Triangulation de segments S6 S7 Topologie S6 S2 S5 S1 S7 S3 S8 S5 S1 S3 S8 S4 M. Brévilliers & al. (LMIA, UHA) S2 S4 Algorithme de flip pour les TS JIG 2008 10 / 22 Triangulations de segments Triangulation de segments S6 S7 Topologie S6 S2 S5 S1 S7 S3 S8 S5 S1 S3 S8 S4 S4 M. Brévilliers & al. (LMIA, UHA) S2 Algorithme de flip pour les TS JIG 2008 10 / 22 Triangulations de segments Triangulation de segments S6 S7 Topologie S6 S2 S5 S1 S7 S3 S8 S5 S1 S3 S8 S4 S4 M. Brévilliers & al. (LMIA, UHA) S2 Algorithme de flip pour les TS JIG 2008 10 / 22 Triangulations de segments Triangulation de segments S6 S7 Topologie S6 S2 S5 S1 S7 S3 S8 S5 S1 S3 S8 S4 S4 M. Brévilliers & al. (LMIA, UHA) S2 Algorithme de flip pour les TS JIG 2008 10 / 22 Triangulations de segments Triangulation de segments S6 S7 Topologie S6 S2 S5 S1 S7 S3 S8 S5 S1 S3 S8 S4 M. Brévilliers & al. (LMIA, UHA) S2 S4 Algorithme de flip pour les TS JIG 2008 10 / 22 Triangulations de segments Triangulation de segments S6 S7 Topologie S6 S2 S5 S1 S7 S3 S8 S2 S5 S3 S8 S4 S1 S4 Théorème Toute triangulation de segments de S admet 2n − n′ − 2 faces et 3n − n′ − 3 arêtes, où n est le nombre de sites de S et n′ le nombre de côtés de l’enveloppe convexe de S qui ne sont pas des sites. M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 10 / 22 Triangulations de segments Triangulation de Delaunay de segments M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 11 / 22 Triangulations de segments Triangulation de Delaunay de segments M. Brévilliers & al. (LMIA, UHA) Diagramme de Voronoï de segments Algorithme de flip pour les TS JIG 2008 11 / 22 Algorithme de flip Triangulation de segments quelconque ⇓ Modifications Locales ⇓ Triangulation de Delaunay de segments 1 Comment savoir si la triangulation de segments courante est de Delaunay ? 2 Quelles sont les modifications locales à effectuer ? M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 12 / 22 Légalité d’une arête Exemple 1 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 13 / 22 Légalité d’une arête Exemple 1 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 13 / 22 Légalité d’une arête Exemple 1 M. Brévilliers & al. (LMIA, UHA) Arête légale Algorithme de flip pour les TS JIG 2008 13 / 22 Légalité d’une arête Exemple 1 Arête légale c d a b M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 13 / 22 Légalité d’une arête Exemple 1 Arête légale c a b M. Brévilliers & al. (LMIA, UHA) c d d a Algorithme de flip pour les TS b JIG 2008 13 / 22 Légalité d’une arête Exemple 1 Arête légale c c d d a b a b Exemple 2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 13 / 22 Légalité d’une arête Exemple 1 Arête légale c c d d a b a b Exemple 2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 13 / 22 Légalité d’une arête Exemple 1 Arête légale c a b a Exemple 2 M. Brévilliers & al. (LMIA, UHA) c d d b Arête illégale Algorithme de flip pour les TS JIG 2008 13 / 22 Légalité d’une arête Exemple 1 Arête légale c c d d a b a Exemple 2 d Arête illégale c d c a b M. Brévilliers & al. (LMIA, UHA) b b Algorithme de flip pour les TS a JIG 2008 13 / 22 Légalité d’une arête : cas particulier M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 14 / 22 Résultat Théorème Une triangulation de segments dont toutes les arêtes sont légales a la même topologie que la triangulation de Delaunay de segments. M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 15 / 22 Algorithme de flip Triangulation de segments quelconque ⇓ Modifications Locales ⇓ Triangulation de Delaunay de segments 1 Comment savoir si la triangulation de segments courante est de Delaunay ? 2 Quelles sont les modifications locales à effectuer ? M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 16 / 22 Modifications locales : première approche M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 17 / 22 Modifications locales : première approche M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 17 / 22 Modifications locales : première approche M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 17 / 22 Contre-exemple Triangulation initiale Triangulation de Delaunay e3 e1 e2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 18 / 22 Contre-exemple Triangulation initiale Triangulation de Delaunay e3 e1 e2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 18 / 22 Contre-exemple Triangulation initiale Triangulation de Delaunay e3 e1 e2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 18 / 22 Modifications locales Exemple 1 Exemple 2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 19 / 22 Algorithme de flip pour les triangulations de segments Mettre les arêtes internes dans une file. Tant que les arêtes de la triangulation courante ne sont pas toutes légales : Retirer la première arête de la file, Calculer la triangulation de Delaunay de segments à l’intérieur du polygone associé à l’arête, Ajouter la nouvelle arête obtenue à la fin de la file. M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 20 / 22 Exemple e3 e1 e2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple e3 e1 e2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple e3 e3 e3 e3 e2 e1 e1 e2 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple e3 e2 e1 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple e3 e3 e2 e2 e2 e1 e1 M. Brévilliers & al. (LMIA, UHA) e2 Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple e3 e2 e1 M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple e3 e3 e2 e2 e1 e1 M. Brévilliers & al. (LMIA, UHA) e1 e1 Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 21 / 22 Exemple M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 21 / 22 Conclusion Algorithme de flip pour les triangulations de segments. Le nombre d’étapes de l’algorithme est fini. Complexité difficile à estimer : l’algorithme traite même les arêtes légales, une arête peut être traitée plusieurs fois, une arête illégale n’est pas forcément immédiatement flippable, une arête légale peut être flippée, devenir illégale, et être à nouveau flippée quelques étapes plus tard pour redevenir légale. Perspectives : Meilleure gestion de la liste des arêtes à traiter, Optimalité de la triangulation de Delaunay de segments, Généralisation de l’ensemble des sites, Extension en dimension 3. M. Brévilliers & al. (LMIA, UHA) Algorithme de flip pour les TS JIG 2008 22 / 22