visualisation scientifique - imag→maillage volumique td’un volume parall`el´epip`edique p...
TRANSCRIPT
Visualisation Scientifique
Nicolas SZAFRAN
UJF
2010/2011
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 1 / 242
Plan
1 Introduction
2 Types de donnees
3 Visualisation de donnees surfaciques
4 Visualisation de donnees volumiques
5 Visualisation de champs de vecteurs
6 Simplification de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 2 / 242
Introduction
Plan
1 IntroductionQu’est ce que la visu. scientifiquePlace de la Visualisation Scientifique dans un processus d’etudeD’autres exemples
2 Types de donnees
3 Visualisation de donnees surfaciques
4 Visualisation de donnees volumiques
5 Visualisation de champs de vecteurs
6 Simplification de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 3 / 242
Introduction Qu’est ce que la visu. scientifique
Plan
1 IntroductionQu’est ce que la visu. scientifiquePlace de la Visualisation Scientifique dans un processus d’etudeD’autres exemples
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 4 / 242
Introduction Qu’est ce que la visu. scientifique
Qu’est ce que la visu. scientifique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 5 / 242
Introduction Qu’est ce que la visu. scientifique
Qu’est ce que la visu. scientifique
but : permettre a un expert d’apprehender de maniere synthetique etpertinente un important volume de donnees sous forme d’images.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 5 / 242
Introduction Qu’est ce que la visu. scientifique
Qu’est ce que la visu. scientifique
but : permettre a un expert d’apprehender de maniere synthetique etpertinente un important volume de donnees sous forme d’images.
a partir de donnees de mesures reelles ou simulees, fournir des outilspour la creation d’images (par ordinateur) afin de comprendre lephenomene dont proviennent ces mesures, et eventuellement validerou non les modeles (et les modifier si necessaire)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 5 / 242
Introduction Qu’est ce que la visu. scientifique
Qu’est ce que la visu. scientifique
but : permettre a un expert d’apprehender de maniere synthetique etpertinente un important volume de donnees sous forme d’images.
a partir de donnees de mesures reelles ou simulees, fournir des outilspour la creation d’images (par ordinateur) afin de comprendre lephenomene dont proviennent ces mesures, et eventuellement validerou non les modeles (et les modifier si necessaire)
domaine de recherche qui s’est developpe parallelement a celui del’informatique, la modelisation geometrique, et utilise par differentessciences de l’ingenieur : cela mene a un tres grand nombre demethodes de visualisation (pratiquement une differente parapplication)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 5 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Plan
1 IntroductionQu’est ce que la visu. scientifiquePlace de la Visualisation Scientifique dans un processus d’etudeD’autres exemples
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 6 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
En general, la VS (Visualisation Scientifique) s’inscrit dans un processusd’etude :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 7 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
En general, la VS (Visualisation Scientifique) s’inscrit dans un processusd’etude :
comme outil pour visualiser des donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 7 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
En general, la VS (Visualisation Scientifique) s’inscrit dans un processusd’etude :
comme outil pour visualiser des donnees
et eventuellement modifier ou ameliorer un modele
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 7 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
En general, la VS (Visualisation Scientifique) s’inscrit dans un processusd’etude :
comme outil pour visualiser des donnees
et eventuellement modifier ou ameliorer un modele
→ illustration a travers quelques exemples.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 7 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception d’une voiture de course
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 8 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception d’une voiture de course
Exemple de simulation d’ecoulement d’air (FLUENT / Williams F1)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 8 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception d’une voiture de course
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 9 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception d’une voiture de course
A) A partir de la definition CAOd’une voiture et de donneesphysiques,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 9 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception d’une voiture de course
A) A partir de la definition CAOd’une voiture et de donneesphysiques,B) simuler l’ecoulement de l’airautour de la voiture,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 9 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception d’une voiture de course
A) A partir de la definition CAOd’une voiture et de donneesphysiques,B) simuler l’ecoulement de l’airautour de la voiture,
C) visualiser l’ecoulement de l’air autour de la voiture ainsi que la pressionsur sa surface,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 9 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception d’une voiture de course
A) A partir de la definition CAOd’une voiture et de donneesphysiques,B) simuler l’ecoulement de l’airautour de la voiture,
C) visualiser l’ecoulement de l’air autour de la voiture ainsi que la pressionsur sa surface,D) afficher sur un ecran graphique,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 9 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception d’une voiture de course
A) A partir de la definition CAOd’une voiture et de donneesphysiques,B) simuler l’ecoulement de l’airautour de la voiture,
C) visualiser l’ecoulement de l’air autour de la voiture ainsi que la pressionsur sa surface,D) afficher sur un ecran graphique,afin de valider ou non l’etude CAO (et eventuellement la modifier)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 9 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
A) Donnees C.A.O de la voiture :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 10 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
A) Donnees C.A.O de la voiture :ensemble de surfaces B-splines/NURBS
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 10 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
A) Donnees C.A.O de la voiture :ensemble de surfaces B-splines/NURBS→ maillage surfaciqueM de la surface S de la voiture +
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 10 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
A) Donnees C.A.O de la voiture :ensemble de surfaces B-splines/NURBS→ maillage surfaciqueM de la surface S de la voiture +→ maillage volumique T d’un volume parallelepipedique P contenant lasurface S de la voiture
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 10 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
A) Donnees C.A.O de la voiture :ensemble de surfaces B-splines/NURBS→ maillage surfaciqueM de la surface S de la voiture +→ maillage volumique T d’un volume parallelepipedique P contenant lasurface S de la voiture
+ donnees physiques :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 10 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
A) Donnees C.A.O de la voiture :ensemble de surfaces B-splines/NURBS→ maillage surfaciqueM de la surface S de la voiture +→ maillage volumique T d’un volume parallelepipedique P contenant lasurface S de la voiture
+ donnees physiques :– caracteristiques de l’air (pression, temperature, vitesse, ...)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 10 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
A) Donnees C.A.O de la voiture :ensemble de surfaces B-splines/NURBS→ maillage surfaciqueM de la surface S de la voiture +→ maillage volumique T d’un volume parallelepipedique P contenant lasurface S de la voiture
+ donnees physiques :– caracteristiques de l’air (pression, temperature, vitesse, ...)– caracteristiques du materiau de la surface.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 10 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
B) Simulation numerique :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 11 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
B) Simulation numerique :mise en equation des lois physiques d’ecoulement d’air autour d’unesurface rigide : domaine de dynamique des fluides
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 11 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
B) Simulation numerique :mise en equation des lois physiques d’ecoulement d’air autour d’unesurface rigide : domaine de dynamique des fluides→ equations de Navier-Stokes : relations entre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 11 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
B) Simulation numerique :mise en equation des lois physiques d’ecoulement d’air autour d’unesurface rigide : domaine de dynamique des fluides→ equations de Navier-Stokes : relations entre
– vecteur−→V = (Vx ,Vy ,Vz) (vitesse du fluide - l’air),
– scalaire p (pression),– constante ρ (densite du fluide),– constante µ (viscosite dynamique),
– vecteur−→F = (Fx ,Fy ,Fz) (forces exterieures).
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 11 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 12 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
ρ[
∂−→V
∂t+ (−→V∇) · −→V
]
= −∇p + µ∇2−→V +−→F
div−→V = 0
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 12 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
ρ[
∂−→V
∂t+ (−→V∇) · −→V
]
= −∇p + µ∇2−→V +−→F
div−→V = 0
avec conditions de bord :{−→
V |S = 0−→V |δP = V0
V0 vitesse de l’air / repere de l’avion
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 12 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
→ discretisation des equations suivant la tetraedrisation T :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 13 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
→ discretisation des equations suivant la tetraedrisation T :en chaque sommet Xi = (xi , yi , zi) de T , calculer :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 13 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
→ discretisation des equations suivant la tetraedrisation T :en chaque sommet Xi = (xi , yi , zi) de T , calculer :
un vecteur vitesse Vi = (vxi , vyi , vzi )
un scalaire pression pi .
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 13 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
→ discretisation des equations suivant la tetraedrisation T :en chaque sommet Xi = (xi , yi , zi) de T , calculer :
un vecteur vitesse Vi = (vxi , vyi , vzi )
un scalaire pression pi .
Utilisation des relations de voisinage entre sommets etdiscretisation des equations :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 13 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
→ discretisation des equations suivant la tetraedrisation T :en chaque sommet Xi = (xi , yi , zi) de T , calculer :
un vecteur vitesse Vi = (vxi , vyi , vzi )
un scalaire pression pi .
Utilisation des relations de voisinage entre sommets etdiscretisation des equations :→ systemes d’equations lineaires.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 13 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureSimulation numerique
→ discretisation des equations suivant la tetraedrisation T :en chaque sommet Xi = (xi , yi , zi) de T , calculer :
un vecteur vitesse Vi = (vxi , vyi , vzi )
un scalaire pression pi .
Utilisation des relations de voisinage entre sommets etdiscretisation des equations :→ systemes d’equations lineaires.→ resolution de grands systemes lineaires creux avec methodes iterativesadaptees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 13 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureVisualisation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 14 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureVisualisation
Donnees avant visualisation : la tetraedrisation T avec en chaque sommetXi de T :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 14 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureVisualisation
Donnees avant visualisation : la tetraedrisation T avec en chaque sommetXi de T :
le vecteur vitesse Vi
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 14 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureVisualisation
Donnees avant visualisation : la tetraedrisation T avec en chaque sommetXi de T :
le vecteur vitesse Vi
la valeur scalaire pi de la pression en ce point.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 14 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureVisualisation
C-1) Visualisation des trainees autour de la voiture :Calcul de la trajectoire de particules au voisinage de la voiture, particulessoumises au champ de vitesse V (tel que cela est fait en soufflerie)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 15 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureVisualisation
C-1) Visualisation des trainees autour de la voiture :Calcul de la trajectoire de particules au voisinage de la voiture, particulessoumises au champ de vitesse V (tel que cela est fait en soufflerie)→ calcul de lignes de flux (streamlines) suivant le champ de vecteurs V :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 15 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureVisualisation
C-1) Visualisation des trainees autour de la voiture :Calcul de la trajectoire de particules au voisinage de la voiture, particulessoumises au champ de vitesse V (tel que cela est fait en soufflerie)→ calcul de lignes de flux (streamlines) suivant le champ de vecteurs V :
retrouver un champ de vecteurs V continu (i.e. fonction de R3 dans
R3 interpolant les donnees : V (Xi) = Vi) : probleme d’interpolation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 15 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voitureVisualisation
C-1) Visualisation des trainees autour de la voiture :Calcul de la trajectoire de particules au voisinage de la voiture, particulessoumises au champ de vitesse V (tel que cela est fait en soufflerie)→ calcul de lignes de flux (streamlines) suivant le champ de vecteurs V :
retrouver un champ de vecteurs V continu (i.e. fonction de R3 dans
R3 interpolant les donnees : V (Xi) = Vi) : probleme d’interpolation
choisir des points dans le volume d’etude, et pour chaque point R0
representant une particule, determiner sa trajectoire R suivant uneligne de flux : resolution d’une EDO
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 15 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
C-2) Visualisation de la pression sur la surface S de la voiture :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 16 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
C-2) Visualisation de la pression sur la surface S de la voiture :Representation des donnees scalaires sur une surface particuliere a l’aidede couleurs (representation surface-on-surface) :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 16 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
C-2) Visualisation de la pression sur la surface S de la voiture :Representation des donnees scalaires sur une surface particuliere a l’aidede couleurs (representation surface-on-surface) :calcul de courbes isovaleur (methode de contouring)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 16 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
D - Affichage sur un ecran graphique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 17 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
Exemple : conception de voiture
D - Affichage sur un ecran graphiquetechniques d’affichage de donnees 3D sur un ecran 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 17 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
La boucle d’etude
Processus (boucle) d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 18 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
La boucle d’etude
définition CAOModèle :
de la voiture+ données physiques
(A)
Processus (boucle) d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 18 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
La boucle d’etude
Simulation numériquede l’écoulement
résolution d’EDPde l’air :
définition CAOModèle :
de la voiture+ données physiques
(B)
(A)
Processus (boucle) d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 18 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
La boucle d’etude
Visu. des trainéeset de la pression :
méthode de contouringcalcul de streamlines +
Simulation numériquede l’écoulement
résolution d’EDPde l’air :
définition CAOModèle :
de la voiture+ données physiques
(C)(B)
(A)
Processus (boucle) d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 18 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
La boucle d’etude
Visu. des trainéeset de la pression :
méthode de contouringcalcul de streamlines +
Simulation numériquede l’écoulement
résolution d’EDP
Affichage sur un écran
de l’air :
graphique :définition CAOModèle :
outils graphiques /de la voiture+ données physiques synthèse d’image
(D)
(C)(B)
(A)
Processus (boucle) d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 18 / 242
Introduction Place de la Visualisation Scientifique dans un processus d’etude
La boucle d’etude
Visu. des trainéeset de la pression :
méthode de contouringcalcul de streamlines +
Simulation numériquede l’écoulement
résolution d’EDPde l’air :
graphique :définition CAOModèle :
outils graphiques /de la voiture+ données physiques synthèse d’image
Affichage sur un écran
(D)
(C)(B)
(A)
Processus (boucle) d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 18 / 242
Introduction D’autres exemples
Plan
1 IntroductionQu’est ce que la visu. scientifiquePlace de la Visualisation Scientifique dans un processus d’etudeD’autres exemples
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 19 / 242
Introduction D’autres exemples
Imagerie medicale
Imagerie medicale 3D : procedes radiographiques par coupes 2Dsuccessives (IRM, positon, ...)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 20 / 242
Introduction D’autres exemples
Imagerie medicale
Donnees : ensemble de coupes 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 21 / 242
Introduction D’autres exemples
Imagerie medicale
Donnees : ensemble de coupes 2Dchaque coupe 2D Ck : image formee de pixels Pi ,j
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 21 / 242
Introduction D’autres exemples
Imagerie medicale
Visualisation d’un ensemble de coupes 2D formant une grille 3D uniforme
Xi ,j ,k = (xi , yj , zk),Fi ,j ,k
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 22 / 242
Introduction D’autres exemples
Imagerie medicale
Visualisation d’un ensemble de coupes 2D formant une grille 3D uniforme
Xi ,j ,k = (xi , yj , zk),Fi ,j ,k
Xi ,j ,k = (xi , yj , zk) position d’un point dans l’espace
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 22 / 242
Introduction D’autres exemples
Imagerie medicale
Visualisation d’un ensemble de coupes 2D formant une grille 3D uniforme
Xi ,j ,k = (xi , yj , zk),Fi ,j ,k
Xi ,j ,k = (xi , yj , zk) position d’un point dans l’espaceFi ,j ,k intensite (valeur du pixel) correspondant au materiau organique enXi ,j ,k (vide, os, muscle, vaisseau, ...)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 22 / 242
Introduction D’autres exemples
Imagerie medicale
Visualisation d’un ensemble de coupes 2D formant une grille 3D uniforme
Xi ,j ,k = (xi , yj , zk),Fi ,j ,k
Xi ,j ,k = (xi , yj , zk) position d’un point dans l’espaceFi ,j ,k intensite (valeur du pixel) correspondant au materiau organique enXi ,j ,k (vide, os, muscle, vaisseau, ...)Differentes techniques possibles, par exemple :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 22 / 242
Introduction D’autres exemples
Imagerie medicale
A) Affichage de certaines coupes (slicing)
Representation par slicing
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 23 / 242
Introduction D’autres exemples
Imagerie medicale
A) Affichage de certaines coupes (slicing)
Representation par slicing
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 23 / 242
Introduction D’autres exemples
Imagerie medicale
A) Affichage de certaines coupes (slicing)
Representation par slicing
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 23 / 242
Introduction D’autres exemples
Imagerie medicale
A) Affichage de certaines coupes (slicing)
Representation par slicing
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 23 / 242
Introduction D’autres exemples
Imagerie medicale
B) Extraction de surfaces/volumes representant un organe particulier
Representation par extraction d’isosurface (Marching Tetrahedra)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 24 / 242
Introduction D’autres exemples
Imagerie medicale
C) Rendu volumique : image 2D du volume 3-D obtenu
Representation par rendu volumique
→ techniques similaires au lancer de rayons
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 25 / 242
Introduction D’autres exemples
Imagerie medicale
Acquisition par scannerensemble d’images 2D
(slices)
Affichage sur écran /impression
extraction de coupes particulières /reconstruction d’objets 3D /
rendu volumique
Processus (boucle) d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 26 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 27 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
Donnees de la forme : (Pi ;Fi) avec
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 27 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
Donnees de la forme : (Pi ;Fi) avecPi point du globe terrestre (∼ sphere)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 27 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
Donnees de la forme : (Pi ;Fi) avecPi point du globe terrestre (∼ sphere)Fi donnee associee au point Pi (profondeur/altitude)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 27 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
Donnees de la forme : (Pi ;Fi) avecPi point du globe terrestre (∼ sphere)Fi donnee associee au point Pi (profondeur/altitude)
Representation de donnees terrestres
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 27 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
1) A partir de donnees quelconques Pi ,Fi ,
−180 +180+90
−90
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 28 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
1) A partir de donnees quelconques Pi ,Fi ,calculer des donnees Fi ,j sur une grille reguliere (αi , βj )avec αi longitude et βj latitude
−180 +180+90
−90
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 28 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
1) A partir de donnees quelconques Pi ,Fi ,calculer des donnees Fi ,j sur une grille reguliere (αi , βj )avec αi longitude et βj latitude→ passage de donnees quelconques a des donnees de type grille
−180 +180+90
−90
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 28 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
1) A partir de donnees quelconques Pi ,Fi ,calculer des donnees Fi ,j sur une grille reguliere (αi , βj )avec αi longitude et βj latitude→ passage de donnees quelconques a des donnees de type grille
−180 +180+90
−90
Interpolation de donnees quelconques suivant une grille reguliere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 28 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
2) Donnee Fi ,j → couleur ci ,j
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 29 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
2) Donnee Fi ,j → couleur ci ,j
→ image bitmap
Image des profondeurs/altitudes
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 29 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
3) Visualisation sur une sphere→ affichage 3-D d’une sphere avec texture.
Representation sphere 3D avec texture
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 30 / 242
Introduction D’autres exemples
Representation de donnees sur le globe terrestre
Ensemble de donnéessur le globe terrestre
interpolation des données suivant une grille régulièrecalcul d’une image
Affichage d’une sphèreavec texture
Processus d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 31 / 242
Introduction D’autres exemples
Representation de champ de vecteurs
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 32 / 242
Introduction D’autres exemples
Representation de champ de vecteurs
Donnees :Points Pi = (xi , yi ) du plan + vecteurs associes Vi = (Vxi ,Vyi)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 32 / 242
Introduction D’autres exemples
Representation de champ de vecteurs
Donnees :Points Pi = (xi , yi ) du plan + vecteurs associes Vi = (Vxi ,Vyi)→ representation des donnees telles quelles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 32 / 242
Introduction D’autres exemples
Representation de champ de vecteurs
Deformer une image avec le champ de vecteurs : methode LIC
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 33 / 242
Introduction D’autres exemples
Representation de champ de vecteurs
Deformer une image avec le champ de vecteurs : methode LIC
Image initiale
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 33 / 242
Introduction D’autres exemples
Representation de champ de vecteurs
Deformer une image avec le champ de vecteurs : methode LIC
Image initiale Image deformee
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 33 / 242
Introduction D’autres exemples
Representation de champ de vecteurs
Champ de vecteur +image
calcul de l’image déformée (méthode LIC)
Affichage
calcul du champ de vecteur sur une grille 2D /
Processus d’etude
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 34 / 242
Types de donnees
Plan
1 Introduction
2 Types de donneesExemplesTypes de donnees et structures de donnees dedieesPassage a des donnees de type grille reguliere
3 Visualisation de donnees surfaciques
4 Visualisation de donnees volumiques
5 Visualisation de champs de vecteurs
6 Simplification de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 35 / 242
Types de donnees Exemples
Plan
2 Types de donneesExemplesTypes de donnees et structures de donnees dedieesPassage a des donnees de type grille reguliere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 36 / 242
Types de donnees Exemples
Scanner medical
0.000 0.000 0.000 100.001 0.000 0.000 11
......
......
0.499 0.000 0.000 90.000 0.001 0.000 7
......
......
0.234 0.177 0.113 2030...
......
...
Donnees : (position) xi ,j ,k , yi ,j ,k, zi ,j ,k + (intensite) Fi ,j ,k
avec 0 ≤ i < M, 0 ≤ j < N et 0 ≤ j < P
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 37 / 242
Types de donnees Exemples
Exemples
Forage Well log data1.100 4.000 0.000 01.100 4.000 10.000 16
......
......
1.100 4.000 1000.000 1350.000 10.00 0.000 750.000 10.00 20.000 8
......
......
Donnees : (position) xi ,j , yi ,j , zi ,j + (indice de materiau) Ki ,j
avec 0 ≤ i < N et 0 ≤ j ≤ Mi
(en general (xi ,j , yi ,j) = Pi point de forage numero i)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 38 / 242
Types de donnees Exemples
Soufflerie
2.756 8.568 9.756 (-2.7,6.3,5.9)2.865 8.732 9.559 (-2.9,6.5,6.9)
......
......
Donnees : (position) xi , yi , zi + (vitesse) (Vxi ,Vyi ,Vzi)avec 0 ≤ i < N
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 39 / 242
Types de donnees Exemples
Donnees bathymetriques/altimetriques
−180◦00′ −90◦00′ 2776 m−180◦00′ −89◦58′ 2774 m−180◦00′ −89◦56′ 2770 m
......
...−180◦00′ +89◦58′ -4110 m−180◦00′ +90◦00′ -4117 m−178◦58′ −90◦00′ 2776 m
......
...+180◦ +90◦00′ -4117 m
Donnees : (longitude,latitude) αi ,j , βi ,j + (altitude) hi ,j
avec 0 ≤ i < M et 0 ≤ j < N
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 40 / 242
Types de donnees Exemples
Structure 3-D
Donnees : Maillage tetraedrique- liste de points 3D Pi + donnees associees Vi
- liste de tetraedres Tj = [j1, j2, j3, j4] indices des 4 sommets
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 41 / 242
Types de donnees Exemples
S.I.G. - Cartographie
Donnees : liste de contours, routes, voies d’eau, voies ferrees, noms, . . .
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 42 / 242
Types de donnees Exemples
E.G.G
Donnees : positions du crane Pi = (Xi ,Yi ,Zi ) + Vi ,j voltages associes auxtemps ti ,j
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 43 / 242
Types de donnees Types de donnees et structures de donnees dediees
Plan
2 Types de donneesExemplesTypes de donnees et structures de donnees dedieesPassage a des donnees de type grille reguliere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 44 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees dispersees / Scattered data
Donnees de la forme Di avec 0 ≤ i < NPas de relations entre les differents points de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 45 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees dispersees / Scattered data
Donnees de la forme Di avec 0 ≤ i < NPas de relations entre les differents points de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 45 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees dispersees / Scattered data
Donnees de la forme Di avec 0 ≤ i < NPas de relations entre les differents points de donnees
→ structure de donnees : liste/tableau des donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 45 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Donnees de la forme Di avec 0 ≤ i < N
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 46 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Donnees de la forme Di avec 0 ≤ i < N+ relations d’adjacence entre certains points / elements du maillage
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 46 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Donnees de la forme Di avec 0 ≤ i < N+ relations d’adjacence entre certains points / elements du maillage
Exemple : triangulation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 46 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Structure 1-D : donnees agencees suivant des listes lineaires (chaınes)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 47 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Structure 1-D : donnees agencees suivant des listes lineaires (chaınes)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 47 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Structure 1-D : donnees agencees suivant des listes lineaires (chaınes)
structure de donnees : liste/tableau de chaınes 1-D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 47 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Structure 1-D : donnees agencees suivant des listes lineaires (chaınes)
structure de donnees : liste/tableau de chaınes 1-D
chaque chaıne : liste/tableau de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 47 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 2-D : donnees agencees suivant des polygones (convexes)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 48 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 2-D : donnees agencees suivant des polygones (convexes)
donnees surfaciques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 48 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 2-D : donnees agencees suivant des polygones (convexes)
donnees surfaciques
polygone : triangle, quadrangle, . . .
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 48 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 2-D : donnees agencees suivant des polygones (convexes)
donnees surfaciques
polygone : triangle, quadrangle, . . .
structure la plus utilisee : triangulation (faces=triangles)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 48 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 2-D : donnees agencees suivant des polygones (convexes)
donnees surfaciques
polygone : triangle, quadrangle, . . .
structure la plus utilisee : triangulation (faces=triangles)
permet d’approcher tout domaine,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 48 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 2-D : donnees agencees suivant des polygones (convexes)
donnees surfaciques
polygone : triangle, quadrangle, . . .
structure la plus utilisee : triangulation (faces=triangles)
permet d’approcher tout domaine,→ structures de donnees simples,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 48 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Triangulation Quadrangulation
Maillage quelconque Maillage hybride 3-4
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 49 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 50 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 :
liste des sommets avec pour chaque sommet
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 50 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 50 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
liste des faces avec pour chaque face
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 50 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
liste des faces avec pour chaque face
la liste des sommets ordonnes (S1, S2, S3)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 50 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 : exemple
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 51 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 : exemple
1
3 4
5
2
1
2
3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 51 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 : exemple
1
3 4
5
2
1
2
3
Sommet x y
1 0 22 2 23 0 04 2 05 4 1Sommets
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 51 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 : exemple
1
3 4
5
2
1
2
3
Sommet x y
1 0 22 2 23 0 04 2 05 4 1Sommets
Face S1 S2 S3
1 1 3 22 4 2 33 4 5 2
Faces
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 51 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 - Fichier OFF (logiciel Geomview)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 52 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 - Fichier OFF (logiciel Geomview)
0
2 3
4
1
1
2
3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 52 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 - Fichier OFF (logiciel Geomview)
0
2 3
4
1
1
2
3
Exemple de fichier :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 52 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 - Fichier OFF (logiciel Geomview)
0
2 3
4
1
1
2
3
Exemple de fichier :
OFF5 3 0
0 2 02 2 00 0 02 0 04 1 0
3 0 2 13 3 1 23 3 4 1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 52 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1 - Fichier OFF (logiciel Geomview)
0
2 3
4
1
1
2
3
Exemple de fichier :
OFF5 3 0
0 2 02 2 00 0 02 0 04 1 0
3 0 2 13 3 1 23 3 4 1
! : indicage des sommets a partir de 0.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 52 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 53 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1
(+) structure de donnees simple
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 53 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1
(+) structure de donnees simple(-) certaines operations de parcours difficiles a implementer(par exemple passer d’une face a une face voisine)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 53 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 1
(+) structure de donnees simple(-) certaines operations de parcours difficiles a implementer(par exemple passer d’une face a une face voisine)
→ enrichir la structure avec d’autres relations entre elements
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 53 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 54 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 :
liste des sommets avec pour chaque sommet
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 54 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 54 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
liste des faces avec pour chaque face
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 54 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
liste des faces avec pour chaque face
la liste des sommets ordonnes (S1, S2, S3)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 54 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
liste des faces avec pour chaque face
la liste des sommets ordonnes (S1, S2, S3)la liste des faces adjacentes (F1, F2, F3)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 54 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
liste des faces avec pour chaque face
la liste des sommets ordonnes (S1, S2, S3)la liste des faces adjacentes (F1, F2, F3)F1 : face adjacente suivante l’arete [S1, S2]F2 : face adjacente suivante l’arete [S2, S3]F3 : face adjacente suivante l’arete [S3, S1]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 54 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 :
liste des sommets avec pour chaque sommet
ses coordonnees (x , y)
liste des faces avec pour chaque face
la liste des sommets ordonnes (S1, S2, S3)la liste des faces adjacentes (F1, F2, F3)F1 : face adjacente suivante l’arete [S1, S2]F2 : face adjacente suivante l’arete [S2, S3]F3 : face adjacente suivante l’arete [S3, S1]Fj = ∅ si face absente (cas arete externe)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 54 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 : exemple
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 55 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 : exemple
1
3 4
5
2
1
2
3
Maillage
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 55 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 : exemple
1
3 4
5
2
1
2
3
Maillage
Sommet x y
1 0 22 2 23 0 04 2 05 4 1Sommets
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 55 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / MaillageStructures de donnees pour triangulation
Structure de donnee 2 : exemple
1
3 4
5
2
1
2
3
Maillage
Sommet x y
1 0 22 2 23 0 04 2 05 4 1Sommets
Face S1 S2 S3 F1 F2 F3
1 1 3 2 ∅ 2 ∅2 4 2 3 3 1 ∅3 4 5 2 ∅ ∅ 2
Faces
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 55 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : donnees agencees suivant des polyedres (convexes)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 56 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : donnees agencees suivant des polyedres (convexes)
donnees volumiques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 56 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : donnees agencees suivant des polyedres (convexes)
donnees volumiques
polyedre : tetraedre, pentaedre (prisme a base triangulaire), hexaedre(prisme a base quadrangulaire), . . .
Tetraedre Pentaedre Hexaedre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 56 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : donnees agencees suivant des polyedres (convexes)
donnees volumiques
polyedre : tetraedre, pentaedre (prisme a base triangulaire), hexaedre(prisme a base quadrangulaire), . . .
Tetraedre Pentaedre Hexaedre
structure la plus utilisee : tetraedrisation (cellules=tetraedres)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 56 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Exemple de maillage tetraedrique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 57 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Exemple de maillage hexaedrique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 58 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : structures de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 59 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : structures de donnees
similaires aux maillages 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 59 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : structures de donnees
similaires aux maillages 2D
exemple maillage tetraedre :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 59 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : structures de donnees
similaires aux maillages 2D
exemple maillage tetraedre :
liste/tableau des sommets
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 59 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees structurees / Maillage
Maillage 3D : structures de donnees
similaires aux maillages 2D
exemple maillage tetraedre :
liste/tableau des sommetsliste/tableau des tetraedres, avec pour chaque cellule (tetraedre)liste/tableau des 4 sommets
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 59 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Donnees de la forme Di ,j (grille 2D) ou Di ,j ,k (grille 3D)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 60 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Donnees de la forme Di ,j (grille 2D) ou Di ,j ,k (grille 3D)
Maillage regulier a base de quadrangles/rectangles (2D) ou a base dehexaedres
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 60 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Donnees de la forme Di ,j (grille 2D) ou Di ,j ,k (grille 3D)
Maillage regulier a base de quadrangles/rectangles (2D) ou a base dehexaedres
Grille 2D non uniforme Grille 2D uniforme Grille 3D uniforme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 60 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Donnees de la forme Di ,j (grille 2D) ou Di ,j ,k (grille 3D)
Maillage regulier a base de quadrangles/rectangles (2D) ou a base dehexaedres
Grille 2D non uniforme Grille 2D uniforme Grille 3D uniforme
→ structure : tableau 2D/3D des donnees(+ tableau / liste pour chaque ordonnee)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 60 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Exemple :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 61 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Exemple :
−180 +180+90
−90
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 61 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Exemple :
−180 +180+90
−90
M = 15αmin = −180αmax = +180(discretisation longitude)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 61 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Exemple :
−180 +180+90
−90
M = 15αmin = −180αmax = +180(discretisation longitude)
N = 10βmin = −180βmax = +180(discretisation latitude)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 61 / 242
Types de donnees Types de donnees et structures de donnees dediees
Donnees grille
Exemple :
−180 +180+90
−90
M = 15αmin = −180αmax = +180(discretisation longitude)
N = 10βmin = −180βmax = +180(discretisation latitude)
tableau de 10× 15valeurs
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 61 / 242
Types de donnees Passage a des donnees de type grille reguliere
Plan
2 Types de donneesExemplesTypes de donnees et structures de donnees dedieesPassage a des donnees de type grille reguliere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 62 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interet
En general, exploitation (en termes d’algorithmes) plus facile pour desdonnees de type grille reguliere.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 63 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interet
En general, exploitation (en termes d’algorithmes) plus facile pour desdonnees de type grille reguliere.
données éparses données maillées
données grille régulière
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 63 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interet
En general, exploitation (en termes d’algorithmes) plus facile pour desdonnees de type grille reguliere.
données éparses données maillées
données grille régulière
possibilite de passer a des donnees maillees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 63 / 242
Types de donnees Passage a des donnees de type grille reguliere
Principe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 64 / 242
Types de donnees Passage a des donnees de type grille reguliere
Principe
A partir de donnees dispersees ou structurees,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 64 / 242
Types de donnees Passage a des donnees de type grille reguliere
Principe
A partir de donnees dispersees ou structurees,definir une grille reguliere couvrant le domaine des donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 64 / 242
Types de donnees Passage a des donnees de type grille reguliere
Principe
A partir de donnees dispersees ou structurees,definir une grille reguliere couvrant le domaine des donneeset calculer les valeurs correspondantes en chaque point
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 64 / 242
Types de donnees Passage a des donnees de type grille reguliere
Principe
A partir de donnees dispersees ou structurees,definir une grille reguliere couvrant le domaine des donneeset calculer les valeurs correspondantes en chaque point
Donnees dispersees Donnees structurees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 64 / 242
Types de donnees Passage a des donnees de type grille reguliere
Principe
A partir de donnees dispersees ou structurees,definir une grille reguliere couvrant le domaine des donneeset calculer les valeurs correspondantes en chaque point
Donnees dispersees Donnees structureesvers grille reguliere vers grille reguliere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 64 / 242
Types de donnees Passage a des donnees de type grille reguliere
Principe
A partir de donnees dispersees ou structurees,definir une grille reguliere couvrant le domaine des donneeset calculer les valeurs correspondantes en chaque point
Donnees dispersees Donnees structureesvers grille reguliere vers grille reguliere
→ methode d’interpolation/extrapolation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 64 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage
Exemple d’un maillage 2-D : donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 65 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage
Exemple d’un maillage 2-D : donnees
Hypothese : le domaine de la triangulation couvre la grille.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 65 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage
Exemple d’un maillage 2-D : donnees
triangulation :– liste de points Pk = (xk , yk) + valeurs zk associees– liste de triangles Tm = (m1,m2,m3)
Hypothese : le domaine de la triangulation couvre la grille.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 65 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage
Exemple d’un maillage 2-D : donnees
triangulation :– liste de points Pk = (xk , yk) + valeurs zk associees– liste de triangles Tm = (m1,m2,m3)
grille de points :– R = [xmin, xmax ]× [ymin, ymax ],– entiers M et N (nb. intervalles en x et y)
Hypothese : le domaine de la triangulation couvre la grille.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 65 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage
Exemple d’un maillage 2-D : resultats
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 66 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage
Exemple d’un maillage 2-D : resultats
valeurs vi ,j aux points Gi ,j
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 66 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
algorithme simple :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 67 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
algorithme simple :
– pour chaque point Gi ,j de la grille reguliere finale
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 67 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
algorithme simple :
– pour chaque point Gi ,j de la grille reguliere finale
– trouver le triangle Tl le contenant
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 67 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
algorithme simple :
– pour chaque point Gi ,j de la grille reguliere finale
– trouver le triangle Tl le contenant
– calculer la valeur zi ,j correspondante a Gi ,j par rapport a Tl
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 67 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
coordonnees barycentriques (u, v ,w)d’un point G dans T = [P1,P2,P3] :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 68 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
coordonnees barycentriques (u, v ,w)d’un point G dans T = [P1,P2,P3] :
{u P1 + v P2 + w P3 = Gi ,j
u + v + w = 1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 68 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
coordonnees barycentriques (u, v ,w)d’un point G dans T = [P1,P2,P3] :
{u P1 + v P2 + w P3 = Gi ,j
u + v + w = 1
→ resolution d’un systeme lin. 3× 3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 68 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
coordonnees barycentriques (u, v ,w)d’un point G dans T = [P1,P2,P3] :
{u P1 + v P2 + w P3 = Gi ,j
u + v + w = 1
→ resolution d’un systeme lin. 3× 3→ G ∈ T ⇐⇒ u, v ,w ≥ 0
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 68 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir d’un maillage 2-D
coordonnees barycentriques (u, v ,w)d’un point G dans T = [P1,P2,P3] :
{u P1 + v P2 + w P3 = Gi ,j
u + v + w = 1
→ resolution d’un systeme lin. 3× 3→ G ∈ T ⇐⇒ u, v ,w ≥ 0⇒ valeur z du point G par rapport a T :
z = u z1 + v z2 + w z3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 68 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 1 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 69 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 1 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 69 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 1 :
– effectuer un maillage des donnees (par ex. Delaunay)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 69 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 1 :
– effectuer un maillage des donnees (par ex. Delaunay)
– utiliser la methode precedente
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 69 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 2 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 70 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 2 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 70 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 2 :
– calculer une fonction f interpolant les donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 70 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 2 :
– calculer une fonction f interpolant les donnees
– pour chaque point G de la grille, calculer la valeur f (G ) correspondante
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 70 / 242
Types de donnees Passage a des donnees de type grille reguliere
Calcul d’une grille reguliere a partir de donnees dispersees
methode 2 :
– calculer une fonction f interpolant les donnees
– pour chaque point G de la grille, calculer la valeur f (G ) correspondante
→ methodes d’interpolation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 70 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interpolation de donnees dispersees
Exemples des splines radiales
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 71 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interpolation de donnees dispersees
Exemples des splines radialesDonnees : Pi = (xi , yi ) et valeur zi associee (1 ≤ i ≤ n ≤ 500)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 71 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interpolation de donnees dispersees
Exemples des splines radialesDonnees : Pi = (xi , yi ) et valeur zi associee (1 ≤ i ≤ n ≤ 500)→ fonction f interpolante :
f (x , y) = f (P) =n∑
i=1
ci‖P − Pi‖3 + cn+1x + cn+2y + cn+3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 71 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interpolation de donnees dispersees
Exemples des splines radialesDonnees : Pi = (xi , yi ) et valeur zi associee (1 ≤ i ≤ n ≤ 500)→ fonction f interpolante :
f (x , y) = f (P) =n∑
i=1
ci‖P − Pi‖3 + cn+1x + cn+2y + cn+3
avec les conditions :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 71 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interpolation de donnees dispersees
Exemples des splines radialesDonnees : Pi = (xi , yi ) et valeur zi associee (1 ≤ i ≤ n ≤ 500)→ fonction f interpolante :
f (x , y) = f (P) =n∑
i=1
ci‖P − Pi‖3 + cn+1x + cn+2y + cn+3
avec les conditions :
f (Pi ) = zi 1 ≤ i ≤ n (interpolation)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 71 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interpolation de donnees dispersees
Exemples des splines radialesDonnees : Pi = (xi , yi ) et valeur zi associee (1 ≤ i ≤ n ≤ 500)→ fonction f interpolante :
f (x , y) = f (P) =n∑
i=1
ci‖P − Pi‖3 + cn+1x + cn+2y + cn+3
avec les conditions :
f (Pi ) = zi 1 ≤ i ≤ n (interpolation)∑n
i=1 cixi = 0∑n
i=1 ciyi = 0∑n
i=1 ci = 0
∣∣∣∣∣∣
(spline)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 71 / 242
Types de donnees Passage a des donnees de type grille reguliere
Interpolation de donnees dispersees
Exemples des splines radialesDonnees : Pi = (xi , yi ) et valeur zi associee (1 ≤ i ≤ n ≤ 500)→ fonction f interpolante :
f (x , y) = f (P) =n∑
i=1
ci‖P − Pi‖3 + cn+1x + cn+2y + cn+3
avec les conditions :
f (Pi ) = zi 1 ≤ i ≤ n (interpolation)∑n
i=1 cixi = 0∑n
i=1 ciyi = 0∑n
i=1 ci = 0
∣∣∣∣∣∣
(spline)
→ systeme lineaire de dimension n + 3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 71 / 242
Visualisation de donnees surfaciques
Plan
1 Introduction
2 Types de donnees
3 Visualisation de donnees surfaciquesGeneralitesCalcul de courbes iso-valeurs
4 Visualisation de donnees volumiques
5 Visualisation de champs de vecteurs
6 Simplification de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 72 / 242
Visualisation de donnees surfaciques Generalites
Plan
3 Visualisation de donnees surfaciquesGeneralitesCalcul de courbes iso-valeurs
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 73 / 242
Visualisation de donnees surfaciques Generalites
Cadre
Donnees surfaciques :
maillage/grille reguliere de points Pi
soit dans le plan S = R2 : Pi = (xi , yi )
soit sur une surface S ∈ R3 : Pi = (xi , yi , zi ) ∈ S
valeurs scalaires Fi , Fi valeur au point Pi
→ visualiser ces donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 74 / 242
Visualisation de donnees surfaciques Generalites
Exemple 1 : trace de courbes altimetriques sur une carte
geographique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 75 / 242
Visualisation de donnees surfaciques Generalites
Exemple 2 : representation de donnees sur la sphere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 76 / 242
Visualisation de donnees surfaciques Generalites
Techniques
A) representer le maillage / la grille de points avec les techniques habituellesde rendu 2D : rendu surfacique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 77 / 242
Visualisation de donnees surfaciques Generalites
Techniques
A) representer le maillage / la grille de points avec les techniques habituellesde rendu 2D : rendu surfacique
Rendu filaire
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 77 / 242
Visualisation de donnees surfaciques Generalites
Techniques
A) representer le maillage / la grille de points avec les techniques habituellesde rendu 2D : rendu surfacique
Ombrage uniforme par face
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 77 / 242
Visualisation de donnees surfaciques Generalites
Techniques
A) representer le maillage / la grille de points avec les techniques habituellesde rendu 2D : rendu surfacique
Ombrage ”lisse” (Phong)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 77 / 242
Visualisation de donnees surfaciques Generalites
Techniques
A) representer le maillage / la grille de points avec les techniques habituellesde rendu 2D : rendu surfacique
Visualisation mixte filaire/ombrage
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 77 / 242
Visualisation de donnees surfaciques Generalites
Techniques
B) representer des courbes iso-valeurs
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 78 / 242
Visualisation de donnees surfaciques Generalites
Techniques
B) representer des courbes iso-valeurs
Courbes isovaleur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 78 / 242
Visualisation de donnees surfaciques Generalites
Techniques
B) representer des courbes iso-valeurs
Visualisation mixte ombrage/courbes de niveau
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 78 / 242
Visualisation de donnees surfaciques Generalites
Techniques
B) representer des courbes iso-valeurs
Visualisation mixte ombrage/courbes de niveau
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 78 / 242
Visualisation de donnees surfaciques Generalites
Visualisation de fonctions analytiques
representer F : S → R avec S plan ou surface
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 79 / 242
Visualisation de donnees surfaciques Generalites
Visualisation de fonctions analytiques
representer F : S → R avec S plan ou surface→ discretiser la fonction suivant un maillage / une grille reguliere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 79 / 242
Visualisation de donnees surfaciques Generalites
Visualisation de fonctions analytiques
representer F : S → R avec S plan ou surface→ discretiser la fonction suivant un maillage / une grille reguliere→ representer des donnees Pi ,Fi = F (Pi )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 79 / 242
Visualisation de donnees surfaciques Generalites
Visualisation de fonctions analytiques
representer F : S → R avec S plan ou surface→ discretiser la fonction suivant un maillage / une grille reguliere→ representer des donnees Pi ,Fi = F (Pi )
0.0
0.2
0.4
0.6
0.8
1.0
1.2
Z
−2.0−1.5
−1.0−0.5
0.00.5
1.01.5
2.0
X−2
−1
0
1
2
Y
f (x , y) = exp(−(x − 1)2 − (y − 0.5)2) + exp(−(x + 1)2 − (y + 0.2)2)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 79 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Plan
3 Visualisation de donnees surfaciquesGeneralitesCalcul de courbes iso-valeurs
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 80 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Calcul des courbes de niveaux (isovaleur) d’une surface z = f (x , y)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 81 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Calcul des courbes de niveaux (isovaleur) d’une surface z = f (x , y)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 81 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Calcul des courbes de niveaux (isovaleur) d’une surface z = f (x , y)courbe iso-valeur = {surface z = f (x , y)} ∩ {plan z = v}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 81 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Calcul des courbes de niveaux (isovaleur) d’une surface z = f (x , y)courbe iso-valeur = {surface z = f (x , y)} ∩ {plan z = v}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 81 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Calcul des courbes de niveaux (isovaleur) d’une surface z = f (x , y)courbe iso-valeur = {surface z = f (x , y)} ∩ {plan z = v}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 81 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Calcul des courbes de niveaux (isovaleur) d’une surface z = f (x , y)courbe iso-valeur = {surface z = f (x , y)} ∩ {plan z = v}
Courbe iso-valeur ≡ courbe implicite {f (x , y) = v}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 81 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 82 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Donnees : maillage triangulaire plan avec sommets Pi = (xi , yi )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 82 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Donnees : maillage triangulaire plan avec sommets Pi = (xi , yi )
et valeurs associees zi
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 82 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Principe
Donnees : maillage triangulaire plan avec sommets Pi = (xi , yi )
et valeurs associees zi
24
1816
25
27 22 24
25
2316
15
16
17
24
21
→ determiner une courbe isovaleur (lineaire par morceaux)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 82 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Triangulation prealableCas de donnees dispersees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 83 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Triangulation prealableCas de donnees dispersees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 83 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Triangulation prealableCas de donnees dispersees
→ trianguler les donnees (par ex. Delaunay)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 83 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Triangulation prealableCas de maillages non triangulaires
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 84 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Triangulation prealableCas de maillages non triangulaires
→ trianguler les faces non triangulaires
Exemple des grilles regulieres ≡ maillages quadrangulaires
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 84 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Triangulation prealableCas de maillages non triangulaires
→ trianguler les faces non triangulaires
Exemple des grilles regulieres ≡ maillages quadrangulaires
→ decouper chaque rectangle en deux (differentes strategies possibles)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 84 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 85 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
Donnees : maillage triangulaire plan avec sommets Pi = (xi , yi )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 85 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
Donnees : maillage triangulaire plan avec sommets Pi = (xi , yi )
avec valeurs associees zi et une isovaleur v
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 85 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
Donnees : maillage triangulaire plan avec sommets Pi = (xi , yi )
avec valeurs associees zi et une isovaleur v
24
1816
25
27 22 24
25
2316
15
16
17
24
21
→ determiner une courbe isovaleur (lineaire par morceaux)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 85 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 86 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(A) - Marquage des sommets Pi avec une marque binaire :
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 86 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(A) - Marquage des sommets Pi avec une marque binaire :
si zi > v si zi ≤ v
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 86 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(A) - Marquage des sommets Pi avec une marque binaire :
si zi > v si zi ≤ v
24
1816
25
27 22 24
25
2316
15
16
17
24
21
→ partition des sommets en deux ensembles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 86 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 87 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 87 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
chaque triangle T = [S1,S2,S3]
S2S3
S1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 87 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
chaque triangle T = [S1,S2,S3] → 8 marquages possibles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 87 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
chaque triangle T = [S1,S2,S3] → 8 marquages possibles
→ 2 config. possibles :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 87 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
chaque triangle T = [S1,S2,S3] → 8 marquages possibles
→ 2 config. possibles : meme signe / signes differents
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 87 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. meme signe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 88 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. meme signe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 88 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. meme signe → pas d’intersection avec le plan z = v
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 88 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. meme signe → pas d’intersection avec le plan z = v
→ pas de partie de courbe isovaleur pour cette config.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 88 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. signes differents
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 89 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. signes differents
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 89 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. signes differents → intersection avec le plan z = v
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 89 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. signes differents → intersection avec le plan z = v
AB A
B
→ partie de courbe isovaleur pour cette config. reduite a un segment [A,B ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 89 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
config. signes differents → intersection avec le plan z = v
AB A
B
→ partie de courbe isovaleur pour cette config. reduite a un segment [A,B ]→ calcul de 2 intersections plan(z = v) ∩ arete[P ,Q]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 89 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
calcul du point I = plan(z = v) ∩ arete[P ,Q] :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 90 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
calcul du point I = plan(z = v) ∩ arete[P ,Q] :
plan (z=v)
Q = (xQ,yQ,zQ)
P = (xP,yP,zP)I = (x,y,v)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 90 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
calcul du point I = plan(z = v) ∩ arete[P ,Q] :
plan (z=v)
Q = (xQ,yQ,zQ)
P = (xP,yP,zP)I = (x,y,v)
I = (1− λ)P + λQ
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 90 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
calcul du point I = plan(z = v) ∩ arete[P ,Q] :
plan (z=v)
Q = (xQ,yQ,zQ)
P = (xP,yP,zP)I = (x,y,v)
I = (1− λ)P + λQ avec λ = (v − zP)/(zQ − zP)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 90 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
pour chaque triangle : 0 ou 1 segment a calculer
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 91 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(B) - Parcours des triangles et construction de la courbe iso-valeur
pour chaque triangle : 0 ou 1 segment a calculer
24
1816
25
27 22 24
25
2316
15
16
17
24
21
ensemble des segments calcules : courbe isovaleur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 91 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C1) - sans ordre particulier
24
1816
25
27 22 24
25
2316
15
16
17
24
21
→ parcours de la courbe iso-valeur impossible (pas de relation de voisinageentre les differents segments)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 92 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles
24
1816
25
27 22 24
25
2316
15
16
17
24
21
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
0) Triangulation initiale : aucune face marquee
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
1) Marquer les faces non intersectees par la courbe isovaleur(faces sans changement de signe)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
1) Marquer les faces non intersectees par la courbe isovaleur(faces sans changement de signe)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
2) Rechercher les composantes ouvertes2-A) Trouver une face non marqueeavec changement de signe sur une arete externeLa marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
2) Rechercher les composantes ouvertes2-B) Par voisinages successifs suivant les aretes intersectees,trouver les faces (avec changement de signe), les marqueret pour chacune calculer le segment de courbe correspondant
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
2) Rechercher les composantes ouvertes2-B) Par voisinages successifs suivant les aretes intersectees,trouver les faces (avec changement de signe), les marqueret pour chacune calculer le segment de courbe correspondant
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
2) Rechercher les composantes ouvertes2-B) Par voisinages successifs suivant les aretes intersectees,trouver les faces (avec changement de signe), les marqueret pour chacune calculer le segment de courbe correspondant
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
2) Rechercher les composantes ouvertes2-B) Par voisinages successifs suivant les aretes intersectees,trouver les faces (avec changement de signe), les marqueret pour chacune calculer le segment de courbe correspondant
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
2) Rechercher les composantes ouvertes2-C) Jusqu’a trouver une autre face au bordavec changement de signe sur une arete externeLa marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-A) Trouver une face F0 non marquee avec changement de signe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-B) Par voisinages successifs,trouver les faces avec changement de signeet les marquer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
F0
3) Rechercher les composantes fermees3-C) Jusqu’a revenir a la face F0
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Algorithme
(C) - Strategie de parcours des differents triangles(C2) - suivi de la courbe iso-valeur
24
1816
25
27 22 24
25
2316
15
16
17
24
21
→ necessite d’avoir une structure de donnees adaptee avec les relationsd’adjacence entre faces.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 93 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 94 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Donnees :
triangulation Tvaleur v
Routine I = intersection arete plan(P ,Q,v)λ ← (v − zP)/(zQ − zP)I ← (1− λ) P + λ Q
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 94 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Donnees :
triangulation Tvaleur v
Routine I = intersection arete plan(P ,Q,v)λ ← (v − zP)/(zQ − zP)I ← (1− λ) P + λ Q
Resultat :
courbe isovaleur C (liste de segments)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 94 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Calcul de la courbe isovaleur C
// Initialisation de CC ← Ø
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 95 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Calcul de la courbe isovaleur C
// (A) Marquage des sommetspour tout sommet S de T fairesi zS < v alorsmarque(S) ← 0
sinonmarque(S) ← 1
fin sifin pour
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 96 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Calcul de la courbe isovaleur C
// (B) Parcours des trianglespour tout triangle T de T faire// les trois sommets de T et leurs marquesS1 ← sommet1(T )S2 ← sommet2(T )S3 ← sommet3(T )m1 ← marque(S1)m2 ← marque(S2)m3 ← marque(S3)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 97 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Calcul de la courbe isovaleur C
// cas marque de S1 differente des marques de S2 et S3si m1 6= m2 et m1 6= m3 alors// calcul des deux intersectionsA ← intersection arete plan(S1,S2,v)B ← intersection arete plan(S1,S3,v)
C ← C ∪ {[A,B ]} // ajouter [A,B ] a Cfin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 98 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Calcul de la courbe isovaleur C
// cas marque de S2 differente des marques de S3 et S1si m2 6= m3 et m2 6= m1 alors// calcul des deux intersectionsA ← intersection arete plan(S2,S3,v)B ← intersection arete plan(S2,S1,v)
C ← C ∪ {[A,B ]} // ajouter [A,B ] a Cfin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 99 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
AlgorithmeEcriture de l’algo. pour la strategie (C1)
Calcul de la courbe isovaleur C
// cas marque de S3 differente des marques de S1 et S2si m3 6= m1 et m3 6= m2 alors// calcul des deux intersectionsA ← intersection arete plan(S3,S1,v)B ← intersection arete plan(S3,S2,v)
C ← C ∪ {[A,B ]} // ajouter [A,B ] a Cfin si
// fin de traitement du triangle Tfin pour
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 100 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Applications
Une courbe isovaleur Plusieurs courbes isovaleur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 101 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Applications
methodes utilisant le calcul de courbes isovaleur
−0.4
−0.2
−0.2
−0.2
00
0
0.2
0.2
0.2
0.4
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
3
Ajout d’information
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 102 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Applications
methodes utilisant le calcul de courbes isovaleur
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
0
2−0.5
0
0.5
Isolignes d’une surface 3D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 103 / 242
Visualisation de donnees surfaciques Calcul de courbes iso-valeurs
Applications
methodes utilisant le calcul de courbes isovaleur
2 4 6 8 10 12 14 16 18 20
2
4
6
8
10
12
14
16
18
20
Zone inter-courbes
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 104 / 242
Visualisation de donnees volumiques
Plan
1 Introduction
2 Types de donnees
3 Visualisation de donnees surfaciques
4 Visualisation de donnees volumiquesGeneralitesSlicingCalcul de surfaces iso-valeursRendu volumique
5 Visualisation de champs de vecteurs
6 Simplification de donneesNicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 105 / 242
Visualisation de donnees volumiques Generalites
Plan
4 Visualisation de donnees volumiquesGeneralitesSlicingCalcul de surfaces iso-valeursRendu volumique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 106 / 242
Visualisation de donnees volumiques Generalites
Cadre
Donnees volumiques :
maillage/grille reguliere de points Pi de l’espace
valeurs scalaires Fi , Fi valeur au point Pi
→ visualiser ces donneesNicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 107 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 3D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 3D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 3D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
A) ne representer que certaines donnees suivant des plans de coupe : slicing
Donnees IRM - vue des slices en 3D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 108 / 242
Visualisation de donnees volumiques Generalites
Techniques
B) extraire des surfaces iso-valeur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 109 / 242
Visualisation de donnees volumiques Generalites
Techniques
B) extraire des surfaces iso-valeur
Donnees IRM - extraction d’isosurface
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 109 / 242
Visualisation de donnees volumiques Generalites
Techniques
C) representer l’ensemble des donnees par des methodes specifiques : renduvolumique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 110 / 242
Visualisation de donnees volumiques Generalites
Techniques
C) representer l’ensemble des donnees par des methodes specifiques : renduvolumique
Donnees IRM - rendu volumique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 110 / 242
Visualisation de donnees volumiques Generalites
Visualisation de fonctions analytiques
representer F : R3 → R
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 111 / 242
Visualisation de donnees volumiques Generalites
Visualisation de fonctions analytiques
representer F : R3 → R
→ discretiser la fonction suivant un maillage volumique / une grille 3Dreguliere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 111 / 242
Visualisation de donnees volumiques Generalites
Visualisation de fonctions analytiques
representer F : R3 → R
→ discretiser la fonction suivant un maillage volumique / une grille 3Dreguliere→ representer des donnees (xi , yi , zi),Fi = F (xi , yi , zi )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 111 / 242
Visualisation de donnees volumiques Slicing
Plan
4 Visualisation de donnees volumiquesGeneralitesSlicingCalcul de surfaces iso-valeursRendu volumique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 112 / 242
Visualisation de donnees volumiques Slicing
Presentation
Cadre : Visualisation de donnees volumiques de type grilleDonnees reparties suivant une grille reguliere uniforme :– points Pi ,j ,k = (xi = x0 + i∆x , yj = y0 + j∆y , zk = z0 + k∆z)– valeurs associees Fi ,j ,k
avec 1 ≤ i ≤ M, 1 ≤ j ≤ N, 1 ≤ k ≤ P
Slicing : trace des donnees correspondant a des plans (coupes) particuliers
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 113 / 242
Visualisation de donnees volumiques Slicing
Exemple : visualisation d’une caracteristique d’un flux 3D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 114 / 242
Visualisation de donnees volumiques Slicing
Principe
Fixer une des coordonnees (x , y ou z) en fixant une des 3 indices i , j ou k
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 115 / 242
Visualisation de donnees volumiques Slicing
Principe
Fixer une des coordonnees (x , y ou z) en fixant une des 3 indices i , j ou k
i = i0 fixe → donnees surfaciques (Pj ,k ;Fj ,k)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 115 / 242
Visualisation de donnees volumiques Slicing
Principe
Fixer une des coordonnees (x , y ou z) en fixant une des 3 indices i , j ou k
i = i0 fixe → donnees surfaciques (Pj ,k ;Fj ,k)j = j0 fixe → donnees surfaciques (Pi ,k ;Fi ,k)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 115 / 242
Visualisation de donnees volumiques Slicing
Principe
Fixer une des coordonnees (x , y ou z) en fixant une des 3 indices i , j ou k
i = i0 fixe → donnees surfaciques (Pj ,k ;Fj ,k)j = j0 fixe → donnees surfaciques (Pi ,k ;Fi ,k)k = k0 fixe → donnees surfaciques (Pi ,j ;Fi ,j)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 115 / 242
Visualisation de donnees volumiques Slicing
Principe
Fixer une des coordonnees (x , y ou z) en fixant une des 3 indices i , j ou k
i = i0 fixe → donnees surfaciques (Pj ,k ;Fj ,k)j = j0 fixe → donnees surfaciques (Pi ,k ;Fi ,k)k = k0 fixe → donnees surfaciques (Pi ,j ;Fi ,j)
Representer ces donnees surfaciques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 115 / 242
Visualisation de donnees volumiques Slicing
Principe
Fixer une des coordonnees (x , y ou z) en fixant une des 3 indices i , j ou k
i = i0 fixe → donnees surfaciques (Pj ,k ;Fj ,k)j = j0 fixe → donnees surfaciques (Pi ,k ;Fi ,k)k = k0 fixe → donnees surfaciques (Pi ,j ;Fi ,j)
Representer ces donnees surfaciques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 115 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Plan
4 Visualisation de donnees volumiquesGeneralitesSlicingCalcul de surfaces iso-valeursRendu volumique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 116 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Principe
Donnees quelconques : Xi = (xi , yi , zi);Fi
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 117 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Principe
Donnees quelconques : Xi = (xi , yi , zi);Fi
Trouver une surface iso-valeur
Sv = {X ∈ R3,F (X ) = v}
ou F est un interpolant des donnees.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 117 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Principe
Donnees quelconques : Xi = (xi , yi , zi);Fi
Trouver une surface iso-valeur
Sv = {X ∈ R3,F (X ) = v}
ou F est un interpolant des donnees.
Equivalent 3D des courbes iso-valeurs→ methodes similaires
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 117 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Principe
Donnees quelconques : Xi = (xi , yi , zi);Fi
Trouver une surface iso-valeur
Sv = {X ∈ R3,F (X ) = v}
ou F est un interpolant des donnees.
Equivalent 3D des courbes iso-valeurs→ methodes similairesXi = (xi , yi , zi) ∈ R
3 + Fi ∈ R ≡ Pi = (xi , yi , zi ,Fi) ∈ R4
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 117 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Principe
Donnees quelconques : Xi = (xi , yi , zi);Fi
Trouver une surface iso-valeur
Sv = {X ∈ R3,F (X ) = v}
ou F est un interpolant des donnees.
Equivalent 3D des courbes iso-valeurs→ methodes similairesXi = (xi , yi , zi) ∈ R
3 + Fi ∈ R ≡ Pi = (xi , yi , zi ,Fi) ∈ R4
Sv ≡ {(x , y , z ,w) ∈ R4, F (x , y , z) = w}
︸ ︷︷ ︸
hypersurface de R4
∩{(x , y , z ,w) ∈ R4, w = v}
︸ ︷︷ ︸
hyperplan de R4
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 117 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Exemples d’application
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 118 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Exemples d’application
representation de surface implicite
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 118 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Exemples d’application
representation de surface implicite
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 118 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Exemples d’application
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 119 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Exemples d’application
image medicale - extraction du volume d’un organe specifique a partir decoupes issues d’un examen radiologiques (IRM, ...)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 119 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Exemples d’application
image medicale - extraction du volume d’un organe specifique a partir decoupes issues d’un examen radiologiques (IRM, ...)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 119 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Tetrahedra
Extraction d’une surface isovaleur dans une tetraedrisationMethode similaire a l’algorithme d’extraction de courbe isovaleur dans unetriangulation.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 120 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Tetrahedra
Extraction d’une surface isovaleur dans une tetraedrisationMethode similaire a l’algorithme d’extraction de courbe isovaleur dans unetriangulation.
Donnees : Tetraedrisation T avec
sommets Pi = (xi , yi , zi ) et donnees scalaires associees Fi
tetraedres Tk = [k1, k2, k3, k4] (kj indices des sommets)
+ valeur reelle v
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 120 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Tetrahedra
Extraction d’une surface isovaleur dans une tetraedrisationMethode similaire a l’algorithme d’extraction de courbe isovaleur dans unetriangulation.
Donnees : Tetraedrisation T avec
sommets Pi = (xi , yi , zi ) et donnees scalaires associees Fi
tetraedres Tk = [k1, k2, k3, k4] (kj indices des sommets)
+ valeur reelle v
Resultat : Surface S sous forme d’un ensemble de triangles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 120 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 121 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
1 parcourir l’ensemble des tetraedreset pour chaque tetraedre :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 121 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
1 parcourir l’ensemble des tetraedreset pour chaque tetraedre :
tester s’il intersecte la surface isovaleur (deux sommets de signedifferents)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 121 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
1 parcourir l’ensemble des tetraedreset pour chaque tetraedre :
tester s’il intersecte la surface isovaleur (deux sommets de signedifferents)si oui, calculer l’intersection tetraedre ∩ surface isovaleur sous forme detriangle(s)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 121 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
1 parcourir l’ensemble des tetraedreset pour chaque tetraedre :
tester s’il intersecte la surface isovaleur (deux sommets de signedifferents)si oui, calculer l’intersection tetraedre ∩ surface isovaleur sous forme detriangle(s)
2 → liste de triangles ≡ surface isovaleur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 121 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 122 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Tetraedre T = [S1,S2,S3,S4] avec valeur Fi associee a Si
S2 S3
S4
S1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 122 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Tetraedre T = [S1,S2,S3,S4] avec valeur Fi associee a Si
S2 S3
S4
S1
chaque sommet Si : si Fi > v si Fi ≤ v
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 122 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Tetraedre T = [S1,S2,S3,S4] avec valeur Fi associee a Si
S2 S3
S4
S1
chaque sommet Si : si Fi > v si Fi ≤ v→ 16 configurations possibles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 122 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Les 16 configurations possibles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 123 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Les 16 configurations possibles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 123 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Les 16 configurations possibles
2 config. avec 4 sommets de meme signe
8 config. avec 1 sommet de signe different des trois autres
6 config. avec 2 sommets d’un signe et 2 sommets de l’autre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 123 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 124 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets de meme signe
C
D
A
B
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 124 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets de meme signe
C
D
A
B
→ pas d’intersection avec la surface isovaleur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 124 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 125 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
C
D
A
B
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 125 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
C
D
A
B
I
K
J
→ intersection des 3 aretes [A,B ], [A,C ] et [A,D] avec la surface isovaleur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 125 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
C
D
A
B
I
K
J
→ intersection des 3 aretes [A,B ], [A,C ] et [A,D] avec la surface isovaleur→ un triangle [I , J,K ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 125 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 126 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
8 configurations → 4 cas :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 126 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
8 configurations → 4 cas :
sommet S1 de signe different des sommets S2,S3 et S4
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 126 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
8 configurations → 4 cas :
sommet S1 de signe different des sommets S2,S3 et S4
sommet S2 de signe different des sommets S3,S4 et S1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 126 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
8 configurations → 4 cas :
sommet S1 de signe different des sommets S2,S3 et S4
sommet S2 de signe different des sommets S3,S4 et S1
sommet S3 de signe different des sommets S4,S1 et S2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 126 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommet A de signe different des sommets B,C et D
8 configurations → 4 cas :
sommet S1 de signe different des sommets S2,S3 et S4
sommet S2 de signe different des sommets S3,S4 et S1
sommet S3 de signe different des sommets S4,S1 et S2
sommet S4 de signe different des sommets S1,S2 et S3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 126 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 127 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
C
D
A
B C
D
A
B
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 127 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
C
D
A
B
J
I
KL
C
D
A
B
J
I
KL
→ intersection des 4 aretes [A,B ], [A,D], [C ,B ] et [C ,D] avec la surfaceisovaleur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 127 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
C
D
A
B
J
I
KL
C
D
A
B
J
I
KL
→ intersection des 4 aretes [A,B ], [A,D], [C ,B ] et [C ,D] avec la surfaceisovaleur→ OU deux triangles [I , J,K ] et [L, J,K ] utilisation de cette configuration
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 127 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
C
D
A
B
J
I
KL
C
D
A
B
J
I
KL
→ intersection des 4 aretes [A,B ], [A,D], [C ,B ] et [C ,D] avec la surfaceisovaleur→ OU deux triangles [I , J,K ] et [L, J,K ] utilisation de cette configuration→ OU deux triangles [I , J,L] et [I ,K ,L]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 127 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
C
D
A
B
J
I
KL
C
D
A
B
J
I
KL
→ intersection des 4 aretes [A,B ], [A,D], [C ,B ] et [C ,D] avec la surfaceisovaleur→ OU deux triangles [I , J,K ] et [L, J,K ] utilisation de cette configuration→ OU deux triangles [I , J,L] et [I ,K ,L]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 127 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 128 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
3 configurations → 3 cas :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 128 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
3 configurations → 3 cas :
sommets S1, S2 d’un signe et sommets S3, S4 de l’autre signe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 128 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
3 configurations → 3 cas :
sommets S1, S2 d’un signe et sommets S3, S4 de l’autre signe
sommets S1, S3 d’un signe et sommets S2, S4 de l’autre signe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 128 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme - traitement d’un tetraedre
sommets A, C d’un signe et sommets B, D de l’autre signe
3 configurations → 3 cas :
sommets S1, S2 d’un signe et sommets S3, S4 de l’autre signe
sommets S1, S3 d’un signe et sommets S2, S4 de l’autre signe
sommets S1, S4 d’un signe et sommets S2, S3 de l’autre signe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 128 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 129 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Donnees :
tetraedrisation T avec sommets Sk et valeurs associees Fk
valeur v
Routine I = intersection arete hyperplan(P ,Q,FP,FQ ,v)// calcul de l’intersection de l’arete [P ,Q] avec la surface isovaleur Sv
// FP : valeur associee au sommet P// FQ : valeur associee au sommet Qλ ← (v − FP)/(FQ − FP)I ← (1− λ) P + λ Q
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 129 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Donnees :
tetraedrisation T avec sommets Sk et valeurs associees Fk
valeur v
Routine I = intersection arete hyperplan(P ,Q,FP,FQ ,v)// calcul de l’intersection de l’arete [P ,Q] avec la surface isovaleur Sv
// FP : valeur associee au sommet P// FQ : valeur associee au sommet Qλ ← (v − FP)/(FQ − FP)I ← (1− λ) P + λ Q
Resultat :
surface isovaleur S (liste de triangles)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 129 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine m = marque(P ,F ,v)
// calcul de la marque du sommet P de valeur associee Fsi F < v alorsm ← 0
sinonm ← 1
fin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 130 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Calcul de la surface isovaleur S
// Initialisation de SS ← Ø
// Parcours des tetraedrespour tout tetraedre T de T fairetraitement tetraedre(T )
fin pour
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 131 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine traitement tetraedre(T )
// les quatres sommets de T, leurs valeurs et marquesS1 ← sommet1(T ), F1 ← valeur1(T )S2 ← sommet2(T ), F2 ← valeur2(T )S3 ← sommet3(T ), F3 ← valeur3(T )S4 ← sommet4(T ), F4 ← valeur4(T )m1 ← marque(S1,F1,v)m2 ← marque(S2,F2,v)m3 ← marque(S3,F3,v)m4 ← marque(S4,F4,v)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 132 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine traitement tetraedre(T ) // suite
// cas marque de S1 differente des marques de S2, S3, S4si m1 6= m2 et m1 6= m3 et m1 6= m4 alors// calcul des trois intersectionsI ← intersection arete hyperplan(S1,S2,F1,F2,v)J ← intersection arete hyperplan(S1,S3,F1,F3,v)K ← intersection arete hyperplan(S1,S4,F1,F4,v)
S ← S ∪ {[I , J,K ]} // ajouter [I , J,K ] a Sfin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 133 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine traitement tetraedre(T ) // suite
// cas marque de S2 differente des marques de S3, S4, S1si m2 6= m3 et m2 6= m4 et m2 6= m1 alors// calcul des trois intersectionsI ← intersection arete hyperplan(S2,S3,F2,F3,v)J ← intersection arete hyperplan(S2,S4,F2,F4,v)K ← intersection arete hyperplan(S2,S1,F2,F1,v)
S ← S ∪ {[I , J,K ]} // ajouter [I , J,K ] a Sfin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 134 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine traitement tetraedre(T ) // suite
// cas marque de S3 differente des marques de S4, S1, S2si m3 6= m4 et m3 6= m1 et m3 6= m2 alors// calcul des trois intersectionsI ← intersection arete hyperplan(S3,S4,F3,F4,v)J ← intersection arete hyperplan(S3,S1,F3,F1,v)K ← intersection arete hyperplan(S3,S2,F3,F2,v)
S ← S ∪ {[I , J,K ]} // ajouter [I , J,K ] a Sfin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 135 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine traitement tetraedre(T ) // suite
// cas marque de S4 differente des marques de S1, S2, S3si m4 6= m1 et m4 6= m2 et m4 6= m3 alors// calcul des trois intersectionsI ← intersection arete hyperplan(S4,S1,F4,F1,v)J ← intersection arete hyperplan(S4,S2,F4,F2,v)K ← intersection arete hyperplan(S4,S3,F4,F3,v)
S ← S ∪ {[I , J,K ]} // ajouter [I , J,K ] a Sfin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 136 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine traitement tetraedre(T ) // suite
// cas marques de S1 et S2 differentes des marques de S3 et S4si m1 = m2 et m2 6= m3 et m3 = m4 alors// calcul des quatre intersectionsI ← intersection arete hyperplan(S1,S3,F1,F3,v)J ← intersection arete hyperplan(S1,S4,F1,F4,v)K ← intersection arete hyperplan(S2,S3,F2,F3,v)L ← intersection arete hyperplan(S2,S4,F2,F4,v)
S ← S ∪ {[I , J,K ]} // ajouter [I , J,K ] a SS ← S ∪ {[L, J,K ]} // ajouter [L, J,K ] a S
fin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 137 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine traitement tetraedre(T ) // suite
// cas marques de S1 et S3 differentes des marques de S2 et S4si m1 = m3 et m3 6= m2 et m2 = m4 alors// calcul des quatre intersectionsI ← intersection arete hyperplan(S1,S2,F1,F2,v)J ← intersection arete hyperplan(S1,S4,F1,F4,v)K ← intersection arete hyperplan(S3,S2,F3,F2,v)L ← intersection arete hyperplan(S3,S4,F3,F4,v)
S ← S ∪ {[I , J,K ]} // ajouter [I , J,K ] a SS ← S ∪ {[L, J,K ]} // ajouter [L, J,K ] a S
fin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 138 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
Routine traitement tetraedre(T ) // suite et fin
// cas marques de S1 et S4 differentes des marques de S2 et S3si m1 = m4 et m4 6= m2 et m2 = m3 alors// calcul des quatre intersectionsI ← intersection arete hyperplan(S1,S2,F1,F2,v)J ← intersection arete hyperplan(S1,S3,F1,F3,v)K ← intersection arete hyperplan(S4,S2,F4,F2,v)L ← intersection arete hyperplan(S4,S3,F4,F3,v)
S ← S ∪ {[I , J,K ]} // ajouter [I , J,K ] a SS ← S ∪ {[L, J,K ]} // ajouter [L, J,K ] a S
fin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 139 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees dispersees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 140 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees dispersees
donnees Xi = (xi , yi , zi ) + Fi
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 140 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees dispersees
donnees Xi = (xi , yi , zi ) + Fi
A) Tetraedrisation des points Xi (par ex. Delaunay)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 140 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees dispersees
donnees Xi = (xi , yi , zi ) + Fi
A) Tetraedrisation des points Xi (par ex. Delaunay)
B) Utilisation de l’algo. Marching Tetrahedra
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 140 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees regulieres
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 141 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees regulieres
donnees Xi ,j ,k = (xi , yj , zk) + Fi ,j ,k,points disposes suivant une grille reguliere (de preference uniforme)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 141 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees regulieres
donnees Xi ,j ,k = (xi , yj , zk) + Fi ,j ,k,points disposes suivant une grille reguliere (de preference uniforme)
Xi ,j ,k sommets de parallelepipedes/cubes = paves
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 141 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees regulieres
donnees Xi ,j ,k = (xi , yj , zk) + Fi ,j ,k,points disposes suivant une grille reguliere (de preference uniforme)
Xi ,j ,k sommets de parallelepipedes/cubes = paves
A) Decomposition de chaque pave en un ensemble de tetraedres avecune coherence entre paves adjacents
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 141 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Tetraedrisation prealableCas de donnees regulieres
donnees Xi ,j ,k = (xi , yj , zk) + Fi ,j ,k,points disposes suivant une grille reguliere (de preference uniforme)
Xi ,j ,k sommets de parallelepipedes/cubes = paves
A) Decomposition de chaque pave en un ensemble de tetraedres avecune coherence entre paves adjacents
B) Utilisation de l’algo. Marching Tetrahedra
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 141 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Pave Pi ,j ,k = [xi , xi+1]× [yj , yj+1]× [zk , zk+1]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 142 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Pave Pi ,j ,k = [xi , xi+1]× [yj , yj+1]× [zk , zk+1]
8 sommets :A = Xi ,j ,k
B = Xi ,j ,k+1
C = Xi ,j+1,k
D = Xi ,j+1,k+1
E = Xi+1,j ,k
F = Xi+1,j ,k+1
G = Xi+1,j+1,k
H = Xi+1,j+1,k+1
C
B
F
G H
A
E
D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 142 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Pave Pi ,j ,k = [xi , xi+1]× [yj , yj+1]× [zk , zk+1]
8 sommets :A = Xi ,j ,k
B = Xi ,j ,k+1
C = Xi ,j+1,k
D = Xi ,j+1,k+1
E = Xi+1,j ,k
F = Xi+1,j ,k+1
G = Xi+1,j+1,k
H = Xi+1,j+1,k+1
C
B
F
G H
A
E
D
→ plusieurs possibilites pour decouper un hexaedre en tetraedres
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 142 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
B
F
G H
A
E
DC
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [ACDG ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [ACDG ] - [DFGH]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [ACDG ] - [DFGH] - [ADFG ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [ACDG ] - [DFGH] - [ADFG ] - [AEFG ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [ACDG ] - [DFGH] - [ADFG ] - [AEFG ] - [ABDF ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
B
F
G H
A
E
DC
→ 5 tetraedres : [ACDG ] - [DFGH] - [ADFG ] - [AEFG ] - [ABDF ]Avantage : decomposition minimale (en nb de tetraedres)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
→ 5 tetraedres : [ACDG ] - [DFGH] - [ADFG ] - [AEFG ] - [ABDF ]Avantage : decomposition minimale (en nb de tetraedres)Inconvenient : mauvais raccord des tetraedres issus d’hexaedres voisins
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
→ 5 tetraedres : [ACDG ] - [DFGH] - [ADFG ] - [AEFG ] - [ABDF ]Avantage : decomposition minimale (en nb de tetraedres)Inconvenient : mauvais raccord des tetraedres issus d’hexaedres voisins
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
1) Decomposition en 5 tetraedres
→ 5 tetraedres : [ACDG ] - [DFGH] - [ADFG ] - [AEFG ] - [ABDF ]Avantage : decomposition minimale (en nb de tetraedres)Inconvenient : mauvais raccord des tetraedres issus d’hexaedres voisins→ utiliser la decomposition ”symetrique”
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 143 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 144 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 144 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC
Decomposition 1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 144 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC
B
F
G H
A
E
DC
Decomposition 1 Decomposition 2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 144 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [CEGH]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [CEGH] - [BCDH]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [CEGH] - [BCDH] - [BCEH]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [CEGH] - [BCDH] - [BCEH] - [ABCE ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
2) Decomposition en 5 tetraedres - ”miroir” du cas 1)
B
F
G H
A
E
DC C
B
F
G H
A
E
D
→ 5 tetraedres : [CEGH] - [BCDH] - [BCEH] - [ABCE ] - [BEFH]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Utilisation combinee des decompositions 1) et 2)
→ 5 tetraedres : [CEGH] - [BCDH] - [BCEH] - [ABCE ] - [BEFH]utilisation de la decomposition 1) pour un hexaedreet de la decomposition 2) pour un hexaedre adjacent
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Utilisation combinee des decompositions 1) et 2)
→ 5 tetraedres : [CEGH] - [BCDH] - [BCEH] - [ABCE ] - [BEFH]utilisation de la decomposition 1) pour un hexaedreet de la decomposition 2) pour un hexaedre adjacent→ bons raccords entre tetraedres issus d’hexaedres adjacents
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Utilisation combinee des decompositions 1) et 2)
→ 5 tetraedres : [CEGH] - [BCDH] - [BCEH] - [ABCE ] - [BEFH]utilisation de la decomposition 1) pour un hexaedreet de la decomposition 2) pour un hexaedre adjacent→ bons raccords entre tetraedres issus d’hexaedres adjacents
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Utilisation combinee des decompositions 1) et 2)
→ 5 tetraedres : [CEGH] - [BCDH] - [BCEH] - [ABCE ] - [BEFH]utilisation de la decomposition 1) pour un hexaedreet de la decomposition 2) pour un hexaedre adjacent→ bons raccords entre tetraedres issus d’hexaedres adjacents
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Utilisation combinee des decompositions 1) et 2)
Combinaison des decompositions 1) et 2) pour un pave Pi ,j ,k :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Utilisation combinee des decompositions 1) et 2)
Combinaison des decompositions 1) et 2) pour un pave Pi ,j ,k :
decomposition 1) si i + j + k impair
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Utilisation combinee des decompositions 1) et 2)
Combinaison des decompositions 1) et 2) pour un pave Pi ,j ,k :
decomposition 1) si i + j + k impair
decomposition 2) si i + j + k pair
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 145 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D C
B
F
G H
A
E
D
→ 6 tetraedres :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D C
B
F
G H
A
E
D
→ 6 tetraedres : [CDEG ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D C
B
F
G H
A
E
D
→ 6 tetraedres : [CDEG ] - [DFGH]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D C
B
F
G H
A
E
D
→ 6 tetraedres : [CDEG ] - [DFGH] - [DEFG ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D C
B
F
G H
A
E
D
→ 6 tetraedres : [CDEG ] - [DFGH] - [DEFG ] - [BCDE ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D C
B
F
G H
A
E
D
→ 6 tetraedres : [CDEG ] - [DFGH] - [DEFG ] - [BCDE ] - [BDEF ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D C
B
F
G H
A
E
D
→ 6 tetraedres : [CDEG ] - [DFGH] - [DEFG ] - [BCDE ] - [BDEF ] - [ABCE ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
C
B
F
G H
A
E
D
→ 6 tetraedres : [CDEG ] - [DFGH] - [DEFG ] - [BCDE ] - [BDEF ] - [ABCE ]Inconvenient : decomposition non minimale (en nb de tetraedres)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
→ 6 tetraedres : [CDEG ] - [DFGH] - [DEFG ] - [BCDE ] - [BDEF ] - [ABCE ]Inconvenient : decomposition non minimale (en nb de tetraedres)Avantage : bon raccord des tetraedres issus d’hexaedres voisins
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Le probleme de decomposition d’un pave
3) Decomposition en 6 tetraedres
→ 6 tetraedres : [CDEG ] - [DFGH] - [DEFG ] - [BCDE ] - [BDEF ] - [ABCE ]Inconvenient : decomposition non minimale (en nb de tetraedres)Avantage : bon raccord des tetraedres issus d’hexaedres voisins
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 146 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
pour tout pave Pi ,j ,k fairedecomposer Pi ,j ,k en tetraedrestraiter les differents tetraedres
fin pour
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 147 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
pour tout pave Pi ,j ,k fairedecomposer Pi ,j ,k en tetraedrestraiter les differents tetraedres
fin pour
pour l’ensemble des paves, on utilisera :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 147 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
pour tout pave Pi ,j ,k fairedecomposer Pi ,j ,k en tetraedrestraiter les differents tetraedres
fin pour
pour l’ensemble des paves, on utilisera :
SOIT la combinaison des decompositions 1) et 2)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 147 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Algorithme
pour tout pave Pi ,j ,k fairedecomposer Pi ,j ,k en tetraedrestraiter les differents tetraedres
fin pour
pour l’ensemble des paves, on utilisera :
SOIT la combinaison des decompositions 1) et 2)
SOIT la decomposition 3)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 147 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Algorithme initial : Lorensen-Cline - 1987
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 148 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Algorithme initial : Lorensen-Cline - 1987
Determiner une isosurface a partir d’une grille de points regulieres.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 148 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Algorithme initial : Lorensen-Cline - 1987
Determiner une isosurface a partir d’une grille de points regulieres.
A l’epoque, puissance des ordinateurs limitee
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 148 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Algorithme initial : Lorensen-Cline - 1987
Determiner une isosurface a partir d’une grille de points regulieres.
A l’epoque, puissance des ordinateurs limitee→ algo. specifique pour eviter de passer en revue l’ensemble des paves enutilisant les relations de voisinages entre cubes intersectant la surfaceiso-valeur
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 148 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Algorithme initial : Lorensen-Cline - 1987
Determiner une isosurface a partir d’une grille de points regulieres.
A l’epoque, puissance des ordinateurs limitee→ algo. specifique pour eviter de passer en revue l’ensemble des paves enutilisant les relations de voisinages entre cubes intersectant la surfaceiso-valeur→ pas de decomposition explicite en tetraedres.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 148 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Hypothese : l’isosurface a calculer existe (et est connexe)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 149 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Hypothese : l’isosurface a calculer existe (et est connexe)Algorithme :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 149 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Hypothese : l’isosurface a calculer existe (et est connexe)Algorithme :donnees :– grille (xi )1≤i≤M , (yj )1≤j≤N , (zk)1≤k≤p : 3 tableaux de valeurs– valeurs Fi ,j ,k correspondantes sous forme d’un tableau
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 149 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Hypothese : l’isosurface a calculer existe (et est connexe)Algorithme :donnees :– grille (xi )1≤i≤M , (yj )1≤j≤N , (zk)1≤k≤p : 3 tableaux de valeurs– valeurs Fi ,j ,k correspondantes sous forme d’un tableau
1 trouver un pave intersecte par l’isosurface (pave avec changement designe parmi les 8 sommets)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 149 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Hypothese : l’isosurface a calculer existe (et est connexe)Algorithme :donnees :– grille (xi )1≤i≤M , (yj )1≤j≤N , (zk)1≤k≤p : 3 tableaux de valeurs– valeurs Fi ,j ,k correspondantes sous forme d’un tableau
1 trouver un pave intersecte par l’isosurface (pave avec changement designe parmi les 8 sommets)
2 a partir de ce pave et par voisinages successifs, determiner l’ensemblede paves intersectes par l’isosurface
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 149 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Hypothese : l’isosurface a calculer existe (et est connexe)Algorithme :donnees :– grille (xi )1≤i≤M , (yj )1≤j≤N , (zk)1≤k≤p : 3 tableaux de valeurs– valeurs Fi ,j ,k correspondantes sous forme d’un tableau
1 trouver un pave intersecte par l’isosurface (pave avec changement designe parmi les 8 sommets)
2 a partir de ce pave et par voisinages successifs, determiner l’ensemblede paves intersectes par l’isosurface
3 pour chaque pave intersecte, determiner une liste de triangles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 149 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Dans l’algorithme initial, pas de tetraedrisation explicite des paves
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 150 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Dans l’algorithme initial, pas de tetraedrisation explicite des paves→ prise en compte des differentes config. suivant les signes des 8 sommets
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 150 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Dans l’algorithme initial, pas de tetraedrisation explicite des paves→ prise en compte des differentes config. suivant les signes des 8 sommets→ 82 = 256 config. differentes pour les signes
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 150 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Dans l’algorithme initial, pas de tetraedrisation explicite des paves→ prise en compte des differentes config. suivant les signes des 8 sommets→ 82 = 256 config. differentes pour les signes→ 15 config. par symetrie/rotation (dont 1 sans changement de signe)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 150 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 151 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Une config. → un ou plusieurs triangles de l’iso-surface
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 152 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Une config. → un ou plusieurs triangles de l’iso-surface→ pb de raccord entres triangles issus de pave voisins(cf. decomposition d’un pave en tetraedres)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 152 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Une config. → un ou plusieurs triangles de l’iso-surface→ pb de raccord entres triangles issus de pave voisins(cf. decomposition d’un pave en tetraedres)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 152 / 242
Visualisation de donnees volumiques Calcul de surfaces iso-valeurs
Marching Cube, l’algorithme initial
Une config. → un ou plusieurs triangles de l’iso-surface→ pb de raccord entres triangles issus de pave voisins(cf. decomposition d’un pave en tetraedres)
→ avoir des configurations compatibles pour assurer une coherence de latriangulation entre deux paves adjacents.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 152 / 242
Visualisation de donnees volumiques Rendu volumique
Plan
4 Visualisation de donnees volumiquesGeneralitesSlicingCalcul de surfaces iso-valeursRendu volumique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 153 / 242
Visualisation de donnees volumiques Rendu volumique
Donnees de type grille reguliere uniforme
point Xi ,j ,k = (x0 + i∆x , y0 + j∆y , z0 + k∆z) + scalaire Fi ,j ,k
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 154 / 242
Visualisation de donnees volumiques Rendu volumique
Donnees de type grille reguliere uniforme
point Xi ,j ,k = (x0 + i∆x , y0 + j∆y , z0 + k∆z) + scalaire Fi ,j ,k
Idee de la methode : visualisation du volume avec une technique derendu simulant une visualisation par radiographie (rayons X, . . .)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 154 / 242
Visualisation de donnees volumiques Rendu volumique
Donnees de type grille reguliere uniforme
point Xi ,j ,k = (x0 + i∆x , y0 + j∆y , z0 + k∆z) + scalaire Fi ,j ,k
Idee de la methode : visualisation du volume avec une technique derendu simulant une visualisation par radiographie (rayons X, . . .)
volume a visualiser ≡materiau heterogene de transparence T et couleur C(dependant des donnees F )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 154 / 242
Visualisation de donnees volumiques Rendu volumique
Donnees de type grille reguliere uniforme
point Xi ,j ,k = (x0 + i∆x , y0 + j∆y , z0 + k∆z) + scalaire Fi ,j ,k
Idee de la methode : visualisation du volume avec une technique derendu simulant une visualisation par radiographie (rayons X, . . .)
volume a visualiser ≡materiau heterogene de transparence T et couleur C(dependant des donnees F )
choix de C et T par l’utilisateur :
suivant la repartition des donnees Fi ,j,k
pour mettre en evidence certaines parties du volume
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 154 / 242
Visualisation de donnees volumiques Rendu volumique
Donnees de type grille reguliere uniforme
point Xi ,j ,k = (x0 + i∆x , y0 + j∆y , z0 + k∆z) + scalaire Fi ,j ,k
Idee de la methode : visualisation du volume avec une technique derendu simulant une visualisation par radiographie (rayons X, . . .)
volume a visualiser ≡materiau heterogene de transparence T et couleur C(dependant des donnees F )
choix de C et T par l’utilisateur :
suivant la repartition des donnees Fi ,j,k
pour mettre en evidence certaines parties du volume
en chaque point Xi ,j ,k : voxel Vi ,j ,k
parallelepipede centre en Xi ,j,k ,de dimensions ∆x ×∆y ×∆z
de couleur Ci ,j,k = C (Fi ,j,k) et transparence Ti ,j,k = T (Fi ,j,k)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 154 / 242
Visualisation de donnees volumiques Rendu volumique
Creation d’une image du volume
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 155 / 242
Visualisation de donnees volumiques Rendu volumique
Creation d’une image du volume
Volume à visualiser
Donnees initiales : Vi ,j ,k ,Ci ,j ,k ,Ti ,j ,k
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 155 / 242
Visualisation de donnees volumiques Rendu volumique
Creation d’une image du volume
Volume à visualiser
Observateur
Donnees initiales : Vi ,j ,k ,Ci ,j ,k ,Ti ,j ,k
Definition d’une ”camera” (observateur+projection)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 155 / 242
Visualisation de donnees volumiques Rendu volumique
Creation d’une image du volume
Image Volume à visualiser
Observateur
Donnees initiales : Vi ,j ,k ,Ci ,j ,k ,Ti ,j ,k
Definition d’une ”camera” (observateur+projection)Calcul d’une image bitmap :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 155 / 242
Visualisation de donnees volumiques Rendu volumique
Creation d’une image du volume
Image Volume à visualiser
Observateur
Donnees initiales : Vi ,j ,k ,Ci ,j ,k ,Ti ,j ,k
Definition d’une ”camera” (observateur+projection)Calcul d’une image bitmap :pour chaque pixel de l’image :– simulation du parcours d’un rayon a travers le volume
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 155 / 242
Visualisation de donnees volumiques Rendu volumique
Creation d’une image du volume
Image Volume à visualiser
Observateur
Donnees initiales : Vi ,j ,k ,Ci ,j ,k ,Ti ,j ,k
Definition d’une ”camera” (observateur+projection)Calcul d’une image bitmap :pour chaque pixel de l’image :– simulation du parcours d’un rayon a travers le volume
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 155 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 156 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple
Direction de vue = (1, 0, 0) (// axe Ox et sens positif)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 156 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple
Direction de vue = (1, 0, 0) (// axe Ox et sens positif)Projection orthographique : ”observateur a l’infini”
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 156 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple
Direction de vue = (1, 0, 0) (// axe Ox et sens positif)Projection orthographique : ”observateur a l’infini”
Image Volume à visualiser
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 156 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple
Pour chaque pixel
considerer la suite de N voxels Vi ,
et determiner la couleur d’un rayon traversant ces N pixels.
1 2 N
Suite de voxelsObservateur Pixel
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 157 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 158 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
1 N
Suite de voxelsObservateur Pixel
i
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 158 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
RN : couleur du rayon entrant dans la suite de voxels (couleur du fond)
1 N
Suite de voxelsObservateur Pixel
i
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 158 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
RN : couleur du rayon entrant dans la suite de voxels (couleur du fond)Ri : couleur du rayon entrant dans le voxel Vi
(i.e. sortant du voxel Vi+1)
1 N
Suite de voxelsObservateur Pixel
i i+1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 158 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
RN : couleur du rayon entrant dans la suite de voxels (couleur du fond)Ri : couleur du rayon entrant dans le voxel Vi
(i.e. sortant du voxel Vi+1)R0 : couleur finale du rayon sortant de la suite de voxel
1 N
Suite de voxelsObservateur Pixel
i
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 158 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
RN : couleur du rayon entrant dans la suite de voxels (couleur du fond)Ri : couleur du rayon entrant dans le voxel Vi
(i.e. sortant du voxel Vi+1)R0 : couleur finale du rayon sortant de la suite de voxel→ couleur du pixel de l’image finale : R0
1 N
Suite de voxelsObservateur Pixel
i
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 158 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Modele utilise pour le rayon
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 159 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Modele utilise pour le rayon
Voxel Vi de transparence ti et couleur Ci :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 159 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Modele utilise pour le rayon
Voxel Vi de transparence ti et couleur Ci :
transmission du rayon entrant : ti Ri+1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 159 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Modele utilise pour le rayon
Voxel Vi de transparence ti et couleur Ci :
transmission du rayon entrant : ti Ri+1
emission du voxel traverse : Ii = (1− ti)Ci
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 159 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Modele utilise pour le rayon
Voxel Vi de transparence ti et couleur Ci :
transmission du rayon entrant : ti Ri+1
emission du voxel traverse : Ii = (1− ti)Ci
⇒ Ri = tiRi+1 + (1− ti )Ci
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 159 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Calcul de R0 par recurrence :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 160 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Calcul de R0 par recurrence :
R0 = (1− t1)C1 + t1R1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 160 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Calcul de R0 par recurrence :
R0 = (1− t1)C1 + t1R1
= (1− t1)C1 + (1− t2)t1C2 + t1t2R2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 160 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Calcul de R0 par recurrence :
R0 = (1− t1)C1 + t1R1
= (1− t1)C1 + (1− t2)t1C2 + t1t2R2
= (1− t1)C1 + (1− t2)t1C2 + (1− t3)t1t2C3
+ t1t2t3R3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 160 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Calcul de R0 par recurrence :
R0 = (1− t1)C1 + t1R1
= (1− t1)C1 + (1− t2)t1C2 + t1t2R2
= (1− t1)C1 + (1− t2)t1C2 + (1− t3)t1t2C3
+ t1t2t3R3
= (1− t1)C1 + (1− t2)t1C2 + (1− t3)t1t2C3
+ · · ·+ (1− tn)t1t2 . . . tn−1CN
+ t1t2 . . . tN−1tNRN
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 160 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Calcul de R0 par recurrence :
R0 = (1− t1)C1 + t1R1
= (1− t1)C1 + (1− t2)t1C2 + t1t2R2
= (1− t1)C1 + (1− t2)t1C2 + (1− t3)t1t2C3
+ t1t2t3R3
= (1− t1)C1 + (1− t2)t1C2 + (1− t3)t1t2C3
+ · · ·+ (1− tn)t1t2 . . . tn−1CN
+ t1t2 . . . tN−1tNRN
=N∑
i=1
(1− ti )Ci
i−1∏
j=1
tj
+ RN
N∏
j=1
tj
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 160 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
τi transparence cumulee des voxels V1, V2, . . . , Vi :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 161 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
τi transparence cumulee des voxels V1, V2, . . . , Vi :
τi =i∏
j=1
tj (par convention0∏
j=1
tj = τ0 = 1)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 161 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
τi transparence cumulee des voxels V1, V2, . . . , Vi :
τi =i∏
j=1
tj (par convention0∏
j=1
tj = τ0 = 1)
R0 =N∑
i=1
[(1− ti)Ciτi−1] + RNτN
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 161 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
τi transparence cumulee des voxels V1, V2, . . . , Vi :
τi =i∏
j=1
tj (par convention0∏
j=1
tj = τ0 = 1)
R0 =N∑
i=1
[(1− ti)Ciτi−1] + RNτN
suite τi ց :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 161 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
τi transparence cumulee des voxels V1, V2, . . . , Vi :
τi =i∏
j=1
tj (par convention0∏
j=1
tj = τ0 = 1)
R0 =N∑
i=1
[(1− ti)Ciτi−1] + RNτN
suite τi ց :fixer un seuil τs (proche de 0), et RN = 0 (couleur de fond noir)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 161 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
τi transparence cumulee des voxels V1, V2, . . . , Vi :
τi =i∏
j=1
tj (par convention0∏
j=1
tj = τ0 = 1)
R0 =N∑
i=1
[(1− ti)Ciτi−1] + RNτN
suite τi ց :fixer un seuil τs (proche de 0), et RN = 0 (couleur de fond noir)si τi ≤ τs (τs seuil) pour i ≥ k
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 161 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
τi transparence cumulee des voxels V1, V2, . . . , Vi :
τi =i∏
j=1
tj (par convention0∏
j=1
tj = τ0 = 1)
R0 =N∑
i=1
[(1− ti)Ciτi−1] + RNτN
suite τi ց :fixer un seuil τs (proche de 0), et RN = 0 (couleur de fond noir)si τi ≤ τs (τs seuil) pour i ≥ k
⇒ R0 ≃k∑
i=1
[(1− ti )Ciτi−1]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 161 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Algorithme de calcul de R0 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 162 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Algorithme de calcul de R0 :
R ← 0i ← 1τ ← 1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 162 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Algorithme de calcul de R0 :
R ← 0i ← 1τ ← 1tant que i ≤ N et τ ≥ τs faire
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 162 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Algorithme de calcul de R0 :
R ← 0i ← 1τ ← 1tant que i ≤ N et τ ≥ τs faireR ← R + (1− ti )Ciττ ← τ tii ← i + 1
fin tant que
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 162 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Algorithme de calcul de R0 :
R ← 0i ← 1τ ← 1tant que i ≤ N et τ ≥ τs faireR ← R + (1− ti )Ciττ ← τ tii ← i + 1
fin tant quecouleur pixel ← R
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 162 / 242
Visualisation de donnees volumiques Rendu volumique
Cas simple : calcul de la couleur du rayon sortant
Algorithme de calcul de R0 :
R ← 0i ← 1τ ← 1tant que i ≤ N et τ ≥ τs faireR ← R + (1− ti )Ciττ ← τ tii ← i + 1
fin tant quecouleur pixel ← R
Calcul des pixels de l’image de taille L× H → algo. en O(N × L× H)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 162 / 242
Visualisation de donnees volumiques Rendu volumique
Choix des fonctions C et T
Rendu final dependant du choix des fonctions couleur C et transparence Tdes differents voxels.Choix fait en general par l’utilisateur en fonction du resultat attendu.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 163 / 242
Visualisation de donnees volumiques Rendu volumique
Choix des fonctions C et T
Exemple - imagerie medicale :donnees scanners : valeurs reelles Fi ,j ,k entre 0 et 1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 164 / 242
Visualisation de donnees volumiques Rendu volumique
Choix des fonctions C et T
Exemple - imagerie medicale :donnees scanners : valeurs reelles Fi ,j ,k entre 0 et 1→ histogramme des valeurs / visu. slice 2D
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12
4
6
8
10
12
14
16
Coupe
Histogramme
Extérieur/ Tissumou
Oscavité/air
Histogramme et correspondance avec les differents materiauxNicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 164 / 242
Visualisation de donnees volumiques Rendu volumique
Choix des fonctions C et T
→ classes de valeurs,classe ≡ materiau particulier→ definition des fonctions Tet C suivant les classes afind’avoir un rendu particulier.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12
4
6
8
10
12
14
16
Histogramme
Extérieur/ Tissumou
Oscavité/air
1
0
Transparence
Fonction transparence
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 165 / 242
Visualisation de donnees volumiques Rendu volumique
Choix des fonctions C et T
Exemple : definition d’une fonction transparence afin de ne visualiser quela boite cranienne.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 166 / 242
Visualisation de donnees volumiques Rendu volumique
Choix des fonctions C et T
Exemple : definition d’une fonction transparence afin de ne visualiser quela boite cranienne.
→ definition des fonctions C et T :
couleur C = F (niveaux de gris)
transparence
T =
1 si F < 0.4
5− 10F si 0.4 ≥ F ≥ 0.5
0 si F > 0.5
→ en general, images peucontrastees / differents volumes peuapparents Image finale
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 166 / 242
Visualisation de donnees volumiques Rendu volumique
Ombrage
simuler la reflexion de la lumiere sur des surfaces entre milieux de naturedifferente afin d’obtenir un effet d’ombrage
Milieu 1 Milieu 2
Surface
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 167 / 242
Visualisation de donnees volumiques Rendu volumique
Ombrage
simuler la reflexion de la lumiere sur des surfaces entre milieux de naturedifferente afin d’obtenir un effet d’ombrage
1) definir une fonction B variantfortement au passage entre deuxmilieux differents.
SurfaceB = c
Milieu 1 Milieu 2B < cB > c
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 168 / 242
Visualisation de donnees volumiques Rendu volumique
Ombrage
simuler la reflexion de la lumiere sur des surfaces entre milieux de naturedifferente afin d’obtenir un effet d’ombrage
2) calculer le gradient Gde la fonction B
SurfaceB = c
Milieu 1 Milieu 2B < cB > c
=
X
G
∆B(X)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 169 / 242
Visualisation de donnees volumiques Rendu volumique
Ombrage
simuler la reflexion de la lumiere sur des surfaces entre milieux de naturedifferente afin d’obtenir un effet d’ombrage
3) fixer une direction d’eclairement
L = (Lx ,Ly ,Lz)
SurfaceB = c
Milieu 1 Milieu 2B < cB > c
=
X
L
G
∆B(X)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 170 / 242
Visualisation de donnees volumiques Rendu volumique
Ombrage
simuler la reflexion de la lumiere sur des surfaces entre milieux de naturedifferente afin d’obtenir un effet d’ombrage
4) calculer l’angle θentre L et G
SurfaceB = c
Milieu 1 Milieu 2B < cB > c
=
X
L
G
∆B(X)
θ
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 171 / 242
Visualisation de donnees volumiques Rendu volumique
Ombrage
simuler la reflexion de la lumiere sur des surfaces entre milieux de naturedifferente afin d’obtenir un effet d’ombrage
5) definir un facteur d’eclairementϕ(θ)modele souvent utilise :
ϕ(θ) = | cos(θ)| = < L · G >
‖L‖‖G‖
θ petit ⇐⇒ illumination forteθ grand ⇐⇒ illumination faible
SurfaceB = c
Milieu 1 Milieu 2B < cB > c
=
X
L
G
∆B(X)
θ
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 172 / 242
Visualisation de donnees volumiques Rendu volumique
Algorithme initial
R ← 0i ← 1τ ← 1tant que i ≤ N et τ ≥ τs faire
R ← R + (1− ti )Ciττ ← τ tii ← i + 1
fin tant quecouleur pixel ← R
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 173 / 242
Visualisation de donnees volumiques Rendu volumique
Algorithme modifie
R ← 0i ← 1τ ← 1tant que i ≤ N et τ ≥ τs faireϕi ← phi(i)R ← R + (1− ti )Ciτϕi
τ ← τ tii ← i + 1
fin tant quecouleur pixel ← R
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 173 / 242
Visualisation de donnees volumiques Rendu volumique
Ombrage
Exemple 1
transparence
T =
1 si F < 0.4
5− 10F si 0.4 ≥ F ≥ 0.5
0 si F > 0.5
fonction B = T
fonction ϕ(θ) = | cos(θ)|Image finale
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 174 / 242
Visualisation de donnees volumiques Rendu volumique
Ombrage
Exemple 2Modification de la fonctiontransparence afin de visualiser lestissus mous(T = 0, 98 pour cette classe) :
T =
1 si F < 0.2
0, 98 si 0.2 < F < 0.4
4, 9 − 9, 8F si 0.4 ≥ F ≥ 0.5
0 si F > 0.5
Image finale
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 175 / 242
Visualisation de donnees volumiques Rendu volumique
Remarques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 176 / 242
Visualisation de donnees volumiques Rendu volumique
Remarques
Optimisations possibles des algos presentes(notamment parallelisation envisageable)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 176 / 242
Visualisation de donnees volumiques Rendu volumique
Remarques
Optimisations possibles des algos presentes(notamment parallelisation envisageable)
Generalisation du cas simple pour des directions de vue quelconques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 176 / 242
Visualisation de donnees volumiques Rendu volumique
Remarques
Optimisations possibles des algos presentes(notamment parallelisation envisageable)
Generalisation du cas simple pour des directions de vue quelconques
Autres modeles de rendu possibles, plus complexes et plus proches deceux utilises en rendu realiste.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 176 / 242
Visualisation de champs de vecteurs
Plan
1 Introduction
2 Types de donnees
3 Visualisation de donnees surfaciques
4 Visualisation de donnees volumiques
5 Visualisation de champs de vecteursLe cadreCalcul de lignes de flux (streamlines)Methode LIC
6 Simplification de donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 177 / 242
Visualisation de champs de vecteurs Le cadre
Plan
5 Visualisation de champs de vecteursLe cadreCalcul de lignes de flux (streamlines)Methode LIC
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 178 / 242
Visualisation de champs de vecteurs Le cadre
visualisation d’un champ de vecteurs (Xi ,Vi )1≤i≤n :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 179 / 242
Visualisation de champs de vecteurs Le cadre
visualisation d’un champ de vecteurs (Xi ,Vi )1≤i≤n :
SOIT dans le plan : Xi = (xi , yi ) + Vi = (vxi , vyi )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 179 / 242
Visualisation de champs de vecteurs Le cadre
visualisation d’un champ de vecteurs (Xi ,Vi )1≤i≤n :
SOIT dans le plan : Xi = (xi , yi ) + Vi = (vxi , vyi )SOIT dans l’espace : Xi = (xi , yi , zi ) + Vi = (vxi , vyi , vzi)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 179 / 242
Visualisation de champs de vecteurs Le cadre
visualisation d’un champ de vecteurs (Xi ,Vi )1≤i≤n :
SOIT dans le plan : Xi = (xi , yi ) + Vi = (vxi , vyi )SOIT dans l’espace : Xi = (xi , yi , zi ) + Vi = (vxi , vyi , vzi)
pour chaque point Xi , donnee d’un vecteur Vi (vitesse, force, ...) issude phenomenes naturels (reels ou simules)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 179 / 242
Visualisation de champs de vecteurs Le cadre
visualisation d’un champ de vecteurs (Xi ,Vi )1≤i≤n :
SOIT dans le plan : Xi = (xi , yi ) + Vi = (vxi , vyi )SOIT dans l’espace : Xi = (xi , yi , zi ) + Vi = (vxi , vyi , vzi)
pour chaque point Xi , donnee d’un vecteur Vi (vitesse, force, ...) issude phenomenes naturels (reels ou simules)
differentes methodes de visualisation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 179 / 242
Visualisation de champs de vecteurs Le cadre
visualisation d’un champ de vecteurs (Xi ,Vi )1≤i≤n :
SOIT dans le plan : Xi = (xi , yi ) + Vi = (vxi , vyi )SOIT dans l’espace : Xi = (xi , yi , zi ) + Vi = (vxi , vyi , vzi)
pour chaque point Xi , donnee d’un vecteur Vi (vitesse, force, ...) issude phenomenes naturels (reels ou simules)
differentes methodes de visualisation
domaines d’application : aeronautique, nautisme, meteo, hydraulique,electro-magnetisme, ...
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 179 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation hedgehog (”herisson”)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 180 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation hedgehog (”herisson”)
Visualiser les donnees en tracant pour chaque point Xi ,le vecteur Vi correspondant
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 180 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation hedgehog (”herisson”)
Visualiser les donnees en tracant pour chaque point Xi ,le vecteur Vi correspondant
70 80 90 100 110 120 130
15
20
25
30
35
40
45
50
55
60
Exemple en dimension 2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 180 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation hedgehog (”herisson”)
Visualiser les donnees en tracant pour chaque point Xi ,le vecteur Vi correspondant
Exemple en dimension 3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 180 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation des lignes de flux (streamline)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 181 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation des lignes de flux (streamline)
Visualiser les courbes σ dont le champ de vecteurs V forment les vecteursvitesse (tangentes)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 181 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation des lignes de flux (streamline)
Visualiser les courbes σ dont le champ de vecteurs V forment les vecteursvitesse (tangentes)→ courbes appelees lignes de champ ou lignes de flux (streamline)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 181 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation des lignes de flux (streamline)
Visualiser les courbes σ dont le champ de vecteurs V forment les vecteursvitesse (tangentes)→ courbes appelees lignes de champ ou lignes de flux (streamline)
Exemple en dimension 2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 181 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation des lignes de flux (streamline)
Visualiser les courbes σ dont le champ de vecteurs V forment les vecteursvitesse (tangentes)→ courbes appelees lignes de champ ou lignes de flux (streamline)
Exemple en dimension 3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 181 / 242
Visualisation de champs de vecteurs Le cadre
Visualisation des lignes de flux (streamline)
Visualiser les courbes σ dont le champ de vecteurs V forment les vecteursvitesse (tangentes)→ courbes appelees lignes de champ ou lignes de flux (streamline)
Exemple en dimension 3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 181 / 242
Visualisation de champs de vecteurs Le cadre
Methode L.I.C. (Line Integral Convolution)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 182 / 242
Visualisation de champs de vecteurs Le cadre
Methode L.I.C. (Line Integral Convolution)
Visualiser une image deformee par le champ de vecteurs
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 182 / 242
Visualisation de champs de vecteurs Le cadre
Methode L.I.C. (Line Integral Convolution)
Visualiser une image deformee par le champ de vecteurs
Image initiale Image deformee
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 182 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Plan
5 Visualisation de champs de vecteursLe cadreCalcul de lignes de flux (streamlines)Methode LIC
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 183 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Definition
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 184 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Definition
Champ de vecteurs V : Rd → R
d (d = 2 ou 3)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 184 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Definition
Champ de vecteurs V : Rd → R
d (d = 2 ou 3)→ streamline : courbe σ : R→ R
d : σ′(t) = V (σ(t)),∀t
Exemple de streamlines en 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 184 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Definition
Champ de vecteurs V : Rd → R
d (d = 2 ou 3)→ streamline : courbe σ : R→ R
d : σ′(t) = V (σ(t)),∀t→ determination d’une courbe particuliere en fixant une condition initiale(par ex. σ(t0) = X0) puis resolution d’une equa. diff. ordinaire (EDO)
Exemple de streamlines en 2D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 184 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Methode
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 185 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Methode
a) Donnees discretes (Xi ,Vi)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 185 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Methode
a) Donnees discretes (Xi ,Vi)→ determiner un champ V interpolant les donnees
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 185 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Methode
a) Donnees discretes (Xi ,Vi)→ determiner un champ V interpolant les donnees→ calcul de d interpolants de R
d dans R
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 185 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Methode
a) Donnees discretes (Xi ,Vi)→ determiner un champ V interpolant les donnees→ calcul de d interpolants de R
d dans R
b) calcul d’une streamline σ par resolution de l’EDO suivante :
{
σ′(t) = V (σ(t)),∀tσ(t0) = X0
(∗)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 185 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Methode
a) Donnees discretes (Xi ,Vi)→ determiner un champ V interpolant les donnees→ calcul de d interpolants de R
d dans R
b) calcul d’une streamline σ par resolution de l’EDO suivante :
{
σ′(t) = V (σ(t)),∀tσ(t0) = X0
(∗)
En general, resolution analytique exacte de l’EDO impossible
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 185 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Methode
a) Donnees discretes (Xi ,Vi)→ determiner un champ V interpolant les donnees→ calcul de d interpolants de R
d dans R
b) calcul d’une streamline σ par resolution de l’EDO suivante :
{
σ′(t) = V (σ(t)),∀tσ(t0) = X0
(∗)
En general, resolution analytique exacte de l’EDO impossible→ resolution par methode numerique classique d’EDO
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 185 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO
{
σ′(t) = V (σ(t)),∀tσ(t0) = X0
(∗)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 186 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO
{
σ′(t) = V (σ(t)),∀tσ(t0) = X0
(∗)
→ calcul de maniere approchee des valeurs de σ(t) pourt0 < t1 < · · · < tN avec hi = ti+1 − ti→ valeur approchee Si ≃ σ(ti ) → courbe C ≃ {Si , 0 < i < N}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 186 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO
{
σ′(t) = V (σ(t)),∀tσ(t0) = X0
(∗)
→ calcul de maniere approchee des valeurs de σ(t) pourt0 < t1 < · · · < tN avec hi = ti+1 − ti→ valeur approchee Si ≃ σ(ti ) → courbe C ≃ {Si , 0 < i < N}
→ differentes methodes
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 186 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (a) Euler explicite
{
S0 = X0
Si+1 = Si + hiV (Si) 0 ≤ i < N(EE )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 187 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (a) Euler explicite
{
S0 = X0
Si+1 = Si + hiV (Si) 0 ≤ i < N(EE )
σ de classe C1 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 187 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (a) Euler explicite
{
S0 = X0
Si+1 = Si + hiV (Si) 0 ≤ i < N(EE )
σ de classe C1 :
σ(ti + hi) = σ(ti ) + hiσ′(ti ) + o(hi )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 187 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (a) Euler explicite
{
S0 = X0
Si+1 = Si + hiV (Si) 0 ≤ i < N(EE )
σ de classe C1 :
σ(ti + hi) = σ(ti ) + hiσ′(ti ) + o(hi )
⇒ Si+1 ≃ σ(ti+1) ≃ σ(ti ) + hV (σ(ti)) ≃ Si + hV (Si)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 187 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (a) Euler explicite
{
S0 = X0
Si+1 = Si + hiV (Si) 0 ≤ i < N(EE )
σ de classe C1 :
σ(ti + hi) = σ(ti ) + hiσ′(ti ) + o(hi )
⇒ Si+1 ≃ σ(ti+1) ≃ σ(ti ) + hV (σ(ti)) ≃ Si + hV (Si)
Schema d’integration d’ordre 1 (peu precis)pouvant diverger dans certains cas (si mauvais choix des pas hi)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 187 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (b) Heun (Runge-Kutta d’ordre 2)
S0 = X0
p1 = V (Si)
p2 = V (Si + hip1)
Si+1 = Si + hi(p1 + p2)/2
0 ≤ i < N
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 188 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (b) Heun (Runge-Kutta d’ordre 2)
S0 = X0
p1 = V (Si)
p2 = V (Si + hip1)
Si+1 = Si + hi(p1 + p2)/2
0 ≤ i < N
σ de classe C2 :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 188 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (b) Heun (Runge-Kutta d’ordre 2)
S0 = X0
p1 = V (Si)
p2 = V (Si + hip1)
Si+1 = Si + hi(p1 + p2)/2
0 ≤ i < N
σ de classe C2 :
V (σ(ti ) + hiV (σ(ti))) = V (σ(ti)) + hiV (σ(ti))V′(σ(ti )) + o(hi )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 188 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (b) Heun (Runge-Kutta d’ordre 2)
S0 = X0
p1 = V (Si)
p2 = V (Si + hip1)
Si+1 = Si + hi(p1 + p2)/2
0 ≤ i < N
σ de classe C2 :
V (σ(ti ) + hiV (σ(ti))) = V (σ(ti)) + hiV (σ(ti))V′(σ(ti )) + o(hi )
⇒ σ(ti+1) = σ(ti + hi ) = σ(ti) + hiσ′(ti ) + h2
i σ′′(ti )/2 + o(h2
i )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 188 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (b) Heun (Runge-Kutta d’ordre 2)
or σ′(t) = V (σ(t)) et σ′′(t) = σ′(t)V ′(σ(t)) = V (σ(t))V ′(σ(t))
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 189 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (b) Heun (Runge-Kutta d’ordre 2)
or σ′(t) = V (σ(t)) et σ′′(t) = σ′(t)V ′(σ(t)) = V (σ(t))V ′(σ(t))d’ou σ(ti + hi) =
σ(ti ) + hiV (σ(ti ))/2 + hi [V (σ(ti )) + hiV (σ(ti ))V′(σ(ti ))]/2 + o(h2
i )
≃ Si + hip1/2 + hip2/2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 189 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (b) Heun (Runge-Kutta d’ordre 2)
or σ′(t) = V (σ(t)) et σ′′(t) = σ′(t)V ′(σ(t)) = V (σ(t))V ′(σ(t))d’ou σ(ti + hi) =
σ(ti ) + hiV (σ(ti ))/2 + hi [V (σ(ti )) + hiV (σ(ti ))V′(σ(ti ))]/2 + o(h2
i )
≃ Si + hip1/2 + hip2/2
Schema d’ordre 2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 189 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (c) Runge-Kutta (d’ordre 4)
Schema habituellement utilise en integration car
precis (ordre 4)
stable numeriquement.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 190 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Resolution de l’EDO : (c) Runge-Kutta (d’ordre 4)
Schema habituellement utilise en integration car
precis (ordre 4)
stable numeriquement.
S0 = X0
p1 = V (Si)
p2 = V (Si + hip1/2)
p3 = V (Si + hip2/2)
p4 = V (Si + hip3)
Si+1 = Si + hi(p1 + 2p2 + 2p3 + p4)/6
0 ≤ i < N
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 190 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Choix des pas d’integration
Choix des valeurs hi :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 191 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Choix des pas d’integration
Choix des valeurs hi :
SOIT fait a priori (choisir hi = h assez petit)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 191 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Choix des pas d’integration
Choix des valeurs hi :
SOIT fait a priori (choisir hi = h assez petit)
SOIT recalcule a chaque pas en estimant une erreur d’integration(ex. methode Runge-Kunta adaptatif)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 191 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 192 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
Donnees :
champ de vecteurs : fonction V : R2 → R
2
point X0 ∈ R2
intervalle de temps [t0, tF ]
nb d’intervalles N
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 192 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
Donnees :
champ de vecteurs : fonction V : R2 → R
2
point X0 ∈ R2
intervalle de temps [t0, tF ]
nb d’intervalles N
Resultat :
suite de N + 1 points Si de R2 (0 ≤ i ≤ N)
(approximation de la streamline σ)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 192 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
Donnees :
champ de vecteurs : fonction V : R2 → R
2
point X0 ∈ R2
intervalle de temps [t0, tF ]
nb d’intervalles N
Resultat :
suite de N + 1 points Si de R2 (0 ≤ i ≤ N)
(approximation de la streamline σ)
Utilisation du schema Runge-Kutta (ordre 4) a pas h
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 192 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 193 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
h ← (tF − t0)/Nt ← t0X ← X0
S0 ← X0
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 193 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
h ← (tF − t0)/Nt ← t0X ← X0
S0 ← X0
pour i de 1 a N faire
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 193 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
h ← (tF − t0)/Nt ← t0X ← X0
S0 ← X0
pour i de 1 a N fairep1 ← V (X )p2 ← V (X + h p1/2)p3 ← V (X + h p2/2)p4 ← V (X + h p3)X ← X + h (p1 + 2p2 + 2p3 + p4)/6
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 193 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
h ← (tF − t0)/Nt ← t0X ← X0
S0 ← X0
pour i de 1 a N fairep1 ← V (X )p2 ← V (X + h p1/2)p3 ← V (X + h p2/2)p4 ← V (X + h p3)X ← X + h (p1 + 2p2 + 2p3 + p4)/6t ← t + hti ← tSi ← X
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 193 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
h ← (tF − t0)/Nt ← t0X ← X0
S0 ← X0
pour i de 1 a N fairep1 ← V (X )p2 ← V (X + h p1/2)p3 ← V (X + h p2/2)p4 ← V (X + h p3)X ← X + h (p1 + 2p2 + 2p3 + p4)/6t ← t + hti ← tSi ← X
fin pour
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 193 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Algorithme de calcul numerique d’une streamline
h ← (tF − t0)/Nt ← t0X ← X0
S0 ← X0
pour i de 1 a N fairep1 ← V (X )p2 ← V (X + h p1/2)p3 ← V (X + h p2/2)p4 ← V (X + h p3)X ← X + h (p1 + 2p2 + 2p3 + p4)/6t ← t + hti ← tSi ← X
fin pour
Remarque : algorithme fonctionnant aussi pour tF < t0 (h < 0)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 193 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Visualisation des streamlines
streamline : courbe discretisee (ti ,Si )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 194 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Visualisation des streamlines
streamline : courbe discretisee (ti ,Si )
visualisation des courbes telle quelle
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 194 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Visualisation des streamlines
streamline : courbe discretisee (ti ,Si )
visualisation des courbes telle quelle
animation avec particules virtuelles suivant les lignes de champ
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 194 / 242
Visualisation de champs de vecteurs Calcul de lignes de flux (streamlines)
Visualisation des streamlines
streamline : courbe discretisee (ti ,Si )
visualisation des courbes telle quelle
animation avec particules virtuelles suivant les lignes de champ
combinaison possible avec des methodes de slicing / iso-surface afind’obtenir plus d’informations sur le phenomene etudie
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 194 / 242
Visualisation de champs de vecteurs Methode LIC
Plan
5 Visualisation de champs de vecteursLe cadreCalcul de lignes de flux (streamlines)Methode LIC
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 195 / 242
Visualisation de champs de vecteurs Methode LIC
Presentation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 196 / 242
Visualisation de champs de vecteurs Methode LIC
Presentation
Idee : deformer une image (2D)a l’aide d’une brosse virtuelle suivant les streamlines d’un champ de vecteurafin de melanger les couleurs des pixels
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 196 / 242
Visualisation de champs de vecteurs Methode LIC
Presentation
Idee : deformer une image (2D)a l’aide d’une brosse virtuelle suivant les streamlines d’un champ de vecteurafin de melanger les couleurs des pixels
Exemple avec un champ de vecteurs circulaire :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 196 / 242
Visualisation de champs de vecteurs Methode LIC
Presentation
Idee : deformer une image (2D)a l’aide d’une brosse virtuelle suivant les streamlines d’un champ de vecteurafin de melanger les couleurs des pixels
Exemple avec un champ de vecteurs circulaire :
Image initiale Image deformee par le champ de vecteurs
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 196 / 242
Visualisation de champs de vecteurs Methode LIC
Presentation
Idee : deformer une image (2D)a l’aide d’une brosse virtuelle suivant les streamlines d’un champ de vecteurafin de melanger les couleurs des pixels
Exemple avec un champ de vecteurs circulaire :
Image initiale Image deformee par le champ de vecteurs
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 196 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 197 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Methode utilisee principalement en dimension 2.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 197 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Methode utilisee principalement en dimension 2.Donnees :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 197 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Methode utilisee principalement en dimension 2.Donnees :
grille uniforme de points Xi ,j = (xi , yj )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 197 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Methode utilisee principalement en dimension 2.Donnees :
grille uniforme de points Xi ,j = (xi , yj )
champ de vecteurs associe Vi ,j
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 197 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Methode utilisee principalement en dimension 2.Donnees :
grille uniforme de points Xi ,j = (xi , yj )
champ de vecteurs associe Vi ,j
fonction de ”melange” ϕ (noyau de convolution)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 197 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Methode utilisee principalement en dimension 2.Donnees :
grille uniforme de points Xi ,j = (xi , yj )
champ de vecteurs associe Vi ,j
fonction de ”melange” ϕ (noyau de convolution)
image bitmap I (niveaux de gris ou couleur)de memes dimensions que la grille
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 197 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Methode utilisee principalement en dimension 2.Donnees :
grille uniforme de points Xi ,j = (xi , yj )
champ de vecteurs associe Vi ,j
fonction de ”melange” ϕ (noyau de convolution)
image bitmap I (niveaux de gris ou couleur)de memes dimensions que la grille
Resultat :
image bitmap F (niveaux de gris ou couleur)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 197 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 198 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 198 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Pixel initial de I
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 198 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
et correspondant au noyauϕpassant par le pixel Partie de la streamline
Pixel initial de I
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 198 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Pixels q(k) de I correspondantsà la streamline
et correspondant au noyauϕpassant par le pixel Partie de la streamline
Pixel initial de I
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 198 / 242
Visualisation de champs de vecteurs Methode LIC
Principe
Pixel final obtenupar convolution des pixels q(k)
Pixels q(k) de I correspondantsà la streamline
et correspondant au noyauϕpassant par le pixel Partie de la streamline
Pixel initial de I
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 198 / 242
Visualisation de champs de vecteurs Methode LIC
Convolution avec un noyau
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 199 / 242
Visualisation de champs de vecteurs Methode LIC
Convolution avec un noyau
pixel p d’une image ≡ point (x , y) du plan
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 199 / 242
Visualisation de champs de vecteurs Methode LIC
Convolution avec un noyau
pixel p d’une image ≡ point (x , y) du planimage initiale I ≡ fonction I (x , y)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 199 / 242
Visualisation de champs de vecteurs Methode LIC
Convolution avec un noyau
pixel p d’une image ≡ point (x , y) du planimage initiale I ≡ fonction I (x , y)image finale F ≡ fonction F (x , y)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 199 / 242
Visualisation de champs de vecteurs Methode LIC
Convolution avec un noyau
pixel p d’une image ≡ point (x , y) du planimage initiale I ≡ fonction I (x , y)image finale F ≡ fonction F (x , y)
σ streamline passant par p + noyau(fonction σ(t), σ(t0) = p) (fonction ϕ(t))
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 199 / 242
Visualisation de champs de vecteurs Methode LIC
Convolution avec un noyau
pixel p d’une image ≡ point (x , y) du planimage initiale I ≡ fonction I (x , y)image finale F ≡ fonction F (x , y)
σ streamline passant par p + noyau(fonction σ(t), σ(t0) = p) (fonction ϕ(t))
→ F (x , y) =1
Z
∫ t0+b
t0+a
ϕ(s − t0)I (σ(s))ds
avec Z =
∫ t0+b
t0+a
ϕ(s − t0)ds =
∫ b
a
ϕ(s)ds
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 199 / 242
Visualisation de champs de vecteurs Methode LIC
Convolution avec un noyau
ϕ noyau de convolution :definit la maniere dont les pixels sont melanges
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 200 / 242
Visualisation de champs de vecteurs Methode LIC
Convolution avec un noyau
ϕ noyau de convolution :definit la maniere dont les pixels sont melanges
t
k
0−R Rt
k
0−R R
t
k
0−R Rt
k
0−R R
0 0
00
Exemples de noyau de convolution
En pratique t = 0, −a = b = R > 0
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 200 / 242
Visualisation de champs de vecteurs Methode LIC
Algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 201 / 242
Visualisation de champs de vecteurs Methode LIC
Algorithme
pour tout pixel (x , y) de l’image finale faire
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 201 / 242
Visualisation de champs de vecteurs Methode LIC
Algorithme
pour tout pixel (x , y) de l’image finale faire(a) determiner σ sur [t0 + a, t0 + b] = [−R ,+R ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 201 / 242
Visualisation de champs de vecteurs Methode LIC
Algorithme
pour tout pixel (x , y) de l’image finale faire(a) determiner σ sur [t0 + a, t0 + b] = [−R ,+R ](b) calculer F (x , y) par integration numerique
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 201 / 242
Visualisation de champs de vecteurs Methode LIC
Algorithme
pour tout pixel (x , y) de l’image finale faire(a) determiner σ sur [t0 + a, t0 + b] = [−R ,+R ](b) calculer F (x , y) par integration numerique
fin pour
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 201 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 202 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Donnees :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 202 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Donnees :
image I (i , j) de dimensions L× H: matrice de dimension L× H de scalaires (niveaux de gris)ou triplets (R,G,B)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 202 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Donnees :
image I (i , j) de dimensions L× H: matrice de dimension L× H de scalaires (niveaux de gris)ou triplets (R,G,B)
noyau de convolution ϕ :fonction definie sur un intervalle [a, b]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 202 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Donnees :
image I (i , j) de dimensions L× H: matrice de dimension L× H de scalaires (niveaux de gris)ou triplets (R,G,B)
noyau de convolution ϕ :fonction definie sur un intervalle [a, b]
champ de vecteurs V :[xmin, xmax ]× [ymin, ymax ] = D −→ R
2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 202 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Donnees :
image I (i , j) de dimensions L× H: matrice de dimension L× H de scalaires (niveaux de gris)ou triplets (R,G,B)
noyau de convolution ϕ :fonction definie sur un intervalle [a, b]
champ de vecteurs V :[xmin, xmax ]× [ymin, ymax ] = D −→ R
2
Resultat :
image F (i , j) de dimensions L×H
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 202 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 203 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Correspondance entre le domaine de l’image I (indices (i , j) des pixels)et le domaine D (points (x , y) du plan)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 203 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Correspondance entre le domaine de l’image I (indices (i , j) des pixels)et le domaine D (points (x , y) du plan)
xmin xmax
ymax
ymin
1 Lj1
H
i
Champ de vecteurs Image
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 203 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Correspondance entre le domaine de l’image I (indices (i , j) des pixels)et le domaine D (points (x , y) du plan)
i =
[
(H − 1)ymax − y
ymax − ymin
]
+ 1 ⇐⇒ y = ymax − i − 1
H − 1(ymax − ymin)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 203 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Correspondance entre le domaine de l’image I (indices (i , j) des pixels)et le domaine D (points (x , y) du plan)
i =
[
(H − 1)ymax − y
ymax − ymin
]
+ 1 ⇐⇒ y = ymax − i − 1
H − 1(ymax − ymin)
j =
[
(L− 1)x − xmin
ymax − ymin
]
+ 1 ⇐⇒ x = xmin +j − 1
L− 1(xmax − xmin)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 203 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Correspondance entre le domaine de l’image I (indices (i , j) des pixels)et le domaine D (points (x , y) du plan)
i =
[
(H − 1)ymax − y
ymax − ymin
]
+ 1 ⇐⇒ y = ymax − i − 1
H − 1(ymax − ymin)
j =
[
(L− 1)x − xmin
ymax − ymin
]
+ 1 ⇐⇒ x = xmin +j − 1
L− 1(xmax − xmin)
de preference avec le meme ratio :L− 1
H − 1=
ymax − ymin
xmax − xmin
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 203 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 204 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
pour tout pixel (i , j) faire
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 204 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
pour tout pixel (i , j) faireX = (x , y) point correspondant au pixel (i , j)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 204 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
pour tout pixel (i , j) faireX = (x , y) point correspondant au pixel (i , j)(a) determiner les points Xk de la streamline passant par X et
correspondant a l’intervalle [a, b] du noyau
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 204 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
pour tout pixel (i , j) faireX = (x , y) point correspondant au pixel (i , j)(a) determiner les points Xk de la streamline passant par X et
correspondant a l’intervalle [a, b] du noyausi Xk est hors du domaine D alors
remplacer Xk par le point le plus proche dans Dfin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 204 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
pour tout pixel (i , j) faireX = (x , y) point correspondant au pixel (i , j)(a) determiner les points Xk de la streamline passant par X et
correspondant a l’intervalle [a, b] du noyausi Xk est hors du domaine D alors
remplacer Xk par le point le plus proche dans Dfin si
(b) calculer F (i , j) par integration numerique
F (i , j) ≃ h
Z
∑
k
ϕ(tk)I (Xk)
avec I (Xk) valeur du pixel correspondant a Xk ,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 204 / 242
Visualisation de champs de vecteurs Methode LIC
Detail de l’algorithme
pour tout pixel (i , j) faireX = (x , y) point correspondant au pixel (i , j)(a) determiner les points Xk de la streamline passant par X et
correspondant a l’intervalle [a, b] du noyausi Xk est hors du domaine D alors
remplacer Xk par le point le plus proche dans Dfin si
(b) calculer F (i , j) par integration numerique
F (i , j) ≃ h
Z
∑
k
ϕ(tk)I (Xk)
avec I (Xk) valeur du pixel correspondant a Xk ,fin pour
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 204 / 242
Visualisation de champs de vecteurs Methode LIC
Remarques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 205 / 242
Visualisation de champs de vecteurs Methode LIC
Remarques
algo couteux en temps : O(L H N)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 205 / 242
Visualisation de champs de vecteurs Methode LIC
Remarques
algo couteux en temps : O(L H N)
versions optimisees pour reduire les temps de calculs :par exemple FastLIC
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 205 / 242
Visualisation de champs de vecteurs Methode LIC
Remarques
algo couteux en temps : O(L H N)
versions optimisees pour reduire les temps de calculs :par exemple FastLIC
extensions en 3D
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 205 / 242
Simplification de donnees
Plan
1 Introduction
2 Types de donnees
3 Visualisation de donnees surfaciques
4 Visualisation de donnees volumiques
5 Visualisation de champs de vecteurs
6 Simplification de donneesLe cadreSimplification de courbesSimplification de maillages surfaciques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 206 / 242
Simplification de donnees Le cadre
Plan
6 Simplification de donneesLe cadreSimplification de courbesSimplification de maillages surfaciques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 207 / 242
Simplification de donnees Le cadre
Donnees massives
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 208 / 242
Simplification de donnees Le cadre
Donnees massives
→ reduction de leur taille :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 208 / 242
Simplification de donnees Le cadre
Donnees massives
→ reduction de leur taille :
visualisation a differentes echelles,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 208 / 242
Simplification de donnees Le cadre
Donnees massives
→ reduction de leur taille :
visualisation a differentes echelles,
reduction de la taille de calcul numerique,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 208 / 242
Simplification de donnees Le cadre
Donnees massives
→ reduction de leur taille :
visualisation a differentes echelles,
reduction de la taille de calcul numerique,
compression de donnees,
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 208 / 242
Simplification de donnees Le cadre
Donnees massives
→ reduction de leur taille :
visualisation a differentes echelles,
reduction de la taille de calcul numerique,
compression de donnees,
. . .
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 208 / 242
Simplification de donnees Le cadre
Exemples
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 209 / 242
Simplification de donnees Le cadre
Exemples
Simplification de lignes polygonales
19863 pts 1732 pts 156 pts 21 pts
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 209 / 242
Simplification de donnees Le cadre
Exemples
Simplification de maillages surfaciques
1000000 triangles 20000 triangles 1000 triangles
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 209 / 242
Simplification de donnees Simplification de courbes
Plan
6 Simplification de donneesLe cadreSimplification de courbesSimplification de maillages surfaciques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 210 / 242
Simplification de donnees Simplification de courbes
Introduction
Lignes brisees/contours 2D (polygones ouverts/fermes) utilises dans denombreuses applications (par exemple elements de cartes vectorielles).
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 211 / 242
Simplification de donnees Simplification de courbes
Introduction
Lignes brisees/contours 2D (polygones ouverts/fermes) utilises dans denombreuses applications (par exemple elements de cartes vectorielles).
En visualisation, necessite ou non d’avoir la description de objet avec unniveau de detail important.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 211 / 242
Simplification de donnees Simplification de courbes
Exemple
Ligne brisee a differents niveaux de simplificationset representee a differentes echelles :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 212 / 242
Simplification de donnees Simplification de courbes
Exemple
Ligne brisee a differents niveaux de simplificationset representee a differentes echelles :
202 points 55 points 14 points 8 points
Echelle 1/1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 212 / 242
Simplification de donnees Simplification de courbes
Exemple
Ligne brisee a differents niveaux de simplificationset representee a differentes echelles :
202 points 55 points 14 points 8 points
Echelle 1/1
Echelle 1/4
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 212 / 242
Simplification de donnees Simplification de courbes
Exemple
Ligne brisee a differents niveaux de simplificationset representee a differentes echelles :
202 points 55 points 14 points 8 points
Echelle 1/1
Echelle 1/4
Echelle 1/10
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 212 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 213 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Idee : simplifier la liste de points en prenant un sous-echantillon.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 213 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Idee : simplifier la liste de points en prenant un sous-echantillon.
Donnees :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 213 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Idee : simplifier la liste de points en prenant un sous-echantillon.
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 213 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Idee : simplifier la liste de points en prenant un sous-echantillon.
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}taux de compression τ (reel > 1)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 213 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Idee : simplifier la liste de points en prenant un sous-echantillon.
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}taux de compression τ (reel > 1)
Resultat :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 213 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Idee : simplifier la liste de points en prenant un sous-echantillon.
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}taux de compression τ (reel > 1)
Resultat :
ligne brisee simplifiee LS = {P1,P2, . . . ,Pp}avec P i = P1+[(i−1)τ ] et p = [n/τ ]
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 213 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 214 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Exemple :τ = 10 → LS = {P1 = P1,P2 = P11,P3 = P21,P4 = P31, . . .}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 214 / 242
Simplification de donnees Simplification de courbes
Algorithme par sous-echantillonnage
Exemple :τ = 10 → LS = {P1 = P1,P2 = P11,P3 = P21,P4 = P31, . . .}
Remarques :
(+) Algo. en O(n)
(-) Resultat mediocre si echantillonnage initial non ”regulier”
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 214 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 215 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Idee : simplifier la liste en supprimant successivement les sommetsminimisant un certain critere geometrique.
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 215 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Idee : simplifier la liste en supprimant successivement les sommetsminimisant un certain critere geometrique.
Donnees :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 215 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Idee : simplifier la liste en supprimant successivement les sommetsminimisant un certain critere geometrique.
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 215 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Idee : simplifier la liste en supprimant successivement les sommetsminimisant un certain critere geometrique.
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}fonction critere J
critere-seuil s
nb. minimal de points m
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 215 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Idee : simplifier la liste en supprimant successivement les sommetsminimisant un certain critere geometrique.
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}fonction critere J
critere-seuil s
nb. minimal de points m
Resultat :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 215 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Idee : simplifier la liste en supprimant successivement les sommetsminimisant un certain critere geometrique.
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}fonction critere J
critere-seuil s
nb. minimal de points m
Resultat :
ligne brisee simplifiee LS avec p points (m ≤ p ≤ n)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 215 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 216 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Algo. :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 216 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Algo. :
LS ← Ltant que taille(LS) ≥ m
trouver le sommet Pi minimisant Jsi J(Pi ) > s alors finretirer Pi de LS
fin tant que
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 216 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Exemple de critere :
Pi
Pi+1Pi−1α
J(Pi ) = |π − α|
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 217 / 242
Simplification de donnees Simplification de courbes
Algorithme par decimation
Exemple de critere :
Pi
Pi+1Pi−1α
J(Pi ) = |π − α|
Remarques :
(-) Algo. en O(n2)
(+) Bon resultat avec critere(s) adapte(s)
(+) Amelioration de la complexite avec gestion adaptee de la liste dessommets
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 217 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 218 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker
Idee : simplifier en remplacant localement un polygone par un segment
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 218 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker
Idee : simplifier en remplacant localement un polygone par un segment
Donnees :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 218 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker
Idee : simplifier en remplacant localement un polygone par un segment
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 218 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker
Idee : simplifier en remplacant localement un polygone par un segment
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}distance-seuil d
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 218 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker
Idee : simplifier en remplacant localement un polygone par un segment
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}distance-seuil d
Resultat :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 218 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker
Idee : simplifier en remplacant localement un polygone par un segment
Donnees :
ligne brisee L avec n points : L = {P1,P2, . . . ,Pn}distance-seuil d
Resultat :
ligne brisee simplifiee LS avec p points (p ≤ n)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 218 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 219 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
1) si n = 2 alors
P1
P2L
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 219 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
1) si n = 2 alorsLS = segment [P1,P2] = L
P1
P2LS
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 219 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
1) si n = 2 alorsLS = segment [P1,P2] = L→ pas de simplification
P1
P2LS
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 219 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 220 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2) sinon
P1 Pn
L
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 220 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2) sinonL avec au moins 2 segments
P1 Pn
L
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 220 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2) sinonL avec au moins 2 segmentssimplifier si necessaire L suivant la distance d :
P1 Pn
L
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 220 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2) sinonL avec au moins 2 segmentssimplifier si necessaire L suivant la distance d :→ points 2-1), 2-2) et 2.3)
P1 Pn
L
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 220 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.1)
P1 Pn
L
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 221 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.1) soit S le segment [P1,Pn] :
L
P1 Pn
S
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 221 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.1) soit S le segment [P1,Pn] :rechercher le point Pk le plus eloigne du segment S
Pk
P1
L
Pn
S
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 221 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.2)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 222 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.2) si distance entre Pk et S est inferieur a d alors
Pk
P1 Pn
dL
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 222 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.2) si distance entre Pk et S est inferieur a d alorsLS est reduite a S = [P1,Pn]
LS
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 222 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3) sinon
L
Pk
P1 Pnd
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3) sinonsimplifier la sous-liste ({P1, . . . ,Pk})
Pk
P1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3) sinonsimplifier la sous-liste ({P1, . . . ,Pk}) → L1
L1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3) sinonsimplifier la sous-liste ({P1, . . . ,Pk}) → L1simplifier la sous-liste ({Pk, . . . ,Pn})
Pk
Pn
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3) sinonsimplifier la sous-liste ({P1, . . . ,Pk}) → L1simplifier la sous-liste ({Pk, . . . ,Pn}) → L2
L2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3) sinonsimplifier la sous-liste ({P1, . . . ,Pk}) → L1simplifier la sous-liste ({Pk, . . . ,Pn}) → L2LS concatenation de L1
L1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3) sinonsimplifier la sous-liste ({P1, . . . ,Pk}) → L1simplifier la sous-liste ({Pk, . . . ,Pn}) → L2LS concatenation de L1 et L2
L2L1
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Principe
2.3) sinonsimplifier la sous-liste ({P1, . . . ,Pk}) → L1simplifier la sous-liste ({Pk, . . . ,Pn}) → L2LS concatenation de L1 et L2
LS
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 223 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 224 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L,d)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 224 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L,d)
n ← nb points(L)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 224 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L,d)
n ← nb points(L)
// (1) n = 2 → pas de simplificationsi n ≤ 2 alors
LS ← L
fin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 224 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite
// (2) n > 2 → simplification eventuelle suivant d
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 225 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite
// (2) n > 2 → simplification eventuelle suivant d
// (2.1) rechercher le point Pk le plus eloigne du segment [P1,Pn]// ainsi que la distance dmax correspondante
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 225 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite
// (2) n > 2 → simplification eventuelle suivant d
// (2.1) rechercher le point Pk le plus eloigne du segment [P1,Pn]// ainsi que la distance dmax correspondantedmax ← 0pour j de 2 a n − 1 faire
dj ← distance point segment(Pj ,[P1,Pn])si dmax < dj alors
dmax ← djk ← j
fin sifin pour
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 225 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite
// (2.2) dmax ≤ d → simplification suivant le segment Ssi dmax ≤ d alors
LS ← {P1,Pn}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 226 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite et fin
// (2.3) dmax > d → decomposer le probleme en deuxsinon
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 227 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite et fin
// (2.3) dmax > d → decomposer le probleme en deuxsinon
// L1 sous-liste des points de L de P1 a Pk
L1 ← {P1,P2, . . . ,Pk}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 227 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite et fin
// (2.3) dmax > d → decomposer le probleme en deuxsinon
// L1 sous-liste des points de L de P1 a Pk
L1 ← {P1,P2, . . . ,Pk}// L2 sous-liste des points de L de Pk a Pn
L2 ← {Pk ,Pk+1, . . . ,Pn}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 227 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite et fin
// (2.3) dmax > d → decomposer le probleme en deuxsinon
// L1 sous-liste des points de L de P1 a Pk
L1 ← {P1,P2, . . . ,Pk}// L2 sous-liste des points de L de Pk a Pn
L2 ← {Pk ,Pk+1, . . . ,Pn}LS1 ← simplification douglas peuker(L1, d)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 227 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite et fin
// (2.3) dmax > d → decomposer le probleme en deuxsinon
// L1 sous-liste des points de L de P1 a Pk
L1 ← {P1,P2, . . . ,Pk}// L2 sous-liste des points de L de Pk a Pn
L2 ← {Pk ,Pk+1, . . . ,Pn}LS1 ← simplification douglas peuker(L1, d)LS2 ← simplification douglas peuker(L2, d)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 227 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Algorithme
Routine LS = simplification douglas peuker(L) // suite et fin
// (2.3) dmax > d → decomposer le probleme en deuxsinon
// L1 sous-liste des points de L de P1 a Pk
L1 ← {P1,P2, . . . ,Pk}// L2 sous-liste des points de L de Pk a Pn
L2 ← {Pk ,Pk+1, . . . ,Pn}LS1 ← simplification douglas peuker(L1, d)LS2 ← simplification douglas peuker(L2, d)// concatenation de LS1 et LS2,// dernier point de LS1 egal au premier point de LS2 (egal a Pk)LS ← concatenation(LS1,LS2)
fin si
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 227 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Calcul de la distance dj entre un point Pj et un segment [P1,Pn] :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 228 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Calcul de la distance dj entre un point Pj et un segment [P1,Pn] :
A) si P1 = Pn alors
dj = distance(P1,Pj) = distance(Pn,Pj)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 228 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Calcul de la distance dj entre un point Pj et un segment [P1,Pn] :
A) si P1 = Pn alors
dj = distance(P1,Pj) = distance(Pn,Pj)
B) si P1 6= Pn alors
dj = MinP∈[P1,Pn]
distance(P ,Pj)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 228 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Calcul de la distance dj entre un point Pj et un segment [P1,Pn] :
A) si P1 = Pn alors
dj = distance(P1,Pj) = distance(Pn,Pj)
B) si P1 6= Pn alors
dj = MinP∈[P1,Pn]
distance(P ,Pj)
→ trois cas de figures a considerer
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 228 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Cas P1 6= Pn
P1
Pn
Pj
h
l
l−ss
ba
Q PnP1
Pj
l
h
Q
a b
P1
Pn
Pj
l Q
h
ba
cas B1 cas B2 cas B3
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 229 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Cas P1 6= Pn
P1
Pn
Pj
h
l
l−ss
ba
Q PnP1
Pj
l
h
Q
a b
P1
Pn
Pj
l Q
h
ba
cas B1 cas B2 cas B3
Q = projection de Pk sur la droite support du segment,l = distance(P1,Pn) h = distance(Q,Pk)a = distance(P1,Pk) s = distance signee(P1,Q)b = distance(Pn,Pk) l − s = distance signee(Q,Pn)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 229 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Cas P1 6= Pn
1 Calculer les distances l , a et b
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 230 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Cas P1 6= Pn
1 Calculer les distances l , a et b
2 Considerer [P1,Q,Pk ] et [Pn,Q,Pk ], triangles rectangles en Q :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 230 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Cas P1 6= Pn
1 Calculer les distances l , a et b
2 Considerer [P1,Q,Pk ] et [Pn,Q,Pk ], triangles rectangles en Q :
{a2 = h2 + s2
b2 = h2 + (l − s)2
}
⇒ s =a2 − b2 + l2
2 l
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 230 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Distance point-segment
Cas P1 6= Pn
1 Calculer les distances l , a et b
2 Considerer [P1,Q,Pk ] et [Pn,Q,Pk ], triangles rectangles en Q :
{a2 = h2 + s2
b2 = h2 + (l − s)2
}
⇒ s =a2 − b2 + l2
2 l
⇒ dj =
h =√
a2 − s2 si 0 ≤ s ≤ l (cas B1)a si s < 0 (cas B2)b si s > l (cas B3)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 230 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Remarques
Remarques :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 231 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Remarques
Remarques :
(-/+) Algo. en O(n2) dans le cas pire, O(n ln n) en general
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 231 / 242
Simplification de donnees Simplification de courbes
Algorithme de Douglas-Peuker - Remarques
Remarques :
(-/+) Algo. en O(n2) dans le cas pire, O(n ln n) en general
(+) Algo. simple et utilise pour l’affichage
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 231 / 242
Simplification de donnees Simplification de maillages surfaciques
Plan
6 Simplification de donneesLe cadreSimplification de courbesSimplification de maillages surfaciques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 232 / 242
Simplification de donnees Simplification de maillages surfaciques
Le cadre
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 233 / 242
Simplification de donnees Simplification de maillages surfaciques
Le cadre
De plus en plus, manipulation de maillages surfaciques volumineux (nbfaces > 106)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 233 / 242
Simplification de donnees Simplification de maillages surfaciques
Le cadre
De plus en plus, manipulation de maillages surfaciques volumineux (nbfaces > 106)
reconstruction de surfaces a partir de donnees scanner
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 233 / 242
Simplification de donnees Simplification de maillages surfaciques
Le cadre
De plus en plus, manipulation de maillages surfaciques volumineux (nbfaces > 106)
reconstruction de surfaces a partir de donnees scanner
maillages de modeles CAO
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 233 / 242
Simplification de donnees Simplification de maillages surfaciques
Le cadre
De plus en plus, manipulation de maillages surfaciques volumineux (nbfaces > 106)
reconstruction de surfaces a partir de donnees scanner
maillages de modeles CAO
donnees geographiques
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 233 / 242
Simplification de donnees Simplification de maillages surfaciques
Le cadre
De plus en plus, manipulation de maillages surfaciques volumineux (nbfaces > 106)
reconstruction de surfaces a partir de donnees scanner
maillages de modeles CAO
donnees geographiques
resultats de calcul elements finis
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 233 / 242
Simplification de donnees Simplification de maillages surfaciques
Le cadre
De plus en plus, manipulation de maillages surfaciques volumineux (nbfaces > 106)
reconstruction de surfaces a partir de donnees scanner
maillages de modeles CAO
donnees geographiques
resultats de calcul elements finis
. . .
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 233 / 242
Simplification de donnees Simplification de maillages surfaciques
Le cadre
De plus en plus, manipulation de maillages surfaciques volumineux (nbfaces > 106)
reconstruction de surfaces a partir de donnees scanner
maillages de modeles CAO
donnees geographiques
resultats de calcul elements finis
. . .
→ necessite de simplification de maillages
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 233 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation
Utiliser des operations elementaires de simplification de maillage :
1 par suppression d’un sommet
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 234 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation
Utiliser des operations elementaires de simplification de maillage :
1 par suppression d’un sommet
2 par suppression d’une arete
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 234 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation
Utiliser des operations elementaires de simplification de maillage :
1 par suppression d’un sommet
2 par suppression d’une arete
3 par suppression d’une face
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 234 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation par suppression de sommet
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 235 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation par suppression d’arete
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 236 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation par suppression de face
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 237 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 238 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation
La plus simple : methode par suppression d’arete (edge collapse)
edgecollapse−→
←−vertexsplit
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 238 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation
La plus simple : methode par suppression d’arete (edge collapse)
edgecollapse−→
←−vertexsplit
→ differentes strategies pour l’ordre de suppression des areteset pour le positionnement du nouveau sommet •
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 238 / 242
Simplification de donnees Simplification de maillages surfaciques
Methodes de decimation
La plus simple : methode par suppression d’arete (edge collapse)
edgecollapse−→
←−vertexsplit
→ differentes strategies pour l’ordre de suppression des areteset pour le positionnement du nouveau sommet •Remarque : 1 face collapse ≡ 2 edge collapse
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 238 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : Shortest Edge
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 239 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : Shortest Edge
A chaque etape :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 239 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : Shortest Edge
A chaque etape :
supprimer l’arete de longueur minimale
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 239 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : Shortest Edge
A chaque etape :
supprimer l’arete de longueur minimale
positionner le nouveau sommet au milieu de l’arete supprimee
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 239 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Algorithme :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Algorithme :
1 initialisation :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Algorithme :
1 initialisation :
pour chaque sommet S , definir une fonction quadrique qS(x , y , z)telle que qS (S) = Min
XqS(X )
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Algorithme :
1 initialisation :
pour chaque sommet S , definir une fonction quadrique qS(x , y , z)telle que qS (S) = Min
XqS(X )
pour chaque arete A = [S1, S2], determiner le point ZA tel queqS1(ZA) + qS2(ZA) = Min
XqS1(X ) + qS2(X ) = vA
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Algorithme :
1 initialisation :
pour chaque sommet S , definir une fonction quadrique qS(x , y , z)telle que qS (S) = Min
XqS(X )
pour chaque arete A = [S1, S2], determiner le point ZA tel queqS1(ZA) + qS2(ZA) = Min
XqS1(X ) + qS2(X ) = vA
2 etape de suppression d’une arete :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Algorithme :
1 initialisation :
pour chaque sommet S , definir une fonction quadrique qS(x , y , z)telle que qS (S) = Min
XqS(X )
pour chaque arete A = [S1, S2], determiner le point ZA tel queqS1(ZA) + qS2(ZA) = Min
XqS1(X ) + qS2(X ) = vA
2 etape de suppression d’une arete :
trouver l’arete A0 = [S1, S2] tel que vA0 = MinA arete
vA
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Algorithme :
1 initialisation :
pour chaque sommet S , definir une fonction quadrique qS(x , y , z)telle que qS (S) = Min
XqS(X )
pour chaque arete A = [S1, S2], determiner le point ZA tel queqS1(ZA) + qS2(ZA) = Min
XqS1(X ) + qS2(X ) = vA
2 etape de suppression d’une arete :
trouver l’arete A0 = [S1, S2] tel que vA0 = MinA arete
vA
creer le nouveau sommet S ′ = ZA0, avec la fonction quadrique associeeqS′ = qS1 + qS2
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Quadric Error Metric Garland - Heckbert 1997
Algorithme :
1 initialisation :
pour chaque sommet S , definir une fonction quadrique qS(x , y , z)telle que qS (S) = Min
XqS(X )
pour chaque arete A = [S1, S2], determiner le point ZA tel queqS1(ZA) + qS2(ZA) = Min
XqS1(X ) + qS2(X ) = vA
2 etape de suppression d’une arete :
trouver l’arete A0 = [S1, S2] tel que vA0 = MinA arete
vA
creer le nouveau sommet S ′ = ZA0, avec la fonction quadrique associeeqS′ = qS1 + qS2
mettre a jour les aretes A issues de S ′ (point ZA et valeur vA associee)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 240 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Fonction qS :
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 241 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Fonction qS :
pour une face F , considerer le plan ΠF contenant F
ΠF = {(x , y , z), fF (x , y , z) = ax+by+cz+d = 0 avec a2+b2+c2 = 1}
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 241 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Fonction qS :
pour une face F , considerer le plan ΠF contenant F
ΠF = {(x , y , z), fF (x , y , z) = ax+by+cz+d = 0 avec a2+b2+c2 = 1}
→ qF = f 2F fonction quadrique (degre 2) en x , y et z
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 241 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Fonction qS :
pour une face F , considerer le plan ΠF contenant F
ΠF = {(x , y , z), fF (x , y , z) = ax+by+cz+d = 0 avec a2+b2+c2 = 1}
→ qF = f 2F fonction quadrique (degre 2) en x , y et z
pour un sommet initial S , considerer les faces contenant S
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 241 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation d’aretes : QEM
Fonction qS :
pour une face F , considerer le plan ΠF contenant F
ΠF = {(x , y , z), fF (x , y , z) = ax+by+cz+d = 0 avec a2+b2+c2 = 1}
→ qF = f 2F fonction quadrique (degre 2) en x , y et z
pour un sommet initial S , considerer les faces contenant S
→ qS =∑
F∋S
qF (qS (S) = 0)
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 241 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation
IMPORTANT : a chaque etape, conserver la topologie du maillage
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 242 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation
IMPORTANT : a chaque etape, conserver la topologie du maillage→ interdire certaines suppressions
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 242 / 242
Simplification de donnees Simplification de maillages surfaciques
Methode par decimation
IMPORTANT : a chaque etape, conserver la topologie du maillage→ interdire certaines suppressions
→ traiter les elements de bord de maniere particuliere
Nicolas SZAFRAN (UJF) Visu. Scient. - M2 IMSN/IICAO 2010/2011 242 / 242