Simplification et abstraction de dessins au trait Pascal Barla – Joëlle Thollot – François Sillion GRAVIR-IMAG-INRIA
Enoncé du problème Lignes : différentes sources Simplification Dessin scanné et numérisé Dessin numérique Extraction de contours Rendu non-photoréaliste (NPR) Simplification Moins de lignes Conserve la structure du dessin Dessin d’une main Rendu NPR [Grabli] Simplification et abstraction de dessins au trait
Enoncé du problème Différents contextes Cadre commun Tracé progressif Réduction de densité Niveaux de détail pour le NPR Cadre commun Indépendant du contexte e : échelle de simplification Pegasus [Ikagashi], outil de tracé progressif Rendu 3D hachuré, avec niveaux de détail [Praun] Simplification et abstraction de dessins au trait
Plan Travaux précédents Méthodologie Simplification Abstraction Structure d’e-ligne Simplification Abstraction Résultats Conclusion Simplification et abstraction de dessins au trait
Travaux précédents Dessin progressif Traitements de densité Indication libre [Baudel] contraint [Takashi] Traitements de densité végétaux en 3D [Deussen] espace image [Wilson][Grabli] Indication dessin partiel de textures complexes [Winkenbach] Outil de tracé progressif [Baudel] Gestion de la densité [Grabli] Indication de textures [Winkenbach] Simplification et abstraction de dessins au trait
Travaux précédents NPR : niveaux de détail Impression espace image peinture : Art Maps [Klein] hachures :TAMs [Praun] espace objet : WYSIWYG NPR [Kalnins] Impression hachures [Salisbury] Rendu NPR sous deux points de vue différents avec utilisation de niveaux de détail pour les hachures [Kalnins] Simplification et abstraction de dessins au trait
Plan Méthodologie Travaux précédents Simplification Abstraction Structure d’e-ligne Simplification Abstraction Résultats Conclusion Simplification et abstraction de dessins au trait
Les deux étapes de notre approche : simplification et abstraction Méthodologie e = échelle de simplification Cadre commun en 2 étapes Simplification Regroupement des lignes initiales Abstraction Génération des nouvelles lignes Les deux étapes de notre approche : simplification et abstraction Mettre ds methodologie Simplification et abstraction de dessins au trait
Méthodologie Simplification Abstraction Représente le dessin à l’échelle e Conserve la structure Groupe = e-ligne Abstraction Nouvelle ligne (l’) à l’intérieur d’un groupe (g) dHausdoff(l’,g) < e Nombreux ddl Deux lignes “espacées” de moins de e sont considérées comme une seule ligne Simplification et abstraction de dessins au trait
Structure d‘e-ligne Groupe = ligne dilatée par e Intuition : A gauche : Repliement KO A droite : OK Définition 2 e-extrémités 1 unique e-chemin Un exemple de groupe ne respectant pas la structure d’e-ligne (à gauche), et un autre qui la respecte (à droite) Simplification et abstraction de dessins au trait
Structure d‘e-ligne e-extrémité e-chemin 1 seul e-voisin e-voisin = intersection avec Be e-chemin pas de trou épaisseur groupe < e Une e-extremité a un unique e-voisin. Un e-chemin valide Pas d’e-chemin possible car le groupe contient un trou Pas d’e-chemin possible car le groupe est trop épais Simplification et abstraction de dessins au trait
Plan Simplification Travaux précédents Méthodologie Abstraction Structure d’e-ligne Simplification Abstraction Détails d’implémentation Résultats Conclusion Simplification et abstraction de dessins au trait
L’erreur d’un groupe correspond a son epaisseur 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
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
Une zone de recouvrement entre deux lignes 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 Erreur d’une paire de proxies erreur = dHausdorff sur ZR extensible Une zone de recouvrement entre deux lignes Simplification et abstraction de dessins au trait
Un ensemble de lignes et son graphe associé Simplification Graphe d’agglomération nœud = proxy arête = ZR 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 Un ensemble de lignes et son graphe associé Simplification et abstraction de dessins au trait
Plan Abstraction Travaux précédents Organisation Méthodologie Simplification Abstraction Résultats Conclusion Simplification et abstraction de dessins au trait
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 Une stratégie progressive par priorité : c’est la dernière ligne dessinée qui prime Simplification et abstraction de dessins au trait
Abstraction Applications tracé progressif : réduction de densité priorité appliqué itérativement réduction de densité interpolation Simplification et abstraction de dessins au trait
Plan Résultats Travaux précédents Organisation Méthodologie Simplification Abstraction Résultats Conclusion Simplification et abstraction de dessins au trait
Résultats Comportements attendus pile de lignes chaine de lignes Simplification et abstraction de dessins au trait
Résultats Applications mise à l’échelle tracé progressif Simplification et abstraction de dessins au trait
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
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
Merci. Des questions ? Simplification et abstraction de dessins au trait