ANIMATION BASÉE SUR LA PHYSIQUE

Documents pareils
Oscillations libres des systèmes à deux degrés de liberté

Chapitre 2 : Caractéristiques du mouvement d un solide

SEANCE 4 : MECANIQUE THEOREMES FONDAMENTAUX

LES LOIS PHYSIQUES APPLIQUÉES AUX DEUX-ROUES : 1. LA FORCE DE GUIDAGE

TD 9 Problème à deux corps

DISQUE DUR. Figure 1 Disque dur ouvert

TP 7 : oscillateur de torsion

Chapitre 5. Le ressort. F ext. F ressort

1 Définition. 2 Systèmes matériels et solides. 3 Les actions mécaniques. Le système matériel : Il peut être un ensemble.un sous-ensemble..

Erratum de MÉCANIQUE, 6ème édition. Introduction Page xxi (milieu de page) G = 6, m 3 kg 1 s 2

Voyez la réponse à cette question dans ce chapitre.

T.I.P.E. Optimisation d un. moteur

Mesure de la dépense énergétique

C est un mouvement plan dont la trajectoire est un cercle ou une portion de cercle. Le module du vecteur position OM est constant et il est égal au

Problèmes sur le chapitre 5

MOTO ELECTRIQUE. CPGE / Sciences Industrielles pour l Ingénieur TD06_08 Moto électrique DIAGRAMME DES INTER-ACTEURS UTILISATEUR ENVIRONNEMENT HUMAIN

Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.

Cercle trigonométrique et mesures d angles

Quantité de mouvement et moment cinétique

Résonance Magnétique Nucléaire : RMN

NOTICE DOUBLE DIPLÔME

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

M6 MOMENT CINÉTIQUE D UN POINT MATÉRIEL

LA PUISSANCE DES MOTEURS. Avez-vous déjà feuilleté le catalogue d un grand constructeur automobile?


Modélisation et Simulation

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Michel Henry Nicolas Delorme

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

3 Approximation de solutions d équations

Vis à billes de précision à filets rectifiés

DÉVERSEMENT ÉLASTIQUE D UNE POUTRE À SECTION BI-SYMÉTRIQUE SOUMISE À DES MOMENTS D EXTRÉMITÉ ET UNE CHARGE RÉPARTIE OU CONCENTRÉE

Premier principe : bilans d énergie

Chapitre 9 : Applications des lois de Newton et Kepler à l'étude du mouvement des planètes et des satellites

STATIQUE GRAPHIQUE ET STATIQUE ANALYTIQUE

Formation à la C F D Computational Fluid Dynamics. Formation à la CFD, Ph Parnaudeau

Calcul intégral élémentaire en plusieurs variables

Champ électromagnétique?

Fonctions de plusieurs variables

Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées.

INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X

Notion de fonction. Résolution graphique. Fonction affine.

1 Problème 1 : L avion solaire autonome (durée 1h)

Exercice 1. Exercice n 1 : Déséquilibre mécanique

Premier principe de la thermodynamique - conservation de l énergie

TS Physique Satellite à la recherche de sa planète Exercice résolu

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

10 leçon 2. Leçon n 2 : Contact entre deux solides. Frottement de glissement. Exemples. (PC ou 1 er CU)

Chapitre XIV BASES PHYSIQUES QUANTITATIVES DES LOIS DE COMPORTEMENT MÉCANIQUE. par S. CANTOURNET 1 ELASTICITÉ

Une technologie ludique

DYNAMIQUE DE FORMATION DES ÉTOILES

modélisation solide et dessin technique

Figure 1 : représentation des différents écarts

Initiation à la Mécanique des Fluides. Mr. Zoubir HAMIDI

Introduction au maillage pour le calcul scientifique

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Résolution d équations non linéaires

Cours de Mécanique du point matériel

Continuité et dérivabilité d une fonction

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

Programmes des classes préparatoires aux Grandes Ecoles

association adilca LE COUPLE MOTEUR

T.P. FLUENT. Cours Mécanique des Fluides. 24 février 2006 NAZIH MARZOUQY

Chafa Azzedine - Faculté de Physique U.S.T.H.B 1

CIRCUITS DE PUISSANCE PNEUMATIQUES

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Mesures et incertitudes

EXERCICE 2 : SUIVI CINETIQUE D UNE TRANSFORMATION PAR SPECTROPHOTOMETRIE (6 points)

F411 - Courbes Paramétrées, Polaires

Cours d Analyse. Fonctions de plusieurs variables

FONCTION DE DEMANDE : REVENU ET PRIX

ANALYSE SPECTRALE. monochromateur

Cours IV Mise en orbite

CABLECAM de HYMATOM. Figure 1 : Schéma du système câblecam et détail du moufle vu de dessus.

Chapitre 1 Régime transitoire dans les systèmes physiques

1. Introduction 2. Localiser un séisme 3. Déterminer la force d un séisme 4. Caractériser le mécanisme de rupture d un séisme

Quantification Scalaire et Prédictive

Les moments de force. Ci-contre, un schéma du submersible MIR où l on voit les bras articulés pour la récolte d échantillons [ 1 ]

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

mm 1695 mm. 990 mm Porte-à-faux avant. Modèle de cabine / équipage Small, simple / 3. Codage

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Chapitre 0 Introduction à la cinématique

Chapitre 1 : Évolution COURS

Calcul des pertes de pression et dimensionnement des conduits de ventilation

Correction du Baccalauréat S Amérique du Nord mai 2007

PRINCIPE DE FONCTIONNEMENT DU MOTEUR 4 TEMPS

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Direction des Études et Synthèses Économiques Département des Comptes Nationaux Division des Comptes Trimestriels

Concours EPITA 2009 Epreuve de Sciences Industrielles pour l ingénieur La suspension anti-plongée de la motocyclette BMW K1200S

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

SYSTEME DE PARTICULES. DYNAMIQUE DU SOLIDE (suite) Table des matières

Mécanique. 1 Forces. 1.1 Rappel. 1.2 Mesurer des forces. 3BC - AL Mécanique 1

Imagerie Numérique Synthèse d images. DUT Informatique Sébastien THON

MOTORISATION DIRECTDRIVE POUR NOS TELESCOPES. Par C.CAVADORE ALCOR-SYSTEM WETAL Nov

de calibration Master 2: Calibration de modèles: présentation et simulation d

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Transcription:

Chapitre 7 ANIMATION BASÉE SUR LA PHYSIQUE Olivier Vaillancourt, Olivier Godin Université de Sherbrooke

PLAN DU CHAPITRE Mise en contexte 2D Boy, World of Goo Bases de physique mécanique É É É É Lois de Newton Physique d une particule Collision entre deux particules Corps rigides, accélération tangeantielle Intégration numérique (Euler, Verlet) É Simulation d un système physique Objets flexibles É Réseaux de masses-ressorts Systèmes physiques numériques É É Collision vs temps Stabilité numérique Valve Software, Half life 2 Applications logicielles CAE, Simulateurs de vol 2

MISE EN CONTEXTE L animation basée sur la physique utilise les lois de la physique mécanique classique afin de générer automatiquement des animations adaptées au contexte et à l environnement dans lequel elles se produisent. Le concept général est de reproduire en partie ou à part entière le comportement d objets physiques soumis à des forces dans un environnement. 3

MISE EN CONTEXTE L animation basée sur la physique sert principalement à: É Rehausser le réalisme dans les applications interactives. É Diversifier les animations, afin de les rendre le plus précisément adaptées à leur environnement et aussi variées que l est l environnement. É Animer rapidement et de façon réaliste des scènes qui seraient normalement trop complexes à animer manuellement. (Explosions, écroulements, etc.) Pour produire une animation basée sur la physique, on doit d abord simuler la physique, c est à dire produire une simulation physique. 4

MISE EN CONTEXTE La simulation physique requiert de bonnes bases en physique mécanique. Certains termes sont utilisés en physique mécanique. Voici la définition des termes que nous utiliserons É Newton (N) à Unité de mesure d une force É Inertie à Résistance d un objet à la modification de sa vitesse (vitesse linéaire ou vitesse de rotation). É Masse à Quantité d inertie d un corp. (À ne pas confondre avec son poids.) 5

LOIS DE NEWTON La physique mécanique classique repose sur trois principes fondamentaux, appellés les Lois du mouvement de Newton: 1. En l absence de toute force, un corps matériel, s il est au repos, reste au repos; S il est en mouvement, conserve un mouvement rectiligne et uniforme. 2. L application d une force F au corps de masse m se traduit par la variation de sa vitesse (accélération). 3. Entre deux corps, il ne peut y avoir d action que mutuelle. Il y a toujours lieu ainsi d apparier deux forces : même direction, égales en valeur absolues, et sens opposés. De ces trois principes, on extrait plusieurs formules et concepts décrivant la physique mécanique. 6

PHYSIQUE D UNE PARTICULE Une particule se définie dans l espace comme étant à une position p, ayant une vitesse v (vecteur) et une masse m. Son accélération est quant à elle notée a (vecteur). Une relation existe entre la variation de vitesse d une particule et la force qui lui est appliquée: Si plusieurs forces (n forces) sont appliquées à la particule, on a simplement: (On dénote aussi parfois ces forces par des lettres minuscules et la somme des forces par un F majuscule.) 7

PHYSIQUE D UNE PARTICULE À partir de l équation précédente, on peut exprimer le comportement simple d une particule dans son environnement. Par exemple: Particule en chute libre, affectée par le vent (V) et la gravité (G) de façon constante Le projectile est initialement affecté par une force (non représentée). Une fois l explosion terminée, la seule force qui s applique sur ce dernier est la gravité. Son mouvement de gauche à droite est causé par la vitesse accumulée (v) lors de l explosion initiale. 8

FORCES Certaines forces ne sont pas explicitement définies dans un environnement physique mais restent néanmoins importantes pour son intégrité. Parmi ces dernières, on note surtout: É La gravité É La force normale É Les forces de friction (ou de frottement) 9

FORCES GRAVITÉ ET FORCE NORMALE La gravité est une force sans contact qui s applique de façon uniforme à un environnement physique. Un environnement soumis à la gravité est donc toujours soumis à une force constante dans le temps et l espace. (en physique classique) La force normale est une force qui provient du contact entre deux objets. Elle est le résultat de la répulsion d un corps lors du contact avec un autre corps. Par exemple, quand on est debout sur le plancher, ce dernier nous repousse vers le haut d une force opposée à notre poids. La force normale se calcule comme étant la projection négative de la somme des forces sur le vecteur normal de la surface de contact. 10

FORCES - FRICTION La friction est une force résultant des multiples collisions entre la matière lorsqu un corps est frotté sur un autre. La friction s applique perpendiculairement à la force normale d un corps, de direction opposée au mouvement de ce dernier. On défini l amplitude de cette force telle que: (on utilise l inégalité puisque la force de frottement ne peut déplacer un objet, seulement l empêcher de se déplacer) 11

FORCES - FRICTION L équation précédente correspond à l amplitude de la force de frottement statique. où s est le coefficient de frottement (le coefficient de frottement est mesuré empiriquement), f s l amplitude de la force de frottement statique et f N l amplitude de la force normale. La force de frottement statique est la force de frottement exercée lorsque l objet soumis à la friction ne bouge pas. 12

FORCES - FRICTION Dès que la force exercée pour faire glisser l objet dépasse f s, l objet entre en mouvement. La force et le coefficient de friction changent et on parle à ce moment de force de friction cinétique, et de coefficient de friction cinétique. Soit : 13

COLLISION ENTRE DEUX PARTICULES Lorsque deux particules se rencontrent. Il y a collision. Il existe deux types de collisions: É Collision élastique (le mouvement est parfaitement transmis entre les corps.) É Collision inélastique (le mouvement est partiellement ou totalement absorbé entre les corps.) 14

COLLISION ENTRE DEUX PARTICULES Lors d une collision élastique en 1D entre deux particules de vitesse v 1 et v 2 et de masses respectives m 1 et m 2, on peut dresser le système d équations suivant: où prime ( ) indique la vitesse après la collision. On peut donc trouver les vitesses finales en résolvant le système tel que: 15

COLLISION ENTRE DEUX PARTICULES Dans le cas d une collision à plusieurs dimensions, il faut diviser le problème en plusieurs problèmes de collision 1D. Par exemple, en 2 dimensions: 16

COLLISION ENTRE DEUX PARTICULES On trace un axe tangeant à la collision (axe a) puis un axe perpendiculaire à la collision (axe b) On projette ensuite v 1 sur a et b puis v 2 sur a et b, afin d obtenir 2 problèmes 1D sur 2 axes. On résoud les problèmes 1D en utilisant uniquement l amplitude des vecteurs obtenus, en utilisant les formules de collision. Une fois les vitesse obtenues, on les remultiplies par les vecteur projetés normalisés. On combine ensuite les vecteurs correspondants aux mêmes vitesses initiales (addition) puis on a nos vecteurs de vitesse post-collision. 17

COLLISION ENTRE DEUX PARTICULES Dans le cas d une collision inélastique, les systèmes d équations restent sensiblement les mêmes. On y introduit cependant un coefficient de restitution (e). Le coefficient de restitution correspond au ratio de vitesse avant et après l impact entre les deux masses. Si le coefficient de restitution est de 1, la collision est parfaitement élastique. Si le coefficient de restitution est de 0, les 2 objets restent collés ensemble. Les coefficients de restitution pour des matériaux connus sont mesurés empiriquement et peuvent être trouvés dans des recueils de physique mécanique. 18

CORPS RIGIDES Jusqu à présent, nous avons considéré que la masse des corps étudiés était répartie en un seul point. En réalité, un corps physique possède habituellement un certain volume, sa masse étant répartie de façon plus ou moins uniforme dans celui-ci. Dans cette section, nous étudierons les corps physiques indéformables possédant un certain volume. On appelle ces derniers corps rigides. 19

CORPS RIGIDE Un corps rigide possède une masse répartie dans l espace. Dans ce corps, il existe un point en particulier où la masse est répartie également dans n importe quelle direction. Ce point est appellé le centre de masse ou barycentre. Dans un système ou un corps composé de plusieurs particules discrètes, le centre de masse est calculé tel que: R à centre de masse m i à masse de la i e particule (masse discrète) r i à vecteur de la position de la i e partie. Pour un corps ou un système continu, on calcule le centre de masse tel que: ρ(r) à masse au point r r à position dans le corps dv à Intégration sur le volume complet 20

CORPS RIGIDE Le fait de considérer la répartition de la masse dans un corps rigide ajoute de nouveaux paramètres dont il faut tenir compte, soit l orientation et le mouvement rotatif de l objet soumis à la physique. En effet, l application d une force qui n est pas axée directement sur le centre de masse génèrera toujours une accélération au niveau de la rotation d un corps solide. On appelle cette accélération l accélération angulaire. 21

CORPS RIGIDE Lors de l application d une force désaxée avec le centre de masse, cette force génère non seulement un déplacement mais aussi une rotation, elle se divise donc en deux effets. La force générant le déplacement est appellée force linéaire. La force générant la rotation est quant à elle appellée couple. (mieux connue sous le terme anglophone Torque ). 22

CORPS RIGIDE Comme nous l avons vu précédemment, la force totale appliquée à un corps est la somme des forces individuelles qu on lui applique: Le couple résultant d une force se calcule quant à lui: où q est la position du point d application de la force et x la position du centre de masse Le couple total étant: 23

CORPS RIGIDE Comme pour une force linéaire normale, le couple génère une accélération. Cette accélération est appellée l accélération angulaire, en radians par seconde carrée. (Soit la variation de la vitesse de rotation) Un objet en mouvement linéaire (il se déplace dans l espace), possède une certaine vitesse (v). Un objet qui tourne sur lui-même, résultat de son accélération angulaire, possède quant à lui une vitesse angulaire, notée ω (omega). 24

CORPS RIGIDE Les corps physiques ayant maintenant une masse répartie dans un volume, des forces linéaires et un couple, il devient plus précis d exprimer leur mouvement en terme de quantité de mouvement. (Momentum en anglais) La quantité de mouvement est en réalité une quantité physique représentant la vitesse en fonction de la masse. On a donc une quantité de mouvement linéaire, pour la vitesse linéaire, et une quantité de mouvement angulaire, pour la vitesse angulaire. 25

CORPS RIGIDE Pour calculer la quantité de mouvement linéaire, on utilise la formule: Dans le cas de la quantité de mouvement angulaire, le calcul est un peu plus complexe, mais utilise néanmoins des valeurs que nous connaissons déjà, soit: Où R est la matrice de rotation 3x3 représentant l orientation du corps. 26

CORPS RIGIDE Conceptuellement, la quantité de mouvement angulaire est reliée à la vitesse angulaire de la même façon que la quantité de mouvement linéaire est reliée à la vitesse linéaire. La différence dans le cas de la vitesse angulaire est que cette valeur dépend de la répartition du poids au sein du corps. 27

CORPS RIGIDE Pour quantifier et représenter cette répartition, on utilise un tenseur d inertie ou tenseur inertiel. L utilisation de tenseurs est propre à l algèbre multilinéaire ou la géométrie différentielle, ce qui sort de l objectif du cours, nous ne verrons donc pas en détail les tenseurs. Dans le cadre du cours, il est cependant important de retenir qu un tenseur permet de décrire la répartition du poids. É (Plus précisément, le tenseur d inertie permet de déterminer la résistance d un corps à l accélération angulaire en fonction de différents axes de rotation.) 28

CORPS RIGIDE Un tenseur inertiel est noté I et peut être stocké dans une matrice 3x3. Un tenseur inertiel est bien sûr orienté de la même façon que le corps qu il décrit. Si le corp a une orientation décrite par la matrice de rotation R, le tenseur inertiel doit être transformé par cette matrice: 29

CORPS RIGIDE Notons que le produit du tenseur inertiel et de la vitesse angulaire donne la quantité de mouvement angulaire. Notons finalement que la définition du tenseur inertiel de solides et de primitives connues (sphères, cylindres, etc.) peut être facilement trouvée dans des guides de physique mécanique ou sur internet. À partir des équations et des concepts vus précédemment, nous avons presque tous les éléments requis pour procéder à une simulation physique de base. Il ne reste qu à considérer le facteur temps dans notre simulation. 30

INTÉGRATION NUMÉRIQUE 31

SIMULATION DANS LE TEMPS Pour procéder à la simulation dans le temps, on itère dans notre système physique sur de courts intervalles de temps. Par exemple, si notre position au temps t est (1,1,1), que notre vitesse est (0,100,0) et qu entre chaque itération il s écoule un délais de 0.01 sec, la position à l itération suivante serait : 32

SIMULATION DANS LE TEMPS Avec la formule précédente, on utilise la vitesse afin de déterminer la position dans l espace après une itération: On réalise rapidement qu on procède ici en réalité à une intégration de la vitesse: La dérivée de la position (vitesse) servant ici à faire une approximation de la nouvelle position de l objet après un délais de temps. 33

INTÉGRATION NUMÉRIQUE Cette méthode d intégration est appellée la méthode d intégration d Euler. Formellement, on note l intégration d euler: (où n est l itération courante et h la grandeur de l intervalle d intégration.) Schématiquement : 34

INTÉGRATION NUMÉRIQUE La méthode d intégration d Euler est dite non-symmétrique, puisqu elle utilise des informations de l itération courante pour trouver l information de l itération suivante. La méthode est intuitive mais relativement instable et imprécise (à cause de l approximation linéaire de la courbe réelle.) Elle permet néanmoins de calculer rapidement l intégrale d une quantité. (Comme lorsqu on utilisait la vitesse pour mettre à jour la position.) 35

INTÉGRATION NUMÉRIQUE Il existe d autres méthodes d intégration similaires, beaucoup plus stables, qui sont malheureusement difficiles à mettre en oeuvre dans le cadre d un système non-prédictible (comme un système physique): É Méthode de Runge-Kutta (manuel, p.558) É Méthode d Euler implicite (manuel, p.558) 36

INTÉGRATION NUMÉRIQUE Dans le cadre d un système physique, on doit souvent produire la vitesse à partir de l accélération, puis la position à partir de la vitesse. (accélération à vitesse à position) Pour éviter l étape intermédiaire impliquant la vitesse, certaines méthodes d intégration ont été développées expressément pour le cas de la mise à jour d une position. Méthode la plus populaire: Méthode de Verlet 37

SIMULATION DANS LE TEMPS 38

SIMULATION PHYSIQUE SIMPLE Nous avons maintenant la totalité des notions requises pour faire une simulation physique de corps rigides dans le temps. É Forces et vitesse linéaires É Couple et vitesse angulaire É Gestion des valeurs dans le temps 39

SIMULATION PHYSIQUE SIMPLE Dans le cadre de notre simulation, nous avons besoin de diverses informations pour simuler le mouvement physique de notre corps rigide: É Constantes: Masse totale du corps Tenseur inertiel É Variables: Position dans l espace du centre de masse Vitesse linéaire du centre de masse Orientation Qté de mouvement angulaire É Quantités auxiliaires : Tenseur inertiel transformé Vitesse angulaire 40

SIMULATION PHYSIQUE SIMPLE Au début de l exécution de notre système //On détermine la valeur des constantes I = [ ] matrice3x3 M = masse du corps //On détermine les valeurs initiales des variables du système P cm = [] vecteur3d V cm = [] vecteur3d R = [] matrice3x3 L = [] vecteur3d //On calcule les valeurs auxiliaires initiales I R0 = R 0 IR 0 T w 0 = I -1 R0 L cm0 41

SIMULATION PHYSIQUE SIMPLE On procède ensuite à la simulation : //Simulation Pour chaque itération Calculer les forces individuelles et les points d application Calculer les forces totales (r i est le vecteur entre le point d application de la force et le centre de masse.) //Intégration numérique: P cm(t+dt) = P cm(t) + dt*v cm V cm(t+dt) = V cm(t) + dt*f t /M) R (t+dt) = R (t) + dt*antisymétrique(w (t) )*R (t) L (t+dt) = L (t) + dt* τ (t) Orthogonalisation(R (t+dt) ) //(voir chapitre 2) [...] 42

SIMULATION PHYSIQUE SIMPLE [...] //Calcul des quantités auxiliaires I R(t+td) = R (t) IR (t) T w (t+td) = I -1 R(t) L cm(t) //On recommence l itération 43

SIMULATION PHYSIQUE SIMPLE On remarque à un certain moment dans la simulation l utilisation d une matrice antisymétrique générée à partir du vecteur ω. La matrice antisymétrique est créée à partir d un vecteur telle que: Multiplier un vecteur par une matrice antisymétrique revient à faire un produit vectoriel: 44

Objets flexibles RÉSEAUX DE MASSES-RESSORTS (MANUEL 7.2) 45

OBJETS FLEXIBLES À la différence des corps rigides, les objets (ou corps) flexibles voient leur forme affectée par l environnement. Il existe différentes façons de modéliser un corps flexible. La plupart des méthodes consistent à séparer le corps flexibles en plusieurs parties rigides reliées par des liens flexibles. RealMatter, Cornell University Chronic Logic, Gish Dans le cadre du cours, nous verrons une de ces méthodes, soit les réseaux de masses-ressorts. Jello Physics 46

RÉSEAUX DE MASSES-RESSORTS Un réseau de masses-ressorts est en réalité constitué de plusieurs particules ayant une masse (ces particules seront simplement appellées masses ). Chaque masse est régie par les lois de la physique, tel que vu précédemment dans le chapitre. (F = ma) On relie chacune des masses par des ressorts pour former un réseau. Lorsqu une masse est déplacée, elle affecte les masses qui lui sont directement ou indirectement connectées à travers la physique qui gère les ressorts. 47

RÉSEAUX DE MASSE-RESSORTS Le plus simple réseau de masses-ressorts qu on peut construire est simplement un réseau contenant 2 masses (i et j) et un ressort les reliants. Lorsqu on applique une force à une des masses, le ressort est compressé et compensera en appliquant une force opposée à l autre masse pour se décompresser. 48

RÉSEAUX DE MASSES-RESSORT La force appliquée à la masse i par le ressort reliant les masses i et j se définie par la formule: où É k s est la constante de rigidité du ressort (la constante est négative normalement) É Lr i,j est la longueur du ressort lorsqu il est au repos. É Lc i,j (t) est la longueur du ressort au moment où on calcule la force. É v i,j est le vecteur normalisé allant de i vers j. Pour trouver la force appliquée à la masse j à partir du même ressort, simplement faire: 49

RÉSEAUX DE MASSES-RESSORT D un fonctionnement analogue à celui d un ressort, on intègre parfois des amortisseurs à un tel système. On schématise ce dernier ainsi: Un amortisseur applique une force inverse à la vitesse appliquée pour le compresser. La force appliquée sur i par un amortisseur reliant des masses i et j est donnée tel que: Où k d est la constante d amortissement, V mj et V mi les vecteurs de vitesse au temps t des masses j et i respectivement. 50

RÉSEAUX DE MASSE-RESSORT Le processus pour simuler un réseau de masses-ressorts est semblable à celui utilisé pour la simulation physique de base. Pour chaque masse, à chaque itération Calculer le total des forces appliquées sur la masse. (ressorts, gravité, etc.) Calculer la nouvelle position de la masse, en fonction de la vitesse. Calculer la vitesse, en fonction de l accélération (issue des forces avec F = ma) 51

RÉSEAUX DE MASSE-RESSORT Si on résume: 1. Calcul des forces (gravité, ressorts, etc.) 2. Calcul de la nouvelle position 3. Calcul de la nouvelle vitesse En faisant les calculs dans cet ordre, on effectue une intégration d Euler. Ceci étant dit, la vitesse calculée à une itération est seulement utilisée l itération d après, ce qui crée une imprécision puisque du temps s écoule entre 2 itérations et la vitesse a le temps de changer. Pour remédier à ce problème, on inverse l étape 2 et l étape 3. On utilise donc la vitesse à la même itération qu elle est calculée. Dans un tel cas, l intégration n est plus une intégration d euler, mais bien une intégration d euler semi-implicite, plus stable et précise. 52

RÉSEAUX DE MASSE-RESSORT En action, un réseau de masse-ressort permet de simuler divers types de matériaux, en fonction des constantes données au ressort. Des constantes élevées permettront de simuler des structures plus solides. (Pour simuler des structures comme des ponts par exemple.) Des constantes très basses permettront de simuler des systèmes plus mous. (En utilisant une surface plane constituée de ressorts par exemple il est possible de simuler un tissu.) 53

RÉSEAUX DE MASSE-RESSORT Dans tous les cas, un réseau de masse-ressort aura une stabilité équivalente à sa structure. Il faut donc prévoir des structures sufisamment stable pour éviter un affaissement du réseau. Pour garantir un système plus stable, il est préférable de favoriser les formes triangulaires. (Comme pour la construction de structures en génie civile.) 54

Annexe 1 SYSTÈMES PHYSIQUES NUMÉRIQUES 55

DÉTECTION DE COLLISIONS DANS LE TEMPS La détection de collisions dans un système physique numérique, lorsque la scène est statique, est relativement simple car le mouvement n est pas tenu en compte. Par exemple, si on a deux sphères : On détecte la collision en vérifiant si la distance entre le centre des deux sphères est inférieure à la somme de leur rayons: 56

DÉTECTION DE COLLISIONS DANS LE TEMPS Or, si la sphère est en mouvement, rien ne garanti qu au moment d évaluer la collision, la sphère n aura pas déjà traversé l autre sphère dans son déplacement. Dans un système d animation par la physique, il faut donc prévoir de tels cas et organiser la détection de collisions en conséquence. À titre indicatif, on utiliserait ici une swept-sphere, soit une sphère définie sur une certaine distance. Pour plus d information sur la détection de collision, voir les références à la fin du chapitre. 57

EXPLOSION NUMÉRIQUE Une explosion numérique survient lorsqu un système effectuant une simulation produit des valeurs extrêmement élevées dues à une imprécision au niveaux des nombres ou des méthodes utilisées pour le calcul numérique. Par exemple, une balle rebondissant dans un volume fermé. La quantité de mouvement de la balle devrait toujours rester identique. Si, pour une raison quelconque, la balle accumule de la vitesse chaque fois qu elle rebondie, elle finira par aller à une vitesse extrêmement élevée, ce qui peut rendre la détection de collision imprécise et faire sortir la balle du volume. 58

EXPLOSION NUMÉRIQUE Un autre exemple d explosion numérique. Si la position de deux corps solides est évaluée selon un intervale de temps trop large, il y a possibilité d inter-pénétration des deux corps. Un tel cas est relativement courant dans un simulateur de physique et est habituellement réglé en applicant une répulsion porportionnelle à l importance de l inter-pénétration pour éviter qu il y ait intersection entre ceux-ci. Si, pour une raison quelconque, l intersection entre les deux corps est trop importante, la répulsion appliquée peut être particulièrement importante et appliquer des forces majeures aux différentes parties du corps physique, créant des vitesses eccessives et donc une exploion numérique. 59

EXPLOSION NUMÉRIQUE Exemple (Le Ragdoll fail de Fallout 3) 60

Annexe 2 APPLICATIONS LOGICIELLES 61

APPLICATIONS LOGICIELLES Il existe différentes applications logicielles qui permettent de simuler la physique. Ces dernières sont habituellement appellées Moteurs de physique ou Middlewares de physique et viennent complémenter un moteur de rendu. Parmi les plus populaires: É Moteur Havok (Corps rigide et certaines simulation de fluide.) É PhysX (Moteur pouvant s exécuter sur un processeur graphique.) É Box2D (Simulation de physique 2D, source libre.) É FastLSM (Simulation de corps flexibles.) 62

RÉFÉRENCES Parent,Rick : Computer Animation, Algorithms and techniques, 2nd edition, Morgan Kaufmann, 2007 (pp.,233-244, 246-261) Goldstein, Pool & Safko : Classical Mechanics, 3 rd edition, Addison Wesley, 2002 ( pp.1-230) Millington, Ian : Game physics engine development, Morgan Kaufmann, 2007. David H. Eberly : 3D Game Engine Architecture, Morgan Kaufmann, 2005 (pp. 487-600) Hecker, Chris : Physics, Part 4: The third dimension, Game Developper Magazine, Juin 1997, (pp. 15-26) Benson, Harris : Physique 1 : Physique mécanique, ERPI, 2004, 63