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