fabrice depaulis - portfolio

ligne s?aratrice

Thèse

« Vers un environnement générique d'aide au développement d'applications interactives de simulation de métamorphoses »

Thèse soutenue le 29 Novembre 2002 devant le jury composé de :

Thèse

Thèse (4911 ko)

Résumé court

Dans le domaine de la production d'images et d'animations de synthèse, un certain nombre de méthodes sont spécialisées dans la représentation de phénomènes naturels, comme par exemple la croissance de plantes. Contrairement à d'autres, celles-ci font appel à un processus purement algorithmique et requièrent l'utilisation d'un langage de programmation, ruinant ainsi toute possibilité d'interactivité dans la construction de la simulation. Cette difficulté peut-être résolue par l'utilisation de la programmation sur exemple. Cette dernière propose en effet un ensemble de techniques permettant à un utilisateur dit " final " de créer des programmes informatiques de manière interactive, en utilisant son espace de travail habituel. Cette thèse montre comment, en se basant sur l'architecture logicielle H4, véritable interpréteur capable de reconnaître un langage, il est possible de créer un environnement générique de création d'applications interactives pour la simulation de métamorphoses d'objets naturels structurés, utilisant la programmation sur exemple.

Résumé long

La production d'images et d'animations de « synthèse », c'est-à-dire par ordinateur, est depuis de nombreuses années un domaine très attractif de l'informatique. La raison principale en est la grande variété de domaines d'applications, qui vont du jeu vidéo à l'industrie du cinéma en passant par l'art contemporain. Cet intérêt a motivé de nombreux travaux et autant de techniques différentes pour permettre à un concepteur de représenter animations et déformations : certaines prennent en compte les propriétés physiques de l'objet, d'autres ne s'intéressent qu'à des déformations plus ou moins superficielles. Parmi toutes ces méthodes, celles dites « à base topologique » présentent la particularité de s'intéresser plus précisément aux modifications structurelles des objets. Elles sont le fer de lance de la modélisation d'animations d'objets naturels et reposent sur un certain nombre de principes communs : structuration des objets en sous-objets, discrétisation du temps, association de comportements à chaque sous-objet. Le principal défaut de cette approche repose sur le contrôle de l'animation, intrinsèquement algorithmique, qui empêche de manière rédhibitoire l'utilisation d'une méthode conviviale. Pour cette raison, alors qu'il existe de nombreux logiciels commerciaux permettant à un simple utilisateur de créer l'animation d'un personnage ou de simuler la déformation d'un objet de manière intuitive, aucun système ne permet de décrire de manière interactive les modifications structurelles nécessaires à la modélisation d'une métamorphose. Les seuls outils permettant de changer la topologie des objets modélisés proposent des environnements textuels, véritables environnements de programmation, et, dans le meilleur des cas, les agrémentent de panneaux permettant de modifier les valeurs de quelques paramètres prédéfinis.

Pour décrire de telles transformations, la technique usuelle consiste donc à prendre son langage de programmation préféré et à s'attacher, via un bon éditeur de texte, à coder pas à pas toute la métamorphose désirée. Dans un deuxième temps, le concepteur doit compiler son programme et l'exécuter pour en tester la validité. Enfin, il doit corriger les inévitables erreurs et recommencer un cycle de prototypage type : écriture - compilation - test. Cette approche pose au moins deux problèmes majeurs. Tout d'abord, il y a un décalage permanent entre la représentation textuelle du programme et son exécution graphique. Dans un domaine dans lequel la notion de prototypage est aussi déterminante, il semblerait naturel que l'on puisse passer instantanément du mode de conception au mode d'exécution sans avoir à projeter mentalement une représentation à l'intérieur d'une autre. D'autre part, pour un public souvent constitué de non-informaticiens et en tout cas de non-programmeurs, le mur représenté par la pratique d'un langage de programmation constitue simplement un obstacle infranchissable.

Pour offrir à des concepteurs non programmeurs un environnement de création de métamorphoses plus convivial, nous proposons donc utiliser des techniques interactives de génération de programmes. Une telle application rentre dans le domaine des Applications Graphiques Interactives de Conception Technique (AGICT) : au même titre qu'en Conception Assistée par Ordinateur (CAO), les utilisateurs ont besoin d'exprimer des besoins précis et ne peuvent se contenter d'approximations. De ce fait, l'utilisation d'un dialogue structuré permettant de décomposer un but complexe en un ensemble de sous-buts, plus faciles à atteindre, s'impose. L'analyse des différentes architectures logicielles permet de comprendre que seule H4, basée sur ARCH et décrivant de manière précise le fonctionnement d'un contrôleur de dialogue, laisse la possibilité de modéliser facilement un tel dialogue. En se basant sur une décomposition des tâches du système en interacteurs de différents niveaux d'abstraction, un composant logiciel assure la transition des informations et l'indépendance des interacteurs entre eux. Ceux-ci sont ainsi capables de recevoir et de produire des données sans s'occuper de la provenance ou de la destination : ils peuvent de ce fait entrer dans l'expression de toute tâche complexe, sans qu'une interaction particulière soit prévue par le concepteur de l'application.

L'utilisation de H4 pose cependant plusieurs problèmes de nature différente. D'abord, si elle autorise la modélisation simple d'un dialogue structuré, il semble de prime abord que la nature préfixée de celui-ci soit incompatible avec des types d'échange plus conviviaux comme la Manipulation Directe, intrinsèquement post-fixée. D'autre part, la programmation du contrôleur de dialogue lui-même revêt un aspect lourd et répétitif dès que le nombre de tâches devient conséquent. Il est cependant possible de surmonter ces difficultés : en raffinant le rôle du Moniteur de H4, et en utilisant des interacteurs spécifiques, nous montrons comment faire cohabiter la Manipulation Directe et le Dialogue Structuré au sein du Contrôleur de Dialogue. D'autre part, nous avons expliqué comment nous avons allégé, grâce à un outil interactif, une partie de l'effort de programmation d'une application reposant sur H4.

Dans un deuxième temps, nous avons décrit comment mettre en place un environnement d'aide à la conception d'applications de création de métamorphoses, basé sur un Noyau Fonctionnel générique. Le caractère algorithmique du contrôle des métamorphoses contraint le système à mettre en jeu des techniques de programmation interactive, et plus précisément de Programmation sur Exemple. On peut décomposer les besoins en deux éléments que sont l'interpréteur de programme généré et le moteur d'enregistrement, capable de généraliser les actions de l'utilisateur pour créer le programme. Nous avons détaillé un tel interpréteur, basé sur le fonctionnement de H4, et nous avons explicité les règles nécessaires à l'enregistrement et à la généralisation d'un scénario de croissance décrit de manière interactive. Cet environnement se fonde sur un modèle générique regroupant les caractéristiques des objets naturels structurés que nous avons également décrit précisément.

Enfin, nous avons développé une maquette selon les principes édictés précédemment. Celle-ci repose sur un Noyau Fonctionnel permettant de manipuler des arbres filaires. Grâce à l'environnement que nous avons mis en place, elle est en mesure d'être utilisée pour créer des métamorphoses de manière interactive.

ligne s?aratrice

Site conçu et réalisé par fabrice depaulis (icônes d'Everaldo)

Les pages de ce site sont conformes aux spécifications xtml1.0 et css