Systèmes de particules

publicité
Systèmes de particules
SIA Ensimag 3A
Estelle Duveau
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
1 / 16
Inspiration
Andrew Witkin et David Baraff - Physically Based Modeling
cours à Siggraph 2001
Cours de Marie-Paule Cani, François Faure, Nicolas Holzschuch
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
2 / 16
Plan
1
Définition
2
Forces
3
Vie d’une particule
4
Applications
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
3 / 16
Plan
1
Définition
2
Forces
3
Vie d’une particule
4
Applications
Une particule
Masse m, position p, vitesse v
Loi de la dynamique : f = mv̇ ⇔
X =
p
v
dX (t)
dt
= F (X (t), t) avec
F (X , t) =
v
1
f
(X
, t)
m
⇒ ODE d’ordre 1
La concaténation de p et v est appelée la position dans l’espace des
phases.
Pour chaque particule, on stocke (p, v , m, f ).
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
4 / 16
Un système de particules
Ensemble de particules (p i , v i , mi , f i )
Générateur : source de particules
Durée de vie limitée
Loi de la dynamique :

dX (t)
= F (X (t), t)
dt
SIA Ensimag 3A (Estelle Duveau)
;











X =










px0
py0
pz0
vx0
vy0
vz0
px1
py1
pz1
vx1
vy1
vz1
..
.



































F (X , t) = 










Systèmes de particules
vx0
vy0
vz0
1 0
m fx (X , t)
1 0
m fy (X , t)
1 0
m fz (X , t)
vx1
vy1
vz1
1 1
m fx (X , t)
1 1
m fy (X , t)
1 1
m fz (X , t)
..
.























5 / 16
Plan
1
Définition
2
Forces
3
Vie d’une particule
4
Applications
Forces
constantes (gravité)
unaires (gravité)
n-aires (ressorts)
à distance (attraction)
...
dépendantes de la position
(champ de forces)
dépendantes de la vitesse
(amortissement)
...
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
6 / 16
Gravité
f i = −mi G
unaire
constante
Exemples :
I
I
I
Poids sur Terre : G = 9.81z
Fumée, Flammes : la gravité pointe vers le haut!
Augmente l’énergie du système
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
7 / 16
Champs de forces
f i = f (x i , t)
unaire
ne dépend que de la position et éventuellement du temps
augmente l’énergie du système
Exemples :
I
I
I
vent
courants
...
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
8 / 16
Amortissement visqueux
f i = −νv i
unaire
ne dépend que de la vitesse
ν = coefficient de viscosité
s’oppose au mouvement
diminue l’énergie du système ⇒ stabilise le système
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
9 / 16
Attraction spatiale
fi =
X
f (x i , x j )
j
binaire
O(n2 ) pour tester toutes les paires pour n particules
Potentiel V : f = −gradV
Exemple : Lennard-Jones : interactions entre deux atomes :
V =
SIA Ensimag 3A (Estelle Duveau)
σ1
kx i −
12
xjk
−
Systèmes de particules
σ2
6
kx i − x j k
10 / 16
Exemple : Ressort
∆x = x j − x i
f (x i , x j ) = −k(k∆xk − l)
∆x
k∆xk
k = raideur
l = longueur au repos
cherche à ramener la distance entre les 2 particules à l
3ème loi de Newton : f (x j , x i ) = −f (x i , x j )
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
11 / 16
Ressort amorti :
∆x = x j − x i
f (x i , x j , v i , v j ) = −ks (k∆xk − l)
∆x
(v j − v i ).∆x ∆x
+ kd (
)
k∆xk
k∆xk
k∆xk
dépend de la position ET de la vitesse
kd = amortissement
3ème loi de Newton : f (x j , x i ) = −f (x i , x j )
s’oppose au mouvement
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
12 / 16
Plan
1
Définition
2
Forces
3
Vie d’une particule
4
Applications
Création des particules
Chaque système de particules possède un générateur de particules
Flux de création rate : nombre de particules par seconde
Au pas de temps t + ∆t, on crée
∆t rate
particules
Distribution (souvent aléatoire) de position et vitesse
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
13 / 16
Durée de vie des particules
Pour chaque particule, on garde en mémoire sa date de création
Les particules ont une durée de vie donnée
Effets en fonction de l’âge de la particule :
I
I
I
I
suppression de la particule une fois sa durée de vie écoulée
changement de couleur (refroidissement)
changement d’opacité
...
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
14 / 16
A chaque étape
1
Eliminer les particules trop âgées
2
Créer les nouvelles particules
3
Calculer les forces appliquées à chaque particule f i
4
Mettre à jour les vitesses et les positions des particules (ODE)
Exemple : Euler explicite avec un pas h :
i
i
vnew
= vold
+h
fi
mi
i
i
xnew
= xold
+ hv i
5
Traiter les collisions
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
15 / 16
Plan
1
Définition
2
Forces
3
Vie d’une particule
4
Applications
Fluides : poussières, fumées, flammes, liquides, ...
Sofa
Selle et al, Siggraph 2005
Lenaerts et al, Siggraph 2008
Solenthaler et al, Siggraph 2009
SIA Ensimag 3A (Estelle Duveau)
Systèmes de particules
16 / 16
Téléchargement