22
Laura Peythieux Modélisation 3D par croquis: surface de convolution multi-résolution Travaux d'Etude et de Recherche le 20 mai 2010 tutrice: Marie-Paule Cani Ensimag année 2009-2010 1

Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

Laura Peythieux

Modélisation 3D par croquis:surface de convolution multi-résolution

Travaux d'Etude et de Recherchele 20 mai 2010

tutrice: Marie-Paule Cani

Ensimag année 2009-2010

1

Page 2: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

Table des matières

1. Introduction-Remerciements..................................................................3

2. Contexte de travail...................................................................................42.1 Présentation de ma tutrice de stage.................................................................42.2Laboratoire et équipe........................................................................................4

3. Contexte scientifique................................................................................5

4. Pré-requis mathématiques.......................................................................7 4.1 Les surfaces implicites .....................................................................................7 4.2 Les surfaces de convolution.............................................................................8 4.3 Creation des modèles dans Azalic....................................................................9

5. Suppression de surfaces..........................................................................105.1 Détermination de la primitive intersectée............................................................10

5.1.1. Graphes de mélange des surfaces implicites........................................105.1.2. Ray tracing............................................................................................115.1.3. Algorithme et résultats.........................................................................12

5.2 Suppression de surface..................................................................................145.1.1. L'historique des actions........................................................................145.1.2. Algorithme et résultats.........................................................................14

6. Creusement de formes............................................................................176.1 L'Opérateur différence.........................................................................................176.2 Implémentation du calcul du potentiel .................................................................196.3 Maillage ................................................................................................................19

7. Conclusion................................................................................................207.1 Bilan scientifique..................................................................................................207.2 Perspectives..........................................................................................................207.3 Bilan Personnel....................................................................................................21

Références.........................................................................................................22

2

Page 3: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

1. Introduction-Remerciements

Madame, Monsieur

Vous trouverez ci-dessous mon rapport de recherche effectué dans le cadre de l'option « Travaux d'Étude et de Recherche » disponible en seconde année d'étude à l 'Ensimag, École Nationale Supérieure d'Informatique et de Mathématiques Appliquées de Grenoble, école du groupe Grenoble INP. Ce sujet, à dominante informatique, s'inscrit dans ma formation d'élève ingénieur et m'a permis de m'ouvrir au monde de la recherche.

Après une présentation du contexte dans lequel j'ai travaillé, consistant plus particulièrement en la présentation de l'équipe Evasion et de ma tutrice, Marie-Paule Cani, je m'attacherais à préciser les pré-requis techniques nécessaires à comprendre mon travail de recherche. J'expliciterais ensuite le travail effectué et préciserais les résultats obtenus et le travail qu'il reste à effectuer.

Je tiens tout d'abord à remercier toutes les personnes qui m'ont aidée durant ce stage de recherche, tout particulièrement Marie-Paule Cani pour ses conseils et sa disponibilité ainsi que Adrien Bernhardt pour ses conseils techniques éclairés et sa patience. J'ai pu compter sur vous à chaque moment de ce stage et je vous en remercie. Vous m'avez permis de découvrir avec plaisir le monde de la recherche et m'avez fait partager votre passion pour votre travail.

J'espère que ce rapport reflètera la motivation et le plaisir que j'ai pris à travailler avec vous.

Merci

Laura PEYTHIEUX

3

Page 4: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

2. Contexte de travail

2.1 Présentation de ma tutrice de stage

Professeur 1ère classe en informatique à l'Institut Polytechnique de Grenoble,Marie-Paule Cani est une ancienne élève de l'Ecole Normale Supérieure.

Ses activités de recherche portent sur la synthèse de mondes virtuels animés, ce qui l'a conduite à développer des méthodes de modélisation géométrique et d'animation. Ses contributions ont porté par exemple sur l'animation efficace par modèles physiques, les surfaces implicites et les déformations à volume constant appliquées à la modélisation et à l'animation interactives, la conception de multi-modèles incorporant des représentations alternatives (textures surfaciques et volumiques) et des niveaux de détail.

Elle dirige actuellement l'équipe EVASION de l'INRIA.

Pour plus de détails, je vous renvoie à sa page web officielle[Cani].

2.2 Laboratoire et équipe

Mon stage s'est déroulé en totalité sur le site de l'INRIA , 655 avenue de l'Europe, 38 334 Saint Ismier (Montbonnot). Plus particulièrement, un bureau m'était réservé une après-midi par semaine dans les bureaux de l'équipe EVASION, bâtiment H, juste en face du bureau de ma tutrice de stage, ce qui nous a permis de communiquer de manière continue sur l'avancement de mon travail.

L'équipe EVASION (Environnements Virtuels pour l'Animation et la Synthèse d'Images d'Objets Naturels), rattachée au laboratoire Jean Kuntzmann, travaille sur deux axes de recherche en particulier: le développement d’outils fondamentaux destinés à la spécification de scènes et d’objets naturels complexes, à la mise au point de modèles alternatifs pour la forme, le mouvement et l’apparence ainsi qu’à la conception d’algorithmes reposant sur un niveau de détail adaptatif pour gérer au mieux la complexité ; d’autre part la validation de ces outils sur des scènes naturelles spécifiques, qui vont du monde minéral (océan, ruisseaux, lave, avalanches, nuages) au monde animal (simulation d’organes, visages corps et chevelure d’un personnage, mouvements d’animaux), en passant pas les scènes végétales (morphogénèse de plantes, prairies, arbres).

L'INRIA, Montbonnot

4

Page 5: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

3. Contexte scientifique

L'axe de recherche dans lequel s'inscrit mon travail est la Modélisation 3D interactive par croquis.

En effet, le but des recherches actuelles est de pouvoir fournir aux artistes un outil de modélisation 3D leur permettant de dessiner des formes en temps réel, de manière interactive et instinctive. C'est l'un des grands challenges de la recherche aujourd'hui:

(Rob Cook – scientific director Pixar - 2008):“Make tools as invisible to the artists, as the special effectswere made invisible to the public”.

Pour cela, il est donc nécessaire de développer des modèles géométriques 3D permettant une construction progressive de l'objet, fusionnant les composants à chaque étape, ainsi que la déformation des formes associées. Le côté instinctif de l'application est assuré par le choix d'une interface « par croquis » imitant au mieux les gestes des artistes sur support « réel ».

Une telle application a déjà été développée par les chercheurs de l'équipe EVASION, utilisant une technique innovante de modélisation 3D par croquis successifs [Mat]. Le logiciel (nous le nommerons Azalic pour le moment), est ainsi un outil qui peut être destiné au grand public, ne nécessitant aucune connaissance technique particulière.

La technique choisie pour implémenter ces fonctionnalités est l'utilisation de « surfaces de convolution », un type particulier de surfaces implicites engendrées par le squelette géométrique de la forme. Le grand avantage de ces surfaces est de permettre de créer des formes d'épaisseur variable, assez lisses, et pouvant se mélanger localement à la partie du modèle déjà construite.

Ces surfaces seront explicitées dans les pré-requis mathématiques.

5

Page 6: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

Mon stage s'inscrivait donc dans le contexte de ce logiciel, ayant pour but de lui ajouter des fonctionnalités et d'améliorer, si possible celles déjà existantes.

Cependant, le temps imparti, et le temps nécessaire à la prise en main du logiciel, ne m'ont permis que d'implémenter une nouvelle fonctionnalité, la suppression de surfaces sélectionnées par l'utilisateur. J'ai également pu commencer à implémenter le creusement de surface. En effet, Azalic ne permet aujourd'hui que de mélanger des volumes et donc d'ajouter de la matière, et non de creuser les formes. Seul le calcul du potentiel pour cette fonctionnalité a pu être réalisé dans les temps.

Pour cette dernière partie, j'ai du me baser sur un article de recherche effectué en 2004 par Loic Barthe, professeur et chercheur à l'université Paul Sabatier de Toulouse intitulé « Controllable Binary CSG Operators for « Soft Objects » »[Op].Cet article décrit les opérateurs de « mélange » utilisés actuellement dans Azalic.

6

Page 7: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

4. Pré-requis mathématiques4.1 Les surfaces implicites

Contrairement aux modèles paramétriques qui explicitent les coordonnées des points, le formalisme implicite définit une surface comme un ensemble de points de l’espacevérifiant une propriété.En effet, la surface implicite S est définie par une équation implicite:

S = { P(x,y,z) / f(x,y,z) = iso }

f est nommée fonction potentiel ou « field function ».

Les avantages de ces surfaces sont nombreux:1) la normale à la surface est égale au

gradient de la fonction en ce point2) f définit un volume

f(x,y,z)<iso P est en dehors de la surfacef(x,y,z)>iso il est à l'intérieur

3) f et S ont le même degrés de continuité, ce qui permet de s'assurer de la « douceur » (smoothness) de la surface.

De nombreuses surfaces géométriques sont définies grâce à des fonctions implicites.

Il existe de nombreuses façon d'utiliser ce type de surfaces (associations de formes géométriques de base...). Nous nous intéressons ici plus particulièrement aux surfaces implicites créées à partir d'un squelette.

Toute primitive est considérée comme un squelette, c'est à dire un ensemble de point créant un potentiel. Ces contributions se somment. On a donc:

où les fi sont des fonctions décroissantes de la distance séparant P et Si.

7

Page 8: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

4.2 Les surfaces de convolution

Les surfaces de convolution sont un type particulier de surface implicites générées à partir d'un squelette. Elles ont été créées pour remédier au problème de « bulge » de ces dernières.

En effet, l'influence de chaque point du squelette étant sommée, on assiste à des « amas » au niveau des discontinuité du squelette.

Les surfaces de convolution évitent ce problème en transformant la somme discrète en intégrale. On somme toutes les contributions du squelette pour calculer le potentiel en un point.Elles sont définies par:

Il existe plusieurs solutions pour déterminer la fonction f adéquate, mais elles ne sont pas indispensables pour comprendre ce travail. Je vous laisse pour cela vous référer aux travaux de Cani et Hornus datant de 2001 ou celle de Cani Hornus et Angelidis de 2002 [Sub].L'essentiel est de comprendre comment sont formées les surfaces utilisées dans Azalic.

8

Page 9: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

4. 3 Création des modèles dans Azalic

Dans Azalic, les objets dessinés par l'utilisateur sont donc générés sous forme 3D grâce à ces surfaces.

Comme vu précédemment, le travail le plus difficile lorsque l'on veut créer une surface de convolution est d'en définir le squelette. La difficulté est d'autant plus grande qu'ici, l'utilisateur dessine grâce à un curseur, la forme du modèle 3D qu'il souhaite créer.

De fait, l'utilisateur d'Azalic peint une région dont est extrait un squelette 2D.Il s'agit de son axe médian, le lieu des centres des boules maximales incluses à l'intérieur.

La forme dessinée sur l'écran par l'utilisateur est représentée par la figure a. On observe bien le squelette 2D associé.La figure b représente le modèle 3D généré.

Ce squelette est ensuite utilisé pour engendrer une surface implicite 3D épousant la forme de la région.

Pour créer un modèle complexe, constitué de plusieurs primitives assemblées, il suffit de se placer sur le modèle déjà existant, sur le plan précis où l'on souhaite ajouter une surface (le plan courant s'affiche lorsque le curseur se déplace sur l'objet 3D). On dessine ensuite notre surface à cet emplacement. Elle est ensuite mélangée au modèle existant automatiquement.

On peut observer sur cette image la sélection du plan de dessin (en semi-transparence) et l'ajout du nez de l'étoile par mélange du modèle et de la surface dessinée

L'article [Mat] définit tous les autres aspects techniques de Matisse/Azalic.

9

Page 10: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

5. Suppression de surfaces

5.2 Détermination de la primitive intersectée 5.1.1. Graphes de mélange des surfaces implicites

Dans Azalic, les surfaces sont stockées sous forme de forêt de graphes.Chaque objet est stocké sous forme d'un graphe de surfaces.

Le principe de construction d'un arbre est le suivant:

1.On dessine une première primitive. Si elle n'est attachée à aucun objet existant, elle constituera une racine d'un nouvel arbre.

2. On dessine une nouvelle primitive, en la plaçant sur un plan de la précédente. Il a alors mélange (ou blend) entre les deux primitives. Un nouveau nœud du graphe est alors crée, contenant la nouvelle surface M(1,2) mélange des deux premières. C'est la nouvelle racine du graphe, les deux primitives à l'origine de celle nouvelle surface en devenant des feuilles.

Ce processus crée donc une forêt de graphe décrivant la structure de l'objet que l'utilisateur est en train de créer. Gardant en mémoire la constitution « élémentaire » de l'objet terminal, cela permet une facilité de modification de ce graphe et de reconstruction de la surface.

10

Page 11: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

5.1.2 Ray tracing

Le principe de la recherche d'intersection se base sur un « ray » envoyé depuis la caméra sur le principe du Ray tracing.On lance un rayon depuis la caméra (c'est à dire depuis l'angle de vu selon lequel on observe le monde 3D) . On regarde en fait dans la même direction que l'utilisateur.

Un rayon est défini par un point O (la caméra), et une direction V = (Vx, Vy, Vz).Un point sur le vecteur est défini par p = O + t x V, le scalaire t représente la distance ou le temps que l'on met à aller de O à p à la vitesse V.

Mon algorithme se base sur l'idée suivante: quand l'utilisateur clique sur un point de la surface globale, il souhaite supprimer la première primitive qui intersecte le point cliqué, donc celui le plus « proche » de son œil en profondeur.

Ainsi, en utilisant le principe du Ray tracing développé précédemment, il suffit de conserver la surface possédant le plus petit t positif ( on ne tient pas compte des surfaces placées derrière la caméra).

Plus précisément, on ne souhaite pas trouver la première « surface » intersectée, mais la première « primitive » c'est à dire les surfaces élémentaires se trouvant sur les feuilles du graphe de mélange. On teste donc à chaque fois qu'une surface est trouvée si oui ou non c'est une primitive.

L'algorithme suivant explicite la méthode de parcours et de recherche.

11

Page 12: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

5.1.3 Algorithme et résultats

Etape 1: déterminer l'arbre intersecté.On parcoure la forêt en faisant un test sur la surface contenue dans chaque racine

pour voir si elle intersecte le point. On conserve l'arbre à la surface intersectée la plus proche grâce au Ray tracing.

Etape 2: détermination de la primitive intersectée la plus proche.Cette fonction est récursive est fonctionne comme suit:

En terme de graphe, cela consiste à « remonter » les primitives intersectées en comparant à leur distance à la camera pour trouver la primitive optimale.

Ici, la plus proche primitive intersectée est S1. Elle sera la surface sélectionnée

12

Page 13: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

Résultats:

Création du modèle par ajout de matière successifs

Sélection de l'oreille droite

13

Page 14: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

5.3 Suppression de surface 5.3.1. L'historique des actions

Les actions de l'utilisateur (création de surface, annulation...) sont gardées en mémoire dans une pile d'action. Plus exactement dans deux piles d'actions. En effet, toute action possède une inverse.Prenons l'exemple d'une création de surface. Lorsque l'utilisateur dessine une surface, une action « CreateImplicitSurface » est créée, ainsi que son inverse « RemoveImplicitSurface ».La première est empilée dans la pile des « Redo », l'autre dans la pile des undo. Nous expliciteront comment les fonctions associées utilisent ces piles plus tard.

Précisément, les actions sont organisées sous forme de « groupes d'actions ». Cela permet par exemple à l'utilisateur de dessiner plusieurs formes séparées et de les générer en même temps.

La structure d'une pile d'actions est donc:

5.3.2. Algorithme et résultats

L'idée de cet algorithme est d'utiliser la structure de l'historique ainsi que les fonctions undo et redo déjà implémentées.Il existe dans le système deux piles d'actions, la pile des undo qui comprend la pile des actions à faire pour annuler celles déjà effectuées, et la pile des redo qui comprend les actions qui ont été annulées et que l'on veut reconstruire.Le principe de undo est: on effectue l'annulation de l'action, on la dépile, puis on place l'action inverse dans la pile des redo.Redo a un fonctionnement symétrique.Pour la suppression de surface, on a donc pour idée:

Etape 1: on annule un groupe d'action (undo)Étape 2: on parcourt le groupe d'action inverse ajoutée dans la pile des redo:

si la reconstruction de notre surface à supprimer est dans la liste, on la supprime et on passe à l'étape 3

sinon on recommence à l'étape 1Etape 3: on effectue toutes les actions empilées dans la pile des redo.

Ce qui a pour conséquence de reconstruire tous les objets, exceptée la

14

Page 15: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

primitive que l'on souhaitait supprimer.

Le schéma suivant explique la méthode employée

Résultats:

Notre lapin

15

Page 16: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

Suppression de l'oreille droite

Puis de la langue

16

Page 17: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

6.Creusement de formes

Le but de cette fonction est d'utiliser une surface dessinée comme une « gomme 3D » venant enlever de la matière au modèle 3D existant, au lieu de lui en ajouter.Cela permettrait une nouvelle liberté et une plus grande facilité pour créer toutes sortes d'objets complexes. Par exemple, pour dessiner un visage sur Azalic aujourd'hui, on ne peut qu'ajouter de la matière, ce qui pose problème pour le dessin des yeux par exemple, ou du creux des oreilles, ou encore des narines. Cette fonctionnalité faciliterait donc grandement la modélisation. Concernant son implémentation, elle est constituée de deux étapes:

1) le calcul du potentiel de la nouvelle surface implicite constituée par le mélange des deux premières surfaces

2) le calcul du maillage correspondant, la difficulté étant au niveau de la surface d'intersection. On souhaite rendre la transition entre les deux surfaces la plus douce (« smooth » en anglais) possible.

Seul le premier aspect a pu être implémenté.L'article de Loic Barthe [Op] décrit des opérateurs permettant de calculer le nouveau

potentiel.

6.1 L'Opérateur différenceL'opérateur actuellement utilisé pour « sommer » les surfaces est l'opérateur

Union. Si il s'agissait d'un opérateur classique, f1 le potentiel de la surface à creuser,

f2 la forme avec laquelle on souhaite creuser, on aurait pu utiliser ce même opérateur:Diff(f1,f2)=Union(f1,-f2).

Cependant, avec les opérateurs de Barthe, cela n'est pas si simple.Ici, la différence est définie à partir de l'opérateur d'intersection comme suit:

17

Page 18: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

Résoudre l'équation donnant le potentiel Cp de l'intersection de deux surfaces revient donc à résoudre un polynôme du second degrés en Cp.

On définit les constantes [Bart2]:

Pour avoir une équation de polynôme de degrés 2 sous forme canonique.Les deux valeurs possibles de Cp sont donc:

Cp1=(-b+√(b²-4ac))/2aCp2=(-b-√(b²-4ac))/2a

On choisit de conserver la plus petite racine positive.

Voici la forme du potentiel d'une différence entre deux surfaces implicites.

18

Page 19: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

6.2 Implémentation du calcul du potentiel

Lorsqu'une surface est créée, le logiciel lui associe une « fonction de mélange » ou « blend function » qui déterminera la façon de se mélanger avec les autres surfaces.

Le principe du calcul du potentiel d'une différence est donc simple.Lorsqu'un utilisateur souhaite creuser une forme, il clique sur le bouton

« Dip » puis trace la forme qu'il veut extruder, à l'endroit voulu. Celle-ci est automatiquement associée à une nouvelle fonction de blend « blendDiffBarthe » implémentant l'opérateur défini ci-dessus.

Au moment du mélange, cet opérateur sera donc appelé pour assembler les surfaces et calculer le potentiel adéquat. La surface d'intersection subira également un traitement spécial, pour l'adapter à la différence.

6.3 MaillageL'idée du maillage est de partir de la forme du potentiel de la différence.

Il est donc nécessaire de « repousser » le maillage existant avec l'aide du potentiel calculé, ce au niveau de la surface d'intersection.Il suffit ensuite de cacher la surface utilisée pour creuser et ne conserver que celle modifiée par l'influence de la première.Il n'est probablement pas nécessaire de calculer en totalité la surface implicite définissant le volume à supprimer. Sa bounding box et son potentiel suffiraient pour déterminer sa zone d'influence et calculer le mélange.Je souhaitais m'inspirer du travail déjà effectué sur la surface d'intersection pour l'union. Je n'ai malheureusement pas eu le temps.

19

Page 20: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

7. Conclusion7.1 Bilan Scientifique

La sélection de surface est implémentée et fonctionne de manière très fiable, comme l'ont montrés de nombreux tests. Elle permet de sélectionner toute primitive sur laquelle clique l'utilisateur, qu'il s'agisse d'une surface seule, ou mélangée dans un objet.

Elle est bien intégrée dans le programme, de façon à ce qu 'elle puisse être réutilisée dans d'autres fonctionnalités d'Azalic.

La suppression de surface est stable, fonctionne, comme la sélection, sur n'importe quelle surface, quelque soit sa « place » dans l'objet, ou l'ordre dans lequel elle a été dessinée.

Cette fonctionnalité est bien implantée dans l'interface, ce qui la rend dès aujourd'hui utilisable dans le logiciel.

Créer cette fonction m'a également permis de détecter quelques erreurs dans le code existant de Azalic, qui auraient pu poser problème par la suite.

Enfin, le calcul du potentiel pour l'opérateur différence est terminé, et ajouté au logiciel. L'interface a été adaptée à cette nouvelle fonctionnalité, ainsi que le fonctionnement des mélanges de surfaces. Il reste à traiter le maillage de la surface d'intersection.

7.2 Perspectives

Il reste à finaliser quelques détails minimes concernant l'interface graphique (différenciation des icônes par exemple) pour rendre ces fonctionnalités cohérentes avec le reste du logiciel. Il faut également ajouter un système d'attente ou de blocage pour faire patienter l'utilisateur entre deux suppressions de surfaces: il faut attendre la fin de la reconstruction pour pouvoir lancer une nouvelle suppression.

Concernant l'opérateur différence, le calcul du potentiel et l'incorporation de la fonctionnalité à l'interface étant terminés, il reste à s'occuper du maillage de la surface d'intersection et compléter le code existant pour appeler cette fonction au moment de la création du mélange.

Cela consiste en la création d'une nouvelle classe Difference, ayant un fonctionnement symétrique à la classe Intersection déjà existante et utilisant la librairie gts.

Nous avions parlé avec ma tutrice de travailler ensuite sur la multi-résolution ou sur les textures, utilisables et éditables par un utilisateur. Il est probable que la première partie fera l'objet d'un TER, la seconde d'un stage d'été pour un étudiant de 2ième année.Pour ma part, je ferais mon propre stage en restant dans le domaine du sketching d'image et des surfaces implicites. En effet, je vais travailler dans l'équipe de l'University of British Columbia associée à l'équipe EVASION, sur le sketching d'animaux. C'est un sujet qui m'intéresse beaucoup et qui j'en suis sure, sera très formateur.

20

Page 21: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

7.3 Bilan Personnel

Le bilan que je fais de ce stage ne peut être que très positif.Il a pleinement répondu à mes attentes concernant la matière « Travaux d'Étude et de

Recherche » et bien plus encore. Il m'a permis de découvrir le monde de la recherche, ainsi que les méthodes de travail associées. Côtoyer Marie-Paule Cani m'a fait prendre conscience de la motivation et de la passion avec lesquelles ces personnes travaillent, motivation nécessaire pour gérer un emploi du temps chargé, entre cours, séminaires et missions, en France et à l'étranger.

J'ai beaucoup apprécié travailler dans l'équipe Evasion, qui regroupe un grand nombre d'étudiants, d'ingénieurs et de chercheurs, qui sont tous aussi ouverts, agréables et disponibles. L'ambiance de travail était donc très bonne, ce qui faisait que je venais avec plaisir travailler à l'Inria tous les mercredi après-midi.

Ce stage m'a également permis de développer mes capacités propres. Étant un des rares travaux individuels que l'on fait à l'Ensimag, il imposait de s'impliquer totalement, et de ne compter que sur ses capacités et son travail. Les membres de l'équipe Evasion, notamment Adrien Bernhardt m'ont beaucoup aidée à m'améliorer notamment dans le domaine du logiciel et du langage C++. En effet, j'ai commencé ce stage connaissant les principes du langage Objet, mais n'ayant jamais touché au C++, que j'apprenais en parallèle dans une autre matière. De même, le fonctionnement en parallèle, avec des threads, m'était complètement inconnu. Ce TER m'a donc permit de mieux maitriser ce langage de programmation et les techniques associées.Le plus gros apport technique a été pour moi de devoir m'adapter et m'intégrer à un logiciel complexe, déjà existant, au contenu dense, ayant été développé depuis plusieurs années par de nombreux programmeurs différents. Un peu perdue au début, j'ai appris à comprendre vite le fonctionnement d'un logiciel et à adapter ce que je voulais faire à une architecture déjà implémentée. Cela me sera très profitable pour l'avenir.Enfin, j'ai pu toucher du doigt le domaine dans lequel je souhaite travailler depuis longtemps, les images de synthèse et le graphisme 3D, ce qui pour moi a été une grande chance.

Je regretterais simplement de ne pas avoir pu pousser plus loin ce projet et le terminer. Je me sens frustrée de n'avoir pu m' y impliquer totalement, charge de travail de l'école oblige. Mais le fait de pouvoir travailler cet été à temps plein sur un sujet approchant me motive énormément. Je pense continuer mon cursus en temps qu'élève ingénieur dans le domaine de l'image et la réalité virtuelle, plutôt que m'orienter vers une thèse pour le moment, mais je souhaite continuer à travailler dans le graphisme 3D. Je remercie encore ma tutrice ainsi que les membres de l'équipe EVASION pour m'avoir transmis leur passion pour ce domaine.

21

Page 22: Modélisation 3D par croquis: surface de convolution multi-résolution · 2010. 5. 31. · par croquis. En effet, le but des recherches actuelles est de pouvoir fournir aux artistes

Références

[Mat]Matisse: Painting 2D regions for Modeling Free-Form ShapesBernhardt Adrien, Pihuit Adeline, Cani Marie-Paule, Barthe LoicIn Alvarado C. et Cani M.-P. editors, EUROGRAPHICS Workshop on Sketch-Based Interfaces and Modeling, SBIM 2008. Annecy, France, juin 2008. pages 57–64. 2008.

[Op]Controllable Binary CSG Operators for « Soft Objects » L. Barthe, B. Wyvill and E. De Broot. International Journal of Shape Modeling, 10(2), pages 135-154, December 2004.

[Bart2] Two-dimensional potential fields for advanced implicit modeling operatorsL. Barthe, N.A. Dodgson, M.A. Sabin, B. Wyvill and V. Gaildrat.Computer Graphics Forum, 22(1), pages 23-33, March 2003.

[Sub] Adaptive Implicit Modeling using Subdivision Curves and Surfaces as SkeletonsAngelidis Alexis, Cani Marie-PauleIn 7th ACM Symposium on Solid Modeling and Applications. ACM, Saarbrucken, Allemagne, juin 2002. pages 45–52. ACM, 2002.

[Cani] http://www-evasion.imag.fr/Membres/Marie-Paule.Cani/index.fr.html

22