Design d'un champ de vecteurs tangents

Like dokumenter
* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable


Laser vert : moins de plus de 300. Acheter Laser PRODUITS CHAUDS. Pointeur Laser étanche

Eksamen FSP5020/PSP5013 Fransk nivå I Elevar og privatistar / Elever og privatister. Nynorsk/Bokmål

LIBER BVEL MAGI SVB FIGVRÂ I

Corrigé du BTS, groupement A, Nouvelle-Calédonie, novembre 2008

I. Évolution du commerce mondial

Alt for ofte blir problemer med avløpsrør i bygninger løst ved å bytte ut gamle defekte rør med nye. Dette innebærer tapphull- og utgravingsarbeide

Brosses intérieures avec manche


1. Intégrales définies et indéfinies I. (a) Soit b > 0. Montrer que pour tout x > 0 la fonction. 2 b. F (x) = arctan bx. 1 (1 + bx) x. f(x) = x t dt.

Roulements à rouleaux cylindriques

Roulements à rouleaux cylindriques

On remet la machine en route

Energie et corrélation. Systèmes de Traitement du Signal Polytech Marseille INFO 2016

EKSAMEN FRA0502 Fransk II HØSTEN 2012

Eksamen FSP5020 Fransk I PSP5013 Fransk nivå I. Nynorsk/Bokmål

PREPARATION BREVET BLANC 1 CALCUL FRACTIONNAIRE : AIDE : d'abord transformer l'écriture du nombre entier 1. Tout nombre a peut s'écrire 1

Clôture Métallique. Portails / Portillons / Accessoires

AB a donc OM = = 2 2

Kommunikasjonsperm. Overvåking og undersøkelser side 1. Smerter side 2. Naturlige funksjoner, eliminasjon side 3. Sengeleie og stell side 4

FRANSKLÆRERFORENINGENS STYRE

Mes architectes ont 10 ans!

Des accouplements raisonnés, un élément essentiel à l amélioration génétique

Bienvenue au 50 ème anniversaire du Lycée René Cassin d Oslo. Velkommen til det 50. jubileumet til Den Franske Skolen i Oslo

Disjoncteurs sélectifs

BEFOLKNINGSFORHOLDENE

Rapport annuel p. 4 Reise til Frankrike?... p. 8 Felles språkdag... p. 12 Examens du BI. p. 16 Travailler du vocabulaire. p. 20 Et plus...

Sommaire. Montre MOVETIME Family Aperçu de la montre... 1 Touche Marche-Arrêt Retrait des bracelets Résistance à l eau...

Avertissement Mode d'emploi

REQUÊTE APPLICATION KLAGESKJEMA

6092-DV Document 5

Une version feuilletée du théorème de translation de Brouwer

Ça déménage! Françoise Sagan VISITE GUIDÉE EN COMPAGNIE DE VIVIANE EZRATTY, ANTOINE MORTEMARD ET NELLY GASIOREK 1

EKSAMENSOPPGAVE FRA1300 Fransk basisemne Vår 2012

IUFM DE BOURGOGNE DIJON

Tri sélectif de déchets. Kildesortering

Eksamen FSP5020/PSP5013 Fransk nivå I Elevar og privatistar / Elever og privatister.

Corrigés des exercices du chapitre 25

LES VERBES. Forme de base. C'est celle trouvée dans le dictionnaire. Exemple : parler : snakke

Mise à jour des marges requises

Informations sur l'hépatite A, B et C et comment éviter la contamination

Universitetet i Oslo Institutt for litteratur, områdestudier og europeiske språk Diagnostisk test for fransk PRØVE 1

Comportement du discordantiel «ne» dans six points d enquêtes du corpus PFC

Hvordan lærer du best? Ulike tilnærmingsmåter

Cliquer sur la version désirée klikk på ønsket versjon. Règlement financier - Année scolaire Betalingsreglement for skoleåret

La gestion de la classe Le premier contact avec sa classe La première heure de classe

Invariants de Seiberg-Witten et Varietes. Denis AUROUX. Ecole Normale Superieure, 45 rue d'ulm, Paris, France.

TECHNOLOGIE POUR CHAUDIERES DE BRUNNER. Kamin-Kessel Eck 57/67/44 Porte relevable (easy-lift) État: made in germany

DYNAMIQUE. Etude des mouvements de tangage d une transmission de puissance d hélicoptère. x r 2. y r 2. x 1. y r y r

BACCALAURÉAT GÉNÉRAL ET TECHNOLOGIQUE NORVÉGIEN. Langue vivante 2 ÉPREUVE DU MARDI 21 JUIN 2016

Prøve tema 1. 1 Complétez les phrases. Fyll ut med rett artikkel (un, une, des, le, la, l eller les).

Prøve tema 1. Cappelen Damm AS

GAMME DETENTE DIRECTE SOMMAIRE. X32 monosplit Inverter Page 88. X3 multisplit Inverter Page 90. Monosplits/Multisplits

St.prp. nr. 3 ( )

5HVVRXUFHVKXPDLQHV HWILQDQFLqUHVGX',3

BACCALAURÉAT GÉNÉRAL ET TECHNOLOGIQUE NORVÉGIEN. Langue vivante 2

Enchanté 1. Grammatikktema i kapittel 12

Yves Jamait. 6 Regning i fremmedspråk. 8 Didactique.. 14 Jeux de vocabulaire 18 Statistiques. 30

Innledende riter. Rite d'entrée. Préparation pénitentielle. Syndsbekjennelse. I Faderens og Sønnens og Den Hellige Ånds navn.

FR Fransk språk 2

Mars Assemblée générale 2013 La Norvège pays exotique? La oss skravle.. Kurs i Frankrike.. Frankrig og den koloniale arv

Bobine à noyau de fer

NR CECR 17. FADOM

No Siden 1986

Bienvenue en Norvège. Information pour les nouveaux immigrants sur leurs droits, opportunités et responsabilités dans la société norvégienne FRANSK

Asymptotique des nombres de Betti, invariants l 2 et laminations

m15/1/aynor/hp2/nor/tz0/xx Monday 11 May 2015 (morning) Lundi 11 mai 2015 (matin) Lunes 11 de mayo de 2015 (mañana) 2 hours / 2 heures / 2 horas

M03/108/S(2) NORWEGIAN A1 STANDARD LEVEL PAPER 2 NORVEGIEN A1 NIVEAU MOYEN ÉPREUVE 2 NORUEGO A1 NIVEL MEDIO PRUEBA 2

Tidlig start... 8 Sykkeltur i Loiredalen 12 Vacances en France 14 Activités de classe.. 24 Statistiques du site. 30

Cours de français pour la classe de 3ème Semaines 18 23, 2017 LÆRINGSMÅL TEMA/LÆRESTOFF VURDERING. Chapitre 6: «J habite à Belleville», p

SOMMAIRE EDITO. Anne-Lise Leblic Jean Sydow. Seine- Maritime. Eure. Orne. Le quotidien et la maladie

ROBERT LOUIS STEVENSON 1 L ÎLE AU TRÉSOR 2

bulletin sek feps

PROJET ASSOCIATIF en Mouvement. l innovation. mettre

Daniel K. Schneider - David Ott - Vivian Synteta Version: 0.4 (modifié le 15/8/01 par DKS)

Norsk-fransk ordbok over lumske likheter. Dictionnaire des faux amis norvégiens-français

Anne-Inger HELLEKJÆR RAGE Anne-Inger Hellekjær Rage

LIBER VEL MANVS ET SAGITTÆ SVB FIGVRÂ

LE GENRE DU LOCUTEUR ET DE L ALLOCUTAIRE DANS LES SYSTÈMES PRONOMINAUX : GENRE GRAMMATICAL ET INDEXICALITÉ DU GENRE

Interrogation. Chapitre 1. 1 Être ou avoir au présent?

LE MOT DU PRESIDENT. Bonne lecture à toutes et à tous. Jean-Pierre Nicolas

BACCALAURÉAT GÉNÉRAL ET TECHNOLOGIQUE NORVÉGIEN. Mardi 23 juin Langue vivante 2

L AG (årsmøtet).. p. 4 Udir om eksamen.. p. 18 Emoticônes p. 23 Haïti et le créole. p. 28. Seminar i Oslo!.. p. 29

Assemblée générale p. 4 De l immeuble à mon alter ego p. 16 DIXIT (l interculturel) p. 20 Faglig pedagogisk dag p. 26 Felles konferanse med

Representasjoner om språkundervisning og språklæring

BACCALAURÉAT GÉNÉRAL

Octobre år. Francophonie aujourd hui. p. 4 Projet théâtral p. 14 Starten til toppen.. p. 16 Engelsk som begrensning... p.

MARQUE: BABYLISS REFERENCE: E 842 FCE KIT CODIC:

Forslag til årsplan LINGUA PLANET fransk

Lattice Boltzmann Method for ow in porous media. Samuel Corre

M03/108/H(2) NORWEGIAN A1 HIGHER LEVEL PAPER 2 NORVEGIEN A1 NIVEAU SUPÉRIEUR ÉPREUVE 2 NORUEGO A1 NIVEL SUPERIOR PRUEBA 2

LYCÉE FRANÇAIS RENÉ CASSIN D OSLO Skovveien Oslo Norvège Tél. 47/ Fax : 47/ secretariat@rcassin.

CHARTE EDUCATIVE DU LYCEE FRANÇAIS RENE CASSIN INTERNREGLEMENT FOR DEN FRANSKE SKOLEN I OSLO

Girnghuber GmbH Ludwig-Girnghuber-Straße Marklkofen T: F:

5.1 Peuvent adhérer au Syndicat toutes personnes qui en reconnaissent les principes.

L AFFAIRE ROSENBLATT

Transkript:

Grenoble INP ENSIMAG École Nationale Supérieure dinformatique et de Mathématiques Appliquées Rapport de Travaux d'études et de Recherche Eectué au Laboratoire Jean Kuntzmann Design d'un champ de vecteurs tangents Allemand-Giorgis Léo 2e année Option MMIS Laboratoire Jean Kuntzmann Responsable du TER 51 Rue des Mathématiques Hahmann Stefanie Campus de Saint Martin d'hères 38041 Grenoble cedex 09

2 TABLE DES MATIÈRES Table des matières 1 Introduction 4 1.1 Présentation du sujet.............................. 4 1.2 Contexte du travail............................... 4 2 La méthode d'interpolation 4 2.1 Présentation de la méthode.......................... 4 2.2 Les données du problèmes........................... 5 2.3 Le fonctionnement de la méthode....................... 5 2.3.1 Création d'une base polaire...................... 5 2.3.2 Création d'un lien entre deux facettes................. 5 2.3.3 Calculs le long de l'arête duale barycentrique............. 7 2.3.4 Calcul du vecteur au point P..................... 7 3 Implémentation 8 3.1 Le programme de départ............................ 8 3.1.1 Description du programme de base.................. 8 3.1.2 Structure de données des maillages.................. 8 3.2 Conception du code............................... 9 3.3 Implémentation de la méthode......................... 9 3.3.1 Contrainte dû à la structure de données............... 9 3.3.2 Entrées de la méthode......................... 9 3.3.3 Les problèmes rencontrés........................ 10 4 Résultats données par la méthode 10 4.1 Des succès.................................... 10 4.2 Les problèmes non résolus........................... 10 5 Commentaires sur la méthode 12 5.1 Le champ est-il continu?............................ 12 5.1.1 Dans la facette............................. 12 5.1.2 Les sommets............................... 12 5.1.3 Passage entre deux facettes...................... 12 5.2 Comportement des lignes de champ...................... 12 6 Conclusions 13 6.1 Conclusion du projet.............................. 13 6.2 Conclusion du TER............................... 13

TABLE DES MATIÈRES 3 Remerciements Je voudrais remercier Stefanie Hahmann pour m'avoir accueilli tout au long du TER, pour m'avoir inviter à des conférences et pour m'avoir permis d'assister à une réunion de l'équipe IMAGINE. Je voudrais aussi remercier l'équipe IMAGINE et particulièrement Marie-Paule Cani pour nous avoir permis d'assister à une de leur réunion d'équipe.

4 2 LA MÉTHODE D'INTERPOLATION 1 Introduction 1.1 Présentation du sujet Les domaines de la dynamique des uides, ou encore la modélisation par des méthodes aux éléments nis utilisent souvent des méthodes d'interpolation de champs de vecteurs. Par exemple, pour visualiser des champs de vecteurs, on utilise souvent de l'interpolation linéaire qui possède les avantages d'être très simple et peu coûteuse. Malheureusement, cette méthode ne permet pas de reproduire la complexité de tout champ de vecteur. En eet, les champs ayant des points de singularités qui ne sont pas du premier ordre ne peuvent pas être représenté. Cela implique un changement dans la topologie du champ de vecteur. Il faut donc trouver d'autres manières de faire une interpolation d'un champ de vecteur. Une méthode a été trouvé par Wan-Chiu Li, Bruno Vallet, Nicolas Ray et Bruno Lévy. Cette méthode est déni dans Representing Higher-Order Singularities in Vector Fields and Piecewise Linear Surfaces. L'idée est de représenter les vecteurs dans chaque facette en coordonnées polaires et d'utiliser un paramètre donnant le nombre de tour que doit faire le champ de vecteur lorsqu'il va d'un centre de gravité d'une facette au centre de gravité d'une facette adjacente. Ce projet a pour but d'implémenter cette méthode d'interpolation dans un programme déjà existant tournant sous OpenGL. 1.2 Contexte du travail Le travail a été eectué la plupart du temps dans la tour IRMA, le mardi après-midi. J'ai travaillé en collaboration avec Pierre-Luc Manteaux, un autre étudiant de TER, qui a aussi travaillé sur une méthode d'interpolation de vecteurs. Un programme nous a été fournis et nous y avons ajouté nos méthodes d'interpolation et nous avons mis des méthodes de visualisation de champ de vecteurs dur un maillage. 2 La méthode d'interpolation 2.1 Présentation de la méthode Le principe de la méthode est de faire une interpolation entre les vecteurs aux centres de gravité des facettes. On relie les deux centres de gravité de deux facettes adjacentes et on fait que le vecteur change de manière continue le long de la ligne qui relie les deux facettes en faisant varier la norme de façon linéaire et en faisant tourner le vecteur (voir la gure 1).

2.2 Les données du problèmes 5 Figure 1 Façon d'interpoler entre A et B (image tirée de la publication Representing Higher-Order Singularities in Vector Fields and Piecewise Linear Surfaces 2.2 Les données du problèmes Pour appliquer la méthode d'interpolation, nous avons besoin d'un maillage. Si possible, toute arête doit appartenir à deux facettes distinctes. Dans le cas contraire, le résultat ne sera pas prévisible. 2.3 Le fonctionnement de la méthode Nous allons chercher l'interpolation du champ de vecteur en point d'une facette que nous appellerons P. La normale à la facette sera notée n. 2.3.1 Création d'une base polaire Pour commencer, nous avons besoin d'une base polaire de la facette. Nous allons donc prendre une arête comme première composante de notre base (noté x) et le produit vectoriel de x par n nous donnera la deuxième composante. Un vecteur v de la facette pourra alors être écrit : ( ) ρ cos θ v = ρ sin θ avec ρ = v et dans R. ( cos θ sin θ ) = v. Le paramètre θ correspond à un angle que nous prendrons v 2.3.2 Création d'un lien entre deux facettes Nous allons créer un lien entre notre facette de départ et une deuxième facette. Pour cela, nous allons chercher l'arête la plus proche du point P. La facette qui contient notre arête et qui est bien sûr diérente de notre facette de départ sera alors la deuxième facette sur laquelle nous allons travailler. Nous pouvons voir par exemple la gure 2 où la facette courante est f et la deuxième facette sera la facette f. Nous dénissons de même qu'à la partie 2.3.1 une base polaire pour f. Ensuite, il faut transformer les champs de vecteurs que nous avons au centre de gravité des facettes en coordonnées polaires. Nous noterons ρ(f) et θ(f) les coordonnées polaires

6 2 LA MÉTHODE D'INTERPOLATION Figure 2 Deux facettes et un point P du vecteur au centre de gravité de la facette f et ρ(f ) et θ(f ) les coordonnées polaires du vecteur au centre de gravité de la facette f. L'interpolation des vecteurs se fera le long de la ligne passant par le centre de gravité de f, le milieu de l'arête commune aux deux facettes et par le centre de gravité de f. Cette ligne peut être vue sur la gure 3. Celle-ci est appelée l'arête duale barycentrique et nous la noterons e. Figure 3 La ligne reliant les deux facettes

2.3 Le fonctionnement de la méthode 7 2.3.3 Calculs le long de l'arête duale barycentrique Les calculs important se feront le long de l'arête duale car c'est sur celle-ci que l'on fera tourner le vecteur. Pour faire ceci, nous allons calculer la diérence d'angle entre les extrémités de e : θ(e) = ang(v G, v G ) + θ(f ) θ(f) + 2pπ La fonction ang calcule l'angle entre deux vecteurs et sont résultat appartient à ( π, π]. Le paramètre p est un entier relatif et est appelé période de saut. Ce paramètre sert à choisir la façon dont va être interpolé le champ de vecteur le long de la ligne e. Ensuite, il faut faire de même pour la diérence en norme : ρ(e) = ρ(f ) ρ(f) Nous allons maintenant dénir un coecient α qui correspond au rapport entre la longueur de e qui est dans la facette f et la longueur totale de la ligne. En appelant M le milieu de l'arête commune, on a : α = GM GM + MG La dernière dénition va être celle du paramètre t qui est la solution de P = (1 t)g + tm. Enn, nous pouvons faire l'interpolation du champ de vecteur sur la ligne e. Pour cela, il faut calculer l'angle et la norme des vecteurs sur la ligne. On fait une simple interpolation linéaire. En prenant I un point de la ligne e : θ(i) = θ(f) + θ(e)αt et ρ(i) = ρ(f) + ρ(e)αt 2.3.4 Calcul du vecteur au point P Pour calculer l'interpolation du vecteur au point P, il faut tout d'abord trouver le sommet de la facette courante le plus proche de P, nous le noterons V. C'est forcément un des sommets de l'arête trouvée dans la partie 2.3.2. On cherche alors le point d'intersection I entre la droite (P V ) et la ligne e. Le vecteur au point P sera alors le même que celui au point I. Nous voyons donc que les vecteurs seront constants le long du segment [V I]. La gure 4 montre l'interpolation du champ au points P et P à partit du calcul au point I. Les vecteurs en ces deux points sont égaux au vecteur au point I.

8 3 IMPLÉMENTATION 3 Implémentation Figure 4 Interpolation du champ au point P, P et I 3.1 Le programme de départ 3.1.1 Description du programme de base Le programme qui m'a été donné en début de TER permet d'acher des maillages en OpenGL (et donc de tourner autour du maillage, de faire des zooms). Il comprend aussi une méthode d'interpolation des champs de vecteurs. La méthode utilisé est une méthode utilisant les vecteurs aux sommets. Soient V 1, V 2 et V 3 les sommets d'une facette ayant pour vecteurs respectifsv 1, v 2 et v 3. On note P le point de la facette où l'on veut connaître le champ. Il existe α, β et γ tels que P = αv 1 + βv 2 + γv 3, alors : v P = αv 2 + βv 2 + γv 3 On peut acher les lignes de champ qui partent du centre de gravité des facettes et qui utilisent cette méthode d'interpolation. Le programme est écrit en C. 3.1.2 Structure de données des maillages La structure de données était imposée par le programme initial. Dans cette structure, les maillages sont composés de sommets, d'arêtes et de facettes. A chaque sommet correspond un entier qui est son numéro et ses coordonnées dans la base cartésienne de l'espace. Une arête comprend son numéro, les deux numéros des sommets qui la dénissent et les numéros des deux facettes adjacentes.

3.2 Conception du code 9 Une facette a un numéro, les trois numéros des arêtes qui la composent, les numéros des trois sommets et les coordonnées d'une normale à la facette. Ceci est écrit dans un format nommé.ngb qui n'est pas un format standard. Celui-ci ne sera pas détaillé ici. Ensuite, chaque sommet comporte un champ correspondant au vecteur du champ en ce point. Ces vecteurs sont dénis dans un chier.vec. 3.2 Conception du code Pierre-Luc Manteaux a travaillé avec moi sur l'ajout de nos codes au programme initial. Nous avons choisi de faire chacun deux chiers contenant notre méthode (un chier.h et un chier.c) et de faire un chier qui contiendrait des outils dont nous aurions besoin tout les deux. Dans ce chier, nous avons par exemple mis le calcul d'angle entre deux vecteurs. Ensuite, nous avons modié le code existant pour intégrer nos programmes pour l'achage de lignes de champ. Nous avons aussi travaillé ensemble sur l'achage du champ de vecteur sur le maillage. Nous en avons fait deux : une met des vecteurs un peu partout sur le maillage et l'autre ache les vecteurs sur les lignes entre les barycentres des facettes et les milieux des arêtes. Cette dernière méthode d'achage est très intéressante pour la méthode d'interpolation que j'ai implémentée. 3.3 Implémentation de la méthode 3.3.1 Contrainte dû à la structure de données La structure de données ne donnant pas le champ de vecteur au centre de gravité mais sur les sommets des facettes. J'ai donc choisi de faire une interpolation linéaire pour avoir le vecteur au centre de gravité de la facette. De plus, le champ que l'on trouve avec l'interpolation linéaire ne se situe pas forcément dans le plan de la facette. La méthode utilise un champ dans le plan, donc le vecteur est projeté dans le plan de la facette. 3.3.2 Entrées de la méthode Dans l'appel de la méthode faisant l'interpolation, il faut donner le paramètre de p (période de saut), le numéro de la face courante, le point où l'on veut faire l'interpolation et les listes de sommets, arêtes et facettes qui composent le maillage. La méthode n'a pas vraiment besoin de connaître tout le maillage, elle n'utilise que deux facettes. Mais, soit la recherche de la facette la plus proche du point se faisait dans la méthode, et donc on a besoin du maillage, soit à l'extérieur, mais nous avons préféré que dans l'achage graphique, il n'y ait l'appel que d'une seule fonction pour ne pas compliquer le code.

10 4 RÉSULTATS DONNÉES PAR LA MÉTHODE 3.3.3 Les problèmes rencontrés Plusieurs problèmes ont été rencontrés pendant l'implémentation : Le plus gros problème est venu de la compréhension du code principal. En eet, celui-ci manque vraiment de commentaires et est donc dicilement utilisable rapidement. Un des chier que j'ai eu à manipuler comprenait dans les 2500 lignes avant que des changements soient faits. Mais il a très peu de commentaires La recherche d'une arête ou d'un sommet à partir d'une arête ou d'un sommet n'a pas toujours été évidente. La structure de données n'est pas toujours facile a utilisé dès lors que l'on doit mêler les trois composantes du maillage. Il y a eu des problèmes avec la structure de données. En eet, il y a normalement plus de choses dans la structure de données que ce que j'ai décrit, mais certains champs n'étaient pas remplis. L'intersection de deux droites dans l'espace m'a posé des problèmes : il y a des cas diérents à faire car il faut vérier que les dénominateurs ne sont pas nuls, et j'ai fait des erreurs dans les conditions et des échanges de variables. Ces erreurs n'ont pas été faciles à trouver. J'ai eu du mal à comprendre ce qu'est le paramètre α (voir 2.3.3). Il était expliqué grâce à un dessin que je n'avais pas compris au moment de l'implémentation. La première version ne donnait pas la bonne chose. 4 Résultats données par la méthode 4.1 Des succès Lorsque l'on observe les vecteurs le long des lignes entre les centres de gravité des facettes et les milieux des arêtes, on voit que le plus souvent ils tournent comme nous le voulons et sur d'autres gures, on voit que les vecteurs sont constants selon des lignes passant par les sommets. La gure 5 est un exemple où l'on voit les vecteurs tourner le long de la ligne. 4.2 Les problèmes non résolus Il reste plusieurs problèmes : A certains endroits, les vecteurs sont constant le long de ligne e dans une même facette. Cela semble provenir de l'implémentation de la méthode d'intersection de deux droites. La gure 6 montre ce problème. Lorsque les lignes de champs s'approchent des sommets, elles deviennent instables et sortent parfois du maillage.

4.2 Les problèmes non résolus 11 Figure 5 Exemple où le champ est correct Figure 6 Exemple où le champ n'est pas correct

12 5 COMMENTAIRES SUR LA MÉTHODE 5 Commentaires sur la méthode 5.1 Le champ est-il continu? 5.1.1 Dans la facette Pour savoir si le champ est continue, il sut de regarder la continuité sur la ligne e qui est dans une facette. On voit que θ et ρ sont continus le long de la ligne, le champ est donc continu dans la facette. 5.1.2 Les sommets Mais il faut se demander comment se comporte le champ au sommet. Le sommet est sur toutes les lignes passant par lui-même et la ligne e. Le champ à un sommet prend donc toutes les valeurs qu'il y a sur la ligne. Comme ces valeurs ne sont pas constantes, le champ ne peut pas être déni en ce sommet. Le champ n'est donc pas continue aux sommets du maillage. 5.1.3 Passage entre deux facettes Les vecteurs étant dans le plan des facettes, le passage ne peut pas être continu si les facettes ne sont pas dans le même plan. Mais on peut dire qu'il y a une sorte de pseudo-continuité puisque sur l'arête entre les deux facettes, l'angle et la norme dépendent du vecteur que l'on trouve pour le milieu de l'arête. Il faut donc choisir la base polaire de la deuxième facette de façon à ce que les deux bases polaires soient égales si les deux facettes sont dans le même plan. Donc pour avoir la base polaire de la seconde facette, on prend la base polaire de la première et on la fait tourner autour de l'arête qui est contenu dans les deux facettes jusqu'à ce que l'on se retrouve dans le plan de la deuxième facette. 5.2 Comportement des lignes de champ Le programme permet de tracer des lignes de champ qui partent du barycentre. J'ai pu alors observer que celle-ci avait tendance à aller vers un des sommet de la facette d'où elle part. Ceci est dû au fait que l'on fait tourner le vecteur le long de la ligne. En faisant ceci, il y a des chances qu'à un moment, le vecteur d'un point P de la ligne e soit dirigé vers un des sommets de l'arête la plus proche de P. Comme les vecteurs sont constants le long du segment entre P et ce sommet, si la ligne de champ arrive sur ce segment, elle sera envoyé sur le sommet. De plus, les vecteurs qui sont proches de cette ligne ont tendance à ramener la ligne de champ vers ce segment. On peut donc dire que la ligne de champ va souvent se diriger vers un sommet sans changer de facette.

13 Figure 7 Comportement des lignes de champ Un exemple est montré à la gure 7 où l'on voit bien que la ligne de champ va vers un des sommets de la facette. 6 Conclusions 6.1 Conclusion du projet Malgré le problème que l'on rencontre, la méthode fonctionne en de nombreux points du maillage. De plus, les deux méthodes d'achage du champ de vecteurs donnent un bon rendu. Le code est réutilisable et est commenté. En changeant un paramètre à l'intérieur du code, il est possible de contrôler la valeur des paramètres à chaque partie du code. Grâce à cela, il doit être possible de comprendre ce qu'il se passe et comment enlever l'erreur. 6.2 Conclusion du TER Le TER a été une bonne expérience pour moi, j'ai pu découvrir le monde de la recherche en travaillant dans un des bureau du laboratoire ou encore en assistant à une réunion de l'équipe de recherche IMAGINE. J'ai aussi pu voir des présentation de travaux d'étudiants en thèse dans le domaine des mathématiques appliqués.