Précédent : Modélisation géométrique et
visualisation scientifique Remonter : Fondements scientifiques
Suivant : Suivi d'indices et réalité
augmentée
La génération d'images réalistes à partir de représentations géométriques en 3 dimensions est utile principalement parce qu'elle permet de visualiser des objets hypothétiques, disparus ou au contraire à l'état de projet. Plus généralement, elle permet de visualiser des environnements au sein desquels, ou à partir desquels, on souhaite effectuer des simulations. Les techniques permettant de générer des images réalistes font l'objet de recherches actives depuis une vingtaine années et elles sont aujourd'hui de plus en plus utilisées dans de nombreux domaines d'application. Le coût de production, de stockage et de transmisssion de ces images, et leur qualité encore insuffisante pour certaines applications, restent cependant des obstacles majeurs à leur développement.
La génération d'images réalistes suppose de trouver des solutions à trois problèmes :
Le premier problème est ouvert. La modélisation géométrique reste une procédure très lourde, qui est en général effectuée indépendamment des contraintes de la simulation. Les recherches permettant de modéliser les propriétés physiques des surfaces ont fait de gros progrès, mais elles restent insuffisantes dans des domaines d'application où les simulations requièrent une grande précision physique. La simulation du comportement de la lumière est par ailleurs un problème très difficile, dans la mesure où il faut représenter le comportement physique de la lumière à un niveau macroscopique. La prise en compte des relations de visibilité entre les surfaces du modèle lors des échanges pose également une difficulté majeure. Le recours à des méthodes numériques plus sophistiquées permet aujourd'hui d'effectuer des simulations avec une plus grande précision physique et de contrôler cette précision. Des approches algorithmiques hiérarchiques et multi-échelles ont également été introduites, permettant de réduire la complexité des algorithmes conventionnels. Néanmoins le calcul d'une solution, même statique, reste encore extrêmement lourd. Enfin, le problème de la visualisation des résultats de la simulation, et plus généralement celui de leur stockage ou de leur transmission, sont encore des problèmes non résolus lorsque les modèles ont une taille et une complexité trop grandes, ou lorsque les besoins de la visualisation exigent de générer des images en temps réel.
L'idée principale de cette approche est de décomposer les calculs géométriques inhérents à la résolution de l'équation de radiance afin de les réduire à leur plus simple expression. Pour atteindre cet objectif, nous avons développé une méthode de décomposition de domaines. La géométrie est décomposée à partir d'un algorithme de partitionnement spatial binaire, qui produit en un temps O(n log2 n) un nombre linéaire de cellules et d'interfaces entre les cellules. Les surfaces en entrée sont alors maillées en un certain nombre d'éléments, qui est fonction du partitionnement binaire (BSP), et les liens entre cellules voisines sont établis en un temps O(n log n).
Nous utilisons une formulation de la radiance en terme d'équation de transport entre trois points, discrétisée sur un couple d'éléments pour former un système linéaire d'équations. Les fonctions de base utilisées sont les ondelettes classiques de Haar. Nous avons développé un algorithme simple de raffinement hiérarchique basé sur une fonction oracle simple. La radiance est codée aussi bien sur les éléments que sur les interfaces. L'algorithme de résolution est basé sur la méthode de Southwell et les méthodes de push/pull pour la propagation de l'énergie dans la hiérarchie. La formulation de l'opérateur de transport utilisé est une formulation non standard, qui produit moins de liens.
Les méthodes utilisées pour résoudre l'équation de radiance sont fondées aujourd'hui sur des approximations qui permettent de rendre le problème calculable. Dans les approches développées à ce jour, on distingue les méthodes d'échantillonnage et les méthodes variationnelles. Notre travail se situe dans le cadre de cette deuxième catégorie d'approches. Nous avons ainsi développé une architecture permettant d'implanter les algorithmes et les structures de données nécessaires à la résolution de l'équation. Cette architecture satisfait les objectifs suivants :
Pour atteindre ces objectifs, nous cherchons à satisfaire plusieurs critères : flexibilité, modularité, évolutivité, robustesse, réutilisabilité. La satisfaction de ces critères a orienté nos principes de conception. Nous avons conçu notre architecture à partir de trois échelles de conception : échelle physique, échelle mathématique et échelle algorithmique. Elle est réalisée à partir d'objets -- au sens de la programmation objet -- représentant les données et d'objets représentant les calculs : calcul de visibilité, résolution du système matriciel, calcul de quadrature...
Nous effectuons par ailleurs des travaux dans le domaine de la visualisation. Ces travaux sont entrepris pour développer des applications de réalité virtuelle dans le domaine de l'architecture (voir section 4.1). Nous avons ainsi développé une méthode de visualisation par niveaux de détail, qui permet de visualiser en temps réel des édifices architecturaux très complexes. Cette méthode s'appuie sur un algorithme de simplification géométrique qui permet de réduire la complexité des objets à partir de leur description géométrique. L'originalité de notre algorithme est de pouvoir être mis en oeuvre sur des objets présentant une topologie irrégulière, ce qui est caractéristique des modèles architecturaux. Des algorithmes de visualisation permettent ensuite de déterminer les objets de la scène à afficher, ainsi que les versions plus ou moins simplifiées à partir desquelles ils seront représentés pour obtenir un affichage temps réel.