Transcript gaz

Phénomènes gazeux
Introduction
La modélisation des phénomènes gazeux (fumée, nuages, feu) est particulièrement difficile :
Se transforme rapidement en vapeurs.
Les gaz n’ont aucune géométrie définie : par conséquent, leur
modélisation, leur rendu et leur animation sont souvent interreliés.
Terminologie :
Dynamique des fluides : Mouvement des gaz et des liquides.
Équations utilisées
Dynamique des fluides computationnelle
("Computational Fluid Dynamics") : pour les modéliser.
Note :
En général, les gaz sont considérés comme compressibles :
- leur densité est variable,
- le calcul des changements de densité doit être pris en compte.
Les liquides sont considérés incompressibles et la densité de la
2
matière constante.
Les nuages
Caractéristiques physiques de base des nuages
Les nuages se composent de gouttelettes d’eau et/ou de cristaux de
glace visibles, en suspension dans l’air selon l’altitude et, par
conséquent, de la température de l’air.
Ils se forment lorsque l’air monte, que la vapeur qu’ils contiennent se
refroidit jusqu’au point de saturation et qu’elle se condense.
C’est la vapeur d’eau condensée qui constitue le nuage.
Le nuage peut comporter également des particules liquides acides, des
particules solides provenant de vapeurs industrielles, de poussières,
de fumées.
Plusieurs sources contiennent une très bonne introduction aux nuages
et à leur identification.
3
Références générales sur les nuages
J. P. Chalon, Combien pèse un nuage ? ou pourquoi les nuages ne
tombent pas, Bulles de Sciences, 2-86883-610-0, 2002, 187p.
W. Cotton and A. Anthes, Storm and Cloud Dynamics, Academic Press,
New York, 1989.
R. House, Cloud Dynamics, Academic Press, Orlando, 1993.
R. Tricker, The Science of the Clouds, American Elsevier, New York,
1970.
* http://perso.wanadoo.fr/indexmeteo/.
Disponible
Non disponible
4
Formes de nuages (*)
La forme du nuage varie en fonction de phénomènes qui forcent l’air à
monter ou à se gonfler.
Ascension due à des montagnes (orographie)
Les nuages sont plus isolés.
5
Formes de nuages (*)
Ascension d’une masse d’air chaud sur une masse d’air froid
6
Formes de nuages (*)
Ascension d’une masse d’air plus chaude que son environnement
etc.
7
Brouillard et brume (*)
Le refroidissement d’une masse d’air par la
base.
Lorsque la visibilité est inférieure à 1 km, le
brouillard règne.
Autrement, il s’agit de brume.
8
Formes de nuages (*)
La
forme
du
nuage
varie
en
fonction
de
l’altitude.
9
Formes de nuages (*)
Stratus
10
Formes de nuages (*)
Cumulus
11
Formes de nuages (*)
Cumulonimbus
12
Formes de nuages (*)
Nimbostratus
13
Formes de nuages (*)
Stratocumulus
14
Formes de nuages (*)
Altostratus
15
Formes de nuages (*)
Altocumulus
16
Formes de nuages (*)
Cirrocumulus
17
Formes de nuages (*)
Cirrostratus
18
Formes de nuages (*)
Cirrus
19
Caractéristiques visuelles des nuages
Les nuages en possèdent plusieurs facilement identifiables qu’il faut
modéliser pour produire des images et des animations précises.
Les nuages présentent une structure (volume) amorphe variable
avec des détails particuliers à différentes échelles de grandeur.
Même un œil peu entraîné est capable de juger rapidement du
réalisme d’un modèle de nuage.
La formation de nuages est souvent la conséquence de
- tourbillonnements,
- gonflements ou
- turbulences
entraînant des caractéristiques visuelles variables dans le temps.
Ils renferment de petits cristaux de glace ou de fines gouttelettes
d’eau qui absorbent, diffusent ou réfléchissent la lumière.
Les caractéristiques d’illumination et d’ombrage doivent être
20
rendues avec précision pour obtenir des images convaincantes.
Problèmes de rendu des nuages
Albédo d’un modèle d’illumination :
Rapport entre la quantité de lumière qu’un objet réfléchit et
celle qu'il reçoit.
1. Les modèles d’illumination des nuages sont divisés :
- en modèles à faible albédo :
effets de diffusion secondaire négligeables,
- en modèles à fort albédo :
effets de diffusion secondaire doivent être pris en compte
Ex. : nuages épais : cumulus,
stratus,
cumulonimbus.
2. La réalisation d’un ombrage de nuages satisfaisant exige de recourir à
des techniques d’ombrage volumétrique :
- algorithme de lancer de rayons volumétrique (coûteux) ou
21
- usage de tables d’ombrage volumétrique.
Modélisation des nuages
Défi constant depuis plus de 20 ans. Important de par la nature
omniprésente des nuages.
G. Y. Gardner, Simulation of Natural Scenes Using Textured Quadric Surfaces. SIGGRAPH’ 84, vol. 18, no. 3,
pp. 11-20.
G. Y. Gardner, Visual Simulation of Clouds. SIGGRAPH’ 85, vol. 19, no. 3, pp. 297-303.
Le modèle renferme les 3 éléments suivants :
- un plan du ciel || au plan de la terre (plan X-Y) d’altitude A :
P(x, y, z) = z – A = 0,
- des ellipsoïdes représentant la forme globale des nuages 3D,
- une fonction de texture définie à
l’aide de la transformée de Fourier.
22
Modélisation volumétrique des nuages
Même si des techniques basées sur la surface sont en mesure de
produire des images réalistes de nuages vus de loin,
- ces modèles de nuages sont plats et
- ils ne permettent pas à l’utilisateur d’entrer de manière transparente
dans ces derniers, de s’y déplacer et de les examiner de l’intérieur.
Plusieurs modèles basés sur la densité volumétrique ont été proposés:
Des densités fractales sont générées :
R. Voss, Fourier Synthesis of Gaussian Fractals : 1/f Noises, Landscapes, and Flakes. Tutorial, SIGGRAPH 83.
Les nuages générés sont convaincants mais la méthode proposée
donne lieu à un comportement dynamique irréaliste.
-
Peu pratique pour l’animateur
de spécifier et de contrôler la
densité détaillée 3D.
23
Modélisation volumétrique des nuages
Des densités sont générées, basées sur les propriétés physiques
des nuages (à l’aide de systèmes d’équations différentielles).
J. T. Kajiya & B. P. Von Herzen, Ray Tracing Volume Densities. SIGGRAPH 84, Vol. 18, No. 3, pp. 165-174.
Des modèles volumétriques convaincants de fumée et de vapeur
sont aussi proposés.
J. Stam & E. Fiume, Depicting Fire and Other Gaseous Phenomena Using Diffusion Processes. SIGGRAPH 95,
pp. 129-136.
N. Foster & D. Metaxas, Modeling the Motion of a Hot, Turbulent Gas. SIGGRAPH 97, pp. 181-188.
-
Approche prohibitive du point de vue calcul.
Approche non intuitive pour de nombreux animateurs et
modélisateurs.
Définir et animer des paramètres physiques précis relatifs
entre autres à la température de condensation, aux gradients
de température et de pression est une tâche laborieuse et
24
gourmande en temps.
Modélisation volumétrique des nuages
Des systèmes de particules sont couramment utilisés pour simuler
des gaz volumétriques.
+ Résultats convaincants et contrôle aisé de l’animation.
-
Le nombre colossal de particules nécessaires pour simuler
des nuages réalistes.
Exploitation du concept de fonctions implicites pour représenter la
forme et la densité des nuages.
T. Nishita, E. Nakamae & Y. Dobashi, Display of Clouds and Snow Taking Into Account Multiple Anisotropic
Scattering and Sky Light. SIGGRAPH 96, pp. 379-386.
Exemple de cumulonimbus.
25
Modélisation volumétrique des nuages
Utilisation de fonctions implicites volumétriques combinées à des
systèmes de particules et des outils de simulation (procédures).
D. Ebert, Volumetric Modeling with Implicit Functions : A Cloud Is Born. Visual Proceedings of SIGGRAPH 97,
p. 147.
D. Ebert, K. Musgrave, D. Peachey, K. Perlin, and S. Worley, Texturing and Modeling : A Procedural Approach, AP
Professional, Cambridge, Mass., 1998.
Ce modèle de nuage volumétrique utilise une hiérarchie à 2 niveaux :
- la macrostructure - la microstructure du nuage.
Ces 2 éléments sont modélisés resp. au moyen de fonctions implicites
26
et de densités de volume (fonction stochastique).
Modélisation volumétrique des nuages
Macrostructure du nuage
Des fonctions implicites permettent de spécifier et d’animer la
structure globale d’un nuage.
L’utilisateur peut se contenter de spécifier la position, le type et la
taille des primitives implicites pour créer la forme globale du nuage.
27
Modélisation volumétrique des nuages
Microstructure du nuage
Des procédures de génération de bruit sont proposées pour simuler
des détails naturels.
#define TABSIZE
256
#define TABMASK
(TABSIZE – 1)
#define RANDNBR
(((float)rand())/RAND_MASK)
float valueTab[TABSIZE];
Permet d’initialiser un tableau de nombres pseudo-aléatoires
entre –1 et 1.
*/
void valueTableInit(int seed)
{
float *table = valueTab;
int i;
srand(seed);
for (i=0; i < TABSIZE; i++) *(table++) = 1.0 – 2.0 * RANDNBR;
}
/*
28
Modélisation volumétrique des nuages
#define PERM(x)
perm[(x)&TABMASK]
#define INDEX(ix, iy, iz) PERM((ix)+PERM((iy)+PERM(iz)))
// Évite un accès régulier aux composantes du tableau.
//
Renvoie une valeur pseudo-aléatoire du tableau précédent à partir
//
des coordonnées d’un point.
float lattice(int ix, int iy, int iz)
{
return valueTab[INDEX(ix, iy, iz)];
29
}
Modélisation volumétrique des nuages
//
Fonction de bruit retournant une valeur pseudo-aléatoire entre –1 et 1.
float noise(float x, float y, float z)
{
int ix, iy, iz;
int i, j, k;
float fx, fy, fz;
float xknots[4], yknots[4], zknots[4];
static int initialized = 0;
if (!initialized) // Initialisation du tableau aléatoire lors du 1er appel.
{ valueTableInit(665); initialized = 1;
}
ix = (int)(x);
fx = x – ix;
iy = (int)(y);
fy = y – iy;
iz = (int)(z);
fz = z – iz;
for (k = -1; k <= 2; k++)
{
for (j = -1; j <= 2; j++)
{
for (i =-1; i <= 2; i++) // générer 4 valeurs dans [–1, 1]
xknots[i+1] = lattice(ix + i, iy + j,iz + k);
yknots[j+1] = spline(fx, xknots); }
zknots[k+1] = spline(fy, yknots); }
return spline(fz, zknots);
}
30
Modélisation volumétrique des nuages
Une spline à 4 points
est utilisée pour
effectuer des
interpolations
parmi les nombres
pseudo-aléatoires
recueillis.
31
Modélisation volumétrique des nuages
La densité des primitives implicites est combinée à une densité basée
entièrement sur le bruit.
Le fusionnement des 2 densités permet la création de nuages qui vont
de nuages entièrement déterminés par la densité de la fonction implicite
à des nuages entièrement déterminés par la fonction de bruit.
Ressemblent à des boules de cotton.
La combinaison des 2 leur donne un aspect naturel.
32
Animation de nuages volumétriques
Ces modèles de nuages volumétriques peuvent être animés au moyen
de la dynamique des systèmes de particules avec des primitives
implicites attachées à chaque particule.
Puisque les fonctions implicites modélisent la macrostructure pendant
que les techniques procédurales en modélisent la microstructure, moins
de primitives sont nécessaires pour créer des modèles de nuages
complexes.
Quelques centaines de primitives, soit de cent à mille fois moins
qu’avec des systèmes de particules traditionnels.
L’utilisateur spécifie quelques primitives implicites de départ et des
informations de dynamique, telles que la vitesse globale, la vitesse de
départ, la fonction de force et la durée de vie, puis le système génère la
position, le nombre, la taille et le type de fonctions implicites de
chaque image.
33
Feu
Processus particulièrement difficile à modéliser et très gourmand en
calculs.
Il possède toutes les complexités de la fumée et des nuages avec la
complexité supplémentaire de phénomènes internes très actifs.
Ces phénomènes produisent de la lumière et du mouvement et créent
des attributs d’affichage variant très rapidement.
34
1. Approche basée sur les systèmes de particules
L’un des premiers exemples d’incendies générés par ordinateur et
qui compte parmi les plus connus apparaît dans le film Strar Trek II :
La colère de Khan (Lucasfilm, 82).
Un mur de feu balaie la surface d’une planète
à partir d’un point d’impact unique.
35
Hiérarchie du système de particules
Cette simulation ne constitue pas un modèle d’incendie totalement
probant, bien que la séquence du film soit très impressionnante.
Le modèle utilise une hiérarchie de particules à 2 niveaux.
Premier niveau :
Se trouve au point d’impact pour simuler l’explosion de départ.
Second niveau :
Se compose d’anneaux concentriques de particules, synchronisés
de façon à progresser vers l’extérieur à partir du point central,
formant le mur de feu et les explosions.
Chaque anneau se compose d’un certain nombre de systèmes à
particules individuels positionnés sur l’anneau et se chevauchant
de façon à former un anneau continu.
36
Modèle cherchant à ressembler à des explosions
Les particules sont orientées de façon à s’envoler vers le haut et à
s’éloigner de la surface de la planète.
La position de départ d’une particule est choisie de manière aléatoire
à partir de la base circulaire.
La direction de déplacement de départ d’une particule est contrainte
de façon à ne dévier que d’un angle inférieur à l’angle d’éjection par
37
rapport à la normale de la surface.
2.
Autres approches
Des textures animées bidimensionnelles.
Inconvénient :
Les angles de vues restent limités.
Les approches les plus réalistes exigent des techniques sophistiquées
issues de la dynamique computationnelle des fluides.
Permet d’améliorer les champs de densité et de température.
Avantage :
Résultats probants.
Représentation intrinsèque du mouvement.
Inconvénient :
Difficiles à contrôler car leurs paramètres sont difficiles à fixer
pour tenir compte de l’effet visuel désiré.
(contrôle la simulation en spécifiant un champ de vent).
Les fondements mathématiques sont complexes.
Exemple d’image à la diapositive suivante.
38
J. Stam & E. Fiume, Depicting Fire and Other Gazeous Phenomena Using Diffusion Processus. SIGGRAPH’ 95,
pp. 129-136.
Modèles de diffusion d’incendie dans son environnement
(des fosses ou des bâtiments).
Inconvénient :
Négligent le réalisme visuel.
Des représentations globales et extrinsèques du mouvement du feu.
H. Rushmeier, A. Hamins & M. Y. Choi, Volume Rendering of Pool Fire Data. IEEE Computer Graphics and
Applications, Vol. 15, No. 4, pp. 62-67, 1995.
Références sur la modélisation et l’animation du feu
P. Beaudoin, S. Paquet & P. Poulin, Realistic and Controllable Fire
Simulation. Graphics Interface 2001, pp. 159-166.
R. Bukowski & C. Séquin, Interactive Simulation of Fire in Virtual
Building Environments. SIGGRAPH’ 97, pp. 35-44.
Rick Parent, Animatique Algorithmes et techniques. Vuibert, Paris,
2003, 530p.
H. Rushmeier, A. Hamins & M. Y. Choi, Volume Rendering of Pool
Fire Data. IEEE Computer Graphics and Applications, Vol. 15,
No. 4, pp. 62-67, 1995.
J. Stam & E. Fiume, Depicting Fire and Other Gazeous Phenomena
Using Diffusion Processus. SIGGRAPH’ 95, pp. 129-136.
Disponible
41
Conclusion
La modélisation et l’animation de phénomènes gazeux est une
opération délicate.
Les gaz changent constamment de formes et n’ont même pas de
surface définissable.
Le graphisme à l’aide de volumes semble le moyen le plus prometteur
pour modéliser et animer des gaz.
À mesure que les coûts de traitement informatiques diminuent, des
techniques telles que celles issues de la dynamique des fluides
computationnelles deviennent des outils plus commodes.
Un modèle efficace et visuellement précis du feu reste à élaborer.
42