Sous-sections


3.4 Lignes directrices pour un outil de «création» 3D

Au vu des constats des chapitres précédents et des hypothèses formulées au début de ce chapitre, nous proposons donc les lignes directrices suivantes:

Proposition 3..8   Un outil de dessin numérique pour la modélisation 3D se voulant créatif doit être fondé sur un paradigme de dessin libre:
  1. Avec des périphériques d'entrée adaptés au dessin à main levée et un environnement et des retours graphiques familiers, permettant de placer naturellement le dessinateur dans un contexte habituel (ou du moins semblable, par une métaphore adaptée). Cet aspect d'intégration de l'outil informatique dans la conception par des dispositifs et un environnement (physique et logiciel) spécifique est à notre avis trop souvent négligé par les travaux actuels qui se focalisent plus sur l'interprétation du dessin.
  2. Sans contraintes de projection, que l'on retrouve dans les systèmes imposant une vue plane ou une axonométrie, etc.
  3. Sans contraintes de sémantique du dessin, comme les systèmes qui imposent de ne dessiner que la partie du dessin qui est exploitable par le noyau fonctionnel de l'outil.
  4. Sans contraintes de qualité de traits, comme le font certains systèmes qui imposent de produire des traits continus et ordonnés (sans retouches, révisions ou gribouillages) afin de conserver l'aspect spéculatif du dessin dans un cadre créatif.

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):

  1. Permettre des interactions avec des périphériques d'entrée adaptés conjointement à un environnement graphique avancé implique de rendre leur utilisation la plus transparente possible pour l'utilisateur, mais aussi d'avoir les moyens logiciels de les incorporer dans un tel système.
  2. Ne pas imposer de vue particulière, de projection, pour le dessin implique de savoir reconstruire un modèle en trois dimensions à partir de n'importe quel dessin en deux dimensions. Nous verrons que la solution choisie a aussi des répercutions importantes sur l'interaction.
  3. Ne pas imposer ce que le dessinateur doit dessiner implique que le système détecte quelles sont les données (les traits) qu'il doit prendre en compte pour effectuer la reconstruction.
  4. Ne pas imposer de faire des traits continus ou ne pas utiliser d'outils de dessin spéciaux (dessin vectoriel, dessin guidé, etc.) implique de pouvoir transformer les données du dessin spéculatif à main levé, imprécises ou incomplètes, en données structurées.

À ces problèmes, nous proposons les solutions suivantes, issues de travaux antérieurs ou implications directes des résultats de notre étude.

3.4.1 Périphériques d'entrée et environnements graphiques avancés

Le premier point de notre proposition implique de permettre l'utilisation pour un tel système de matériels avancés, tels que des tablettes graphiques ou autres périphériques «non standard», afin de servir une métaphore d'instruments de conception. Bien que leur utilisation tende à se démocratiser, il est dommage de constater que de tels dispositifs sont trop souvent sous-exploités par rapport à leur capacités. En effet, si l'on prend l'exemple des tablettes graphiques, elles ne sont supportées par les systèmes informatiques qu'en mode de « compatibilité», ce qui les limite à une souris avancée. L'apport est indéniable du point de vue ergonomique, mais encore trop mal exploité au niveau des interfaces. Il faut donc que les logiciels intègrent dans leur conception les fonctionnalités telles que la pression sur le stylet ou son inclinaison. Trop souvent, les logiciels de CAO ou de dessin numérique ne le permettent pas, ou bien au prix d'efforts de configuration hors de portée de l'utilisateur novice.
Il est donc important d'exploiter au maximum les capacités de tels outils, tout en permettant aux utilisateurs de configurer et d'adapter eux-mêmes le système à leurs besoins et habitudes, comme ils utiliseraient un crayon ou un type de papier plutôt qu'un autre. Comme solution à ce problème, et afin de spécifier les interactions avancées que nous décriront dans le chapitre 4, nous avons utilisé et raffiné la boîte à outils ICON, proposée par Pierre DRAGICEVIC dans [Dragicevic2004b].

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.


3.4.2 Interprétation et élévation de dessins en projection quelconque

Dans le deuxième point, notre proposition énonce qu'une méthode de modélisation 3D plus créative implique la prise en compte du dessin dans une projection quelconque. Cette notion de projection quelconque revient, d'un point de vue mathématique et non perceptif, à la notion de vue en perspective. Ce problème de l'élévation en trois dimensions d'un dessin en perspective a été résolu par Phil Kuzo [Kuzo1999] et amélioré par Alexey Sosnov [Sosnov et al.2002,Sosnov2003] dans le cadre du projet GINA. Ils proposent une méthode de résolution de contraintes géométriques pour obtenir un modèle 3D polyédrique à partir d'un dessin 2D en perspective et des propriétés géométriques des éléments de ce dessin. Ces propriétés utilisées par le noyau mathématique sont les contraintes 3D sur les points, droites et plans: coplanarités, parallélismes, orthogonalités et incidences (voir figure 3.12). Leur solution est algébrique (avec l'algèbre de GRASSMAN-CAYLEY) et utilise la géométrie projective. Cela entraîne plus de robustesse et de performance que les outils précédents basés en général sur des calculs numériques lourds (optimisations linéaires, sujettes à plus d'erreurs ou de cas limites non résolus), tout en permettant des fonctionnalités avancées (correction perspective du dessin original, reconstruction des parties cachées, démarche itérative).

Figure 3.12: Élévation 3D de dessins 2D en perspective avec GINA. Le dessin de la figure (a) est reconstruit en 3D (b) après identification et spécification des contraintes sur ses éléments géométriques.
\begin{figure}\begin{center}
\setcounter{subfigure}{0}
\subfigure[Un dessin de...
...
\includegraphics[width=.47\textwidth]{GINArecons}}
\end{center} \end{figure}

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 ?


3.4.3 Délimitation de la partie d'intérêt du dessin

Un système de dessin libre tel que nous l'avons défini se trouve à la croisée des interfaces de dessin actuelles et du traditionnel papier/crayon. En effet, les systèmes actuels font du dessin une interaction entre le système et l'utilisateur, ne prenant que peu en compte les aspects spéculatif de celui-ci. Les possibilités de dessin avec ces outils sont limitées lors de leur conception, guidée par les fonctionnalité du système. Par exemple, les interfaces de modélisation 3D actuelles qui utilisent le dessin obligent l'utilisateur à faire des gestes précis ou bien à dessiner uniquement les traits du modèle 3D. Le noyau fonctionnel est capable de traiter certaines données, l'interface de dessin est donc limitée à la saisie de ces données.

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.

Proposition 3..9   Un système d'interprétation en temps réel de dessins libres doit détecter les phases du dessin pour:
  1. Isoler la partie d'intérêt du dessin afin de ne transmettre que les données utiles au noyau fonctionnel.
  2. Proposer des interactions non intrusives et maîtrisées par l'utilisateur pour ne pas perturber l'activité en cours.

Nous associons donc clairement ces phases à des contextes d'interaction. Nous verrons, dans la section 4.4.4, que les pourcentages et probabilités de transitions entre phases ainsi que les temps de pause entre les phases permettent leur détection en temps réel.

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.


3.4.4 Structuration et nettoyage du dessin

Penchons nous enfin sur le dernier point de la proposition, et pour cela, attachons nous à l'observation et l'interprétation du dessin spéculatif: comment rendre un croquis, la plupart du temps simple à comprendre pour le dessinateur ou un observateur, exploitable par un système informatique ?

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).

Figure 3.13: Imprécisions du dessin à main levée. Un croquis de Franck O. GEHRY, le musée Guggenheim de BILBAO. Nous constatons sur l'agrandissement que plusieurs traits représentent un même segment et que les extrémités des segments concourants doivent être ajustées.
\begin{figure}\begin{center}
\setcounter{subfigure}{0}
\subfigure[Croquis comp...
...{
\includegraphics[width=.38\textwidth]{guggthumb}}
\end{center} \end{figure}

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.

Figure 3.14: De points aux segments. À gauche, les points reçus (dessin de l'utilisateur avec un périphérique d'entrée), transformés en traits au centre puis en segments géométriques à droite.
\includegraphics[width=\textwidth]{pointstraits2}

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
2005-09-06