Cette proposition s'inscrit dans une vision globale du problème de l'intégration de l'outil informatique dans des processus créatifs, depuis l'environnement physique jusqu'à l'interprétation des entrées de l'utilisateur (le dessin). Dès lors, relever toutes les contraintes qu'imposent les systèmes actuels paraît la parade «idéale» et évidente à leurs limitations. Mais chaque contrainte éliminée soulève un problème, soit au niveau du noyau fonctionnel de modélisation 3D (contrainte de vue), soit au niveau de l'interaction et des traitements du dessin (contraintes de sémantique et de qualité du dessin):
À ces problèmes, nous proposons les solutions suivantes, issues de travaux antérieurs ou implications directes des résultats de notre étude.
D'un point de vue visuel il nous semble important de replacer l'utilisateur dans un environnement
proche de celui auquel il est habitué, pour ne pas retomber dans les écueils des interfaces dites
«standard». Il faut pour cela reproduire cet environnement (espace de travail optimisé, traits
de crayon, grain de papier, etc.) en y introduisant des interactions adaptées aux activités de la
tâche, mais sans omettre d'y incorporer les valeurs ajoutées que peut proposer un système
informatique. Or, c'est encore une fois un problème bien connu des boîtes à outils graphiques «
standard» qui par un souci de généralisation ne permettent que très peu d'innovations dans la
conception d'interfaces, d'interactions avancées et de composants graphiques adaptés à une tâche
précise.
Nous proposons dans la partie II de cette thèse une solution unifiée à ce problème
dual de l'association de périphériques d'entrée et d'interactions non-standard avec des graphismes
enrichis pour la conception et le prototypage d'interfaces avancées. Nous introduirons pour cela une
nouvelle architecture logicielle pour les interfaces post-WIMP, les graphes combinés,
implémentée dans la boîte à outils MAGGLITE.
Ce noyau mathématique est l'outil approprié à notre approche de modélisation 3D à partir de dessin. Toutefois, la nécessité des propriétés géométriques portant sur le dessin soulève un autre problème: celui de la compatibilité de cette saisie avec l'activité de dessin dans la tâche créative, et de la cohérence d'éventuelles interactions pour la saisie de contraintes. En effet, il serait dommage de se rapprocher d'un mode de saisie aussi naturel que le dessin à main levée, pour d'un autre côté interrompre ce processus par un saisie contraignante, simultanée ou a posteriori, de contraintes géométriques. Il nous semble alors primordial, afin de rester cohérent avec notre approche, que le système détecte le plus possible de ces contraintes de manière automatique en utilisant des méthodes de reconnaissance de formes pour interpréter le dessin. Ainsi, lorsque le dessinateur trace les traits de son dessin, le système les interprète et tente d'en trouver la signification d'un point de vue géométrique. Si par exemple le système a identifié qu'un cube avait été dessiné, il est capable d'en déduire les contraintes correspondantes.
Il reste toutefois à déterminer quelles données doivent être analysées. En effet, si l'utilisateur n'est pas contraint dans ce qu'il doit dessiner, il est nécessaire que le système soit capable de s'y adapter. De plus, les méthodes d'interprétation, en particulier dans notre cas de dessin libre créatif, peuvent nécessiter l'intervention de l'utilisateur dans le cas d'ambiguïtés d'interprétation. La question primordiale est alors quelles données retenir pour l'interprétation et «quand et comment» faire intervenir l'utilisateur dans cette interprétation du dessin ?
Pourtant nous avons vu que le dessin dans un contexte créatif était un mode d'expression et un support à la création, composé de traits qui ne sont pas tous forcement utiles à un noyau fonctionnel d'application même si ils sont important dans le processus créatif (style, embellissement, rythme, ...). Cet aspect est confirmé par le fait que peu des sujets de notre étude ont respecté la consigne de ne pas dessiner l'environnement, et que leurs dessins comportent aussi beaucoup de traits que nous avons qualifiés de détail et de décor. Ainsi, un système de dessin sur ordinateur se voulant créatif se doit d'intégrer cette notion, quelle que soit la finalité de la saisie du dessin. Certains outils permettent une telle démarche mais ne le font qu'a posteriori, dans d'autres modes, et cassent donc le processus créatif en phases séparées.
Notre approche est différente dans le sens où le dessin doit être plus qu'une interaction. Il doit garder son pouvoir d'expression et ses caractères figuratifs propres à la démarche créative. C'est alors le système informatique qui doit s'adapter et déterminer ce qu'il doit traiter. Nous cherchons ainsi à ne pas placer l'utilisateur dans une nouvelle méthodologie, mais à ce que l'outil informatique sache interpréter la sienne3.5. De fait, il doit pouvoir isoler la partie d'intérêt du dessin dont son noyau fonctionnel à besoin.
Lors des analyses de notre étude, nous avons identifié trois phases dans le dessin d'architecture en perspective, en particulier la phase constructive. Celle-ci est primordiale pour l'interprétation du dessin car elle est source des données les plus pertinentes (traits du bâtiment). La détection de ces phases en temps réel peut donc permettre le filtrage du dessin afin de ne transmettre au noyau fonctionnel que les traits qui lui sont utiles: ceux des phases constructives dans notre application à la modélisation 3D.
Mais paradoxalement, c'est aussi durant ces phases constructives, qui sont des plus créatives, que le dessinateur ne doit pas être perturbé par des interrogations du système. Non que nous considérions que les autres phases (complétion et style) ne sont pas créatives et puissent être interrompues, mais elles sont plus éloignées du but premier qui est la construction du volume. Nous rejoignons donc là le problème que nous avions soulevé précédemment: quand et comment faire intervenir l'utilisateur dans l'interprétation du dessin ? La détection des phases du dessin doit aussi permettre au système de s'adapter à la situation courante de l'utilisateur. Par exemple, les propositions d'une interprétation automatique ou des demandes de confirmation pour résoudre des ambiguïtés doivent être effectuées en dehors des phases constructives.
Finalement, permettre à l'utilisateur de dessiner librement à main levée, sans imposer de dessin vectoriel, guidé ou limité à des traits continus implique que le système soit capable de structurer et épurer le dessin pour en tirer sa structure géométrique.
Lors de la conception, nous avons vu que le dessinateur utilisait un mode de dessin, de croquis, dit spéculatif. Ainsi, il construit itérativement des espaces ou des volumes qu'il représente par leurs frontières, les traits du dessin. Un trait peut être considéré à ce niveau comme un objet atomique, qui assemblé, combiné à d'autres va produire un ensemble plus structuré avec une sémantique plus ou moins bien définie. Des groupes de traits sont ainsi constitués, puis assemblés, comme autant de révisions et de raffinements dans l'espace des solutions au problème de conception. Ainsi, un trait tracé en début de dessin pourra se voir modifié (repassé, rallongé, etc.) plus tard dans le processus de conception.
Nous avons d'ailleurs vu dans notre étude, avec l'analyse des transitions et nos propositions sur les phases de dessin, que plusieurs phases de complétion se retrouvent dans le dessin. Mais le cheminement, du premier au dernier trait au cours des révisions, n'est ni linéaire, ni invariant d'un dessinateur à l'autre. Il s'avère donc que, d'un point de vue géométrique, et quelle qu'en soit la chronologie de tracé, plusieurs traits peuvent composer une même caractéristique géométrique (par exemple un segment) qui a été construite par itérations successives, puis remodifiée ou ajustée, jusqu'à satisfaction. La sémantique en est claire pour le créateur, mais aussi pour les observateurs, dont la culture permet les regroupements sémantiques. Par exemple, même si les différents traits composant l'arête d'un mur ne coïncident pas exactement, ou si les points extrêmes de deux arêtes contiguës ne se rejoignent pas exactement en un même point, l'observateur les unifie implicitement et comprend ce qu'ils représentent. La figure 3.13 montre cet aspect d'historique des révisions et de relative imprécision d'un dessin (d'un point de vue géométrique).
Si nous transposons maintenant cette démarche dans le contexte de l'informatique, le dessinateur va utiliser des périphériques d'entrée qui, quels qu'ils soient, produisent des séries de points. Il va être indispensable de structurer les points reçus en entités de plus haut niveau, des traits dans un premier temps, pour opérer une première liaison, un dialogue cohérent entre le dessinateur et le système par l'intermédiaire des périphériques d'entrée. Le dessinateur et le système manipulent donc un premier type d'objets commun, le trait, qui en plus d'être à la base de la construction du dessin va aussi être la source des analyses du système.
Ensuite, ses traits doivent être transformés sous une forme exploitable par le noyau fonctionnel, qui lui manipule des points et des segments. Nous avons schématisé ces différentes transformations par la figure 3.14. Le dessinateur communique avec le système par l'intermédiaire de périphériques d'entrée qui produisent des points. Ces points sont regroupés par le système afin de produire une première classe de données communes au dessinateur et au système: les traits. Ceux-ci sont enfin interprétés en entités géométriques, mots du langage établi entre l'interface du système et son noyau fonctionnel. Le système SVALABARD, que nous présenterons par la suite, regroupe toutes ces fonctionnalités: c'est le contrôleur de dialogue établissant la chaîne de communication entre les trois acteurs que sont le dessinateur, les interactions et le noyau fonctionnel.
|
D'un point de vue technique, cette structuration du dessin passe par une interprétation des traits faisant intervenir plusieurs types d'algorithmes de segmentation et fusion. Hormis la segmentation de traits, qui est un problème bien connu, les problème majeurs de cette structuration sont dus aux caractéristiques des traits du dessin à main levée que nous avons évoquées précédemment: les révisions successives ou l'assemblage de plusieurs traits et les extrémités disjointes de segments contigus. Ces notions sont normales dans le cheminement du concepteur et implicitement assimilées par lui-même ou un observateur. Elles ne les gênent nullement dans la compréhension du dessin, permettant même des possibilités d'interprétation multiples nécessaires à la démarche créative. Par contre, le système informatique doit comprendre et anticiper le sens du dessin (au moins à un niveau géométrique). Il faut réduire et interpréter ces imprécisions afin de corriger les éventuels problèmes d'interprétation qu'elles peuvent entraîner au niveau de sa représentation interne. Nous proposons dans la section 4.4 de tels filtres de nettoyage du dessin en temps réel. Ces traitements sont d'ailleurs relativement allégés et soulagés par la détection des phases du dessin car ne leur sont transmis que les traits des phases utiles au noyau fonctionnel.
stuf