Simplification et abstraction de dessins au trait Pascal
Simplification et abstraction de dessins au trait Pascal Barla – Joëlle Thollot – François Sillion GRAVIR-IMAG-INRIA Simplification et abstraction de dessins au trait
Enoncé du problème • Lignes : différentes sources – – Dessin scanné et numérisé Dessin numérique Extraction de contours Rendu non-photoréaliste (NPR) Dessin d’une main • Simplification – Moins de lignes – Conserve la structure du dessin Simplification et abstraction de dessins au trait Rendu NPR [Grabli] 2
Enoncé du problème • Différents contextes – Tracé progressif – Réduction de densité – Niveaux de détail pour le NPR Pegasus [Ikagashi], outil de tracé progressif • Cadre commun – Indépendant du contexte – e : échelle de simplification Simplification et abstraction de dessins au trait Rendu 3 D hachuré, avec niveaux de détail [Praun] 3
Plan • Travaux précédents • Méthodologie – Structure d’e-ligne • • Simplification Abstraction Résultats Conclusion Simplification et abstraction de dessins au trait 4
Travaux précédents • Dessin progressif – libre [Baudel] – contraint [Takashi] Outil de tracé progressif [Baudel] • Traitements de densité – végétaux en 3 D [Deussen] – espace image [Wilson][Grabli] Gestion de la densité [Grabli] • Indication – dessin partiel de textures complexes [Winkenbach] Simplification et abstraction de dessins au trait Indication de textures [Winkenbach] 5
Travaux précédents • NPR : niveaux de détail – espace image • peinture : Art Maps [Klein] • hachures : TAMs [Praun] – espace objet : • WYSIWYG NPR [Kalnins] • Impression – hachures [Salisbury] Simplification et abstraction de dessins au trait Rendu NPR sous deux points de vue différents avec utilisation de niveaux de détail pour les hachures [Kalnins] 6
Plan • Travaux précédents • Méthodologie – Structure d’e-ligne • • Simplification Abstraction Résultats Conclusion Simplification et abstraction de dessins au trait 7
Méthodologie • e = échelle de simplification • Cadre commun en 2 étapes Les deux étapes de notre approche : simplification et abstraction – Simplification • Regroupement des lignes initiales – Abstraction • Génération des nouvelles lignes Simplification et abstraction de dessins au trait 8
Méthodologie • Simplification – Représente le dessin à l’échelle e – Conserve la structure • Groupe = e-ligne • Abstraction – Nouvelle ligne (l’) à l’intérieur d’un groupe (g) – d. Hausdoff(l’, g) < e – Nombreux ddl Simplification et abstraction de dessins au trait Deux lignes “espacées” de moins de e sont considérées comme une seule ligne 9
Structure d‘e-ligne • Groupe = ligne dilatée par e • Intuition : × A gauche : • Repliement • KO üA droite : • OK • Définition Un exemple de groupe ne respectant pas la structure d’e-ligne (à gauche), et un autre qui la respecte (à droite) – 2 e-extrémités – 1 unique e-chemin Simplification et abstraction de dessins au trait 10
Structure d‘e-ligne • e-extrémité – 1 seul e-voisin – e-voisin = intersection avec Be • e-chemin Une e-extremité a un unique e-voisin. – pas de trou – épaisseur groupe < e Un e-chemin valide Pas d’e-chemin possible car le groupe contient un trou Simplification et abstraction de dessins au trait Pas d’e-chemin possible car le groupe est trop épais 11
Plan • Travaux précédents • Méthodologie – Structure d’e-ligne • Simplification • • Abstraction Détails d’implémentation Résultats Conclusion Simplification et abstraction de dessins au trait 12
Simplification • Lignes quelconques – échantillonnage • Création d’une partition – algorithme glouton • Itératif sur paires de ligne – erreur d’un groupe = épaisseur L’erreur d’un groupe correspond a son epaisseur Simplification et abstraction de dessins au trait 13
Simplification • Proxy – – Ligne représentant un groupe de lignes Séquence de points + épaisseur Ligne initiale = proxy d’épaisseur 0 Erreur = épaisseur max Un proxy stocke une épaisseur en chaque point qui représente localement un groupe de lignes Simplification et abstraction de dessins au trait 14
Simplification • Structure d’une paire de proxies – Zone de recouvrement (ZR) – Détection d’un e-chemin • paires de pts à dist < e • 1 pt sur chaque proxy – OK si #e-extrémités = 2 Une zone de recouvrement entre deux lignes • Erreur d’une paire de proxies – erreur = d. Hausdorff sur ZR – extensible Simplification et abstraction de dessins au trait 15
Simplification • Graphe d’agglomération – nœud = proxy – arête = ZR Un ensemble de lignes et son graphe associé • Algo de contraction d’arêtes – Contraction de l’arête d’erreur min • Nouveau noeud Nagg – Mise à jour des arêtes incidentes à Nagg – Jusqu’à plus d’arête Simplification et abstraction de dessins au trait 16
Plan • • Travaux précédents Organisation Méthodologie Simplification • Abstraction • Résultats • Conclusion Simplification et abstraction de dessins au trait 17
Abstraction • Pas de perte d’information après simplification • Stratégies – progressive / post-traitement – interpolation / priorité – Lissage • Exemples : Une stratégie en post-traitement : on crée des lignes rectilignes à l’interieur du groupe Simplification et abstraction de dessins au trait Une stratégie progressive par priorité : c’est la dernière ligne dessinée qui prime 18
Abstraction • Applications – tracé progressif : • priorité • appliqué itérativement – réduction de densité • interpolation Simplification et abstraction de dessins au trait 19
Plan • • • Travaux précédents Organisation Méthodologie Simplification Abstraction • Résultats • Conclusion Simplification et abstraction de dessins au trait 20
Résultats • Comportements attendus – pile de lignes – chaine de lignes Simplification et abstraction de dessins au trait 21
Résultats • Applications – mise à l’échelle – tracé progressif Simplification et abstraction de dessins au trait 22
Conclusion • Cadre de travail • Algorithme modulaire – adaptable à différents contextes • 2 applications simples – tracé progressif – mise à l’échelle Simplification et abstraction de dessins au trait 23
Conclusion • Travaux futurs – enrichir les applications • nouvelles fonctionnalités • erreur incorporant d’autres données – nouvelle application : niveaux de détail NPR – Analyse de l’algorithme • optimalité • choix d’une partition Simplification et abstraction de dessins au trait 24
Merci. Des questions ? Simplification et abstraction de dessins au trait 25
- Slides: 25