Dynamique du corps souple – Wikipedia wiki

before-content-x4

Simulation graphique informatique d’objets déformables

after-content-x4

Dynamique du corps doux est un domaine de l’infographie qui se concentre sur des simulations physiques visuellement réalistes du mouvement et des propriétés des objets déformables (ou corps doux ). [d’abord] Les applications sont principalement dans les jeux vidéo et les films. Contrairement à la simulation de corps rigides, la forme des corps mous peut changer, ce qui signifie que la distance relative de deux points sur l’objet n’est pas fixe. Bien que les distances relatives des points ne soient pas fixes, le corps devrait conserver sa forme dans une certaine mesure (contrairement à un liquide). La portée de la dynamique du corps douce est assez large, y compris la simulation de matériaux biologiques mous tels que les muscles, les graisses, les cheveux et la végétation, ainsi que d’autres matériaux déformables tels que les vêtements et le tissu. Généralement, ces méthodes ne fournissent que des émulations visuellement plausibles plutôt que des simulations scientifiques / ingénieuses précises, bien qu’il existe un croisement avec des méthodes scientifiques, en particulier dans le cas de simulations par éléments finis. Plusieurs moteurs de physique fournissent actuellement des logiciels pour la simulation du corps souple. [2] [3] [4] [5] [6] [7]

Les objets de Softbody réagissent aux forces et sont capables de colliter avec d’autres objets 3D. Cet exemple a été créé avec Blender.

Solides déformables [ modifier ]]

La simulation de corps doux volumétriques solides [8] peut être réalisé en utilisant une variété d’approches.

Modèles de printemps / masse [ modifier ]]

Deux nœuds comme points de masse connectés par un circuit parallèle d’un ressort et d’un amortisseur.

Dans cette approche, le corps est modélisé comme un ensemble de masses ponctuelles (nœuds) connectées par des ressorts élastiques en apesanteur idéaux obéissant à une variante de la loi de Hooke. Les nœuds peuvent dériver des bords d’une représentation en maillage polygonal bidimensionnel de la surface de l’objet, ou d’un réseau tridimensionnel de nœuds et de bords modélisant la structure interne de l’objet (ou même un système unidimensionnel de Liens, si par exemple une corde ou un brin de cheveux est en cours de simulation). Des ressorts supplémentaires entre les nœuds peuvent être ajoutés, ou la loi de force des ressorts modifiée pour atteindre les effets souhaités. L’application de la deuxième loi de Newton aux masses de points, y compris les forces appliquées par les ressorts et toutes les forces externes (en raison du contact, de la gravité, de la résistance à l’air, du vent, etc.) donne un système d’équations différentielles pour le mouvement des nœuds, qui est Résolu par des schémas numériques standard pour la résolution d’ODE. [9] Le rendu d’un réseau de ressort de masse tridimensionnel se fait souvent en utilisant une déformation en forme libre, [dix] dans lequel le maillage rendu est intégré dans le réseau et déformé pour se conformer à la forme du réseau à mesure qu’il évolue. En supposant que toutes les masses ponctuelles égales à zéro peuvent obtenir la méthode de la grille étirée destinée à plusieurs problèmes d’ingénierie solution par rapport au comportement de la grille élastique. Ceux-ci sont parfois connus sous le nom de modèles masse-spring-damper. Dans les corps doux sous pression [11] Le modèle de masse de printemps est combiné avec une force de pression basée sur la loi de gaz idéale.

after-content-x4

Simulation par éléments finis [ modifier ]]

Il s’agit d’une approche plus précise physiquement, qui utilise la méthode d’éléments finis largement utilisés pour résoudre les équations différentielles partielles qui régissent la dynamique d’un matériau élastique. Le corps est modélisé comme un continuum élastique tridimensionnel en le divisant en un grand nombre d’éléments solides qui s’adaptent et en résolvant les contraintes et les souches de chaque élément à l’aide d’un modèle du matériau. [douzième] Les éléments sont généralement tétraédriques, les nœuds étant les sommets du tétraède (des méthodes relativement simples existent [13] [14] pour tétraédradalise Une région tridimensionnelle délimitée par un maillage de polygone dans les tétraèdres, de manière similaire à la façon dont un polygone bidimensionnel peut être triangulé en triangles). La souche (qui mesure la déformation locale des points du matériau de leur état de repos) est quantifiée par le tenseur de déformation

ϵ {displayStyle {boldsymbol {epsilon}}}

. Le stress (qui mesure les forces locales par zone unité dans toutes les directions agissant sur le matériau) est quantifiée par le tenseur de contrainte Cauchy

un {displayStyle {boldsymbol {Sigma}}}

. Compte tenu de la souche locale actuelle, la contrainte locale peut être calculée via la forme généralisée de la loi de Hooke:

un = C e {displayStyle {boldsymbol {sigma}} = {mathsf {c}} {boldSymbol {varepsilon}},}

C {displayStyle {mathsf {c}}}

est le tenseur d’élasticité, qui code les propriétés du matériau (paramétrisée dans l’élasticité linéaire pour un matériau isotrope par le rapport de Poisson et le module de Young).

L’équation du mouvement des nœuds d’élément est obtenue en intégrant le champ de contrainte sur chaque élément et en le reliant, via la deuxième loi de Newton, aux accélérations du nœud.

Pixelux (développeurs du système de matière moléculaire numérique) utilise une approche basée sur les éléments finis pour leurs corps doux, en utilisant un maillage tétraédrique et en convertissant le tenseur de contrainte directement en forces de nœud. [15] Le rendu se fait via une forme de déformation de forme libre. [dix]

Méthodes de minimisation de l’énergie [ modifier ]]

Cette approche est motivée par les principes variationnels et la physique des surfaces, qui dictent qu’une surface contrainte
Supposons la forme qui minimise l’énergie totale de la déformation (analogue à une bulle de savon). Exprimant l’énergie d’une surface en termes de déformation locale (l’énergie est due à une combinaison d’étirement et de flexion), la force locale à la surface est donnée en différenciant l’énergie par rapport à la position, donnant une équation de mouvement qui peut être résolu de manière standard. [16] [17]

Correspondance de forme [ modifier ]]

Dans ce schéma, des forces de pénalité ou des contraintes sont appliquées au modèle pour la conduire vers sa forme d’origine [18] (c’est-à-dire que le matériau se comporte comme s’il avait une mémoire de forme). Pour conserver l’élan, la rotation du corps doit être estimée correctement, par exemple par décomposition polaire. Pour approximer la simulation par éléments finis, la correspondance de forme peut être appliquée à des réseaux tridimensionnels et à des contraintes de correspondance de forme multiple mélangées. [19]

Déformation basée sur le corps rigide [ modifier ]]

La déformation peut également être gérée par un moteur de physique à corps rigide traditionnel, modélisant le mouvement du corps doux à l’aide d’un réseau de corps rigides multiples connectés par des contraintes et en utilisant (par exemple) la palette matricielle de la palette pour générer un maillage de surface pour le rendu. Il s’agit de l’approche utilisée pour les objets déformables dans la destruction de Havok. [20]

Simulation en tissu [ modifier ]]

Dans le contexte de l’infographie, simulation en tissu Fait référence à la simulation de corps mous sous la forme de membranes élastiques de continuum bidimensionnelles, c’est-à-dire, à cet effet, la structure réelle du tissu réel au niveau du fil peut être ignorée (bien que le tissu de modélisation au niveau du fil ait été essayé). [21] Via les effets de rendu, cela peut produire une émulation visuellement plausible des textiles et des vêtements, utilisés dans une variété de contextes dans les jeux vidéo, l’animation et le film. Il peut également être utilisé pour simuler des feuilles bidimensionnelles de matériaux autres que les textiles, tels que des panneaux métalliques déformables ou une végétation. Dans les jeux vidéo, il est souvent utilisé pour améliorer le réalisme des personnages animés vêtus.

Les simulateurs en tissu sont généralement basés sur des modèles de ressorts de masse, mais une distinction doit être faite entre les résolveurs basés sur la force et basés sur la position.

Tissu à base de force [ modifier ]]

Le modèle de ressort de masse (obtenu à partir d’une représentation en maillage polygonal du tissu) détermine les forces de ressort internes agissant sur les nœuds à chaque étalage (en combinaison avec la gravité et les forces appliquées). La deuxième loi de Newton donne des équations de mouvement qui peuvent être résolues via des solveurs ODE standard. Pour créer un tissu haute résolution avec une rigidité réaliste, ce n’est pas possible avec des solveurs explicites simples (comme l’intégration avant Euler), à moins que le pas de temps ne soit rendu trop petit pour les applications interactives (car comme c’est bien connu [ citation requise ]] , les intégrateurs explicites sont numériquement instables pour des systèmes suffisamment rigides). Par conséquent, des solveurs implicites doivent être utilisés, [22] nécessitant une solution d’un grand système de matrice clairsemée (via par exemple la méthode du gradient de conjugué), qui peut également être difficile à réaliser à des fréquences d’images interactives. Une alternative [23] [24] est d’utiliser une méthode explicite avec une faible rigidité, avec pour ça Méthodes pour éviter l’instabilité et l’étirement excessif (par exemple, la contrainte limitant les corrections).

Dynamique basée sur la position [ modifier ]]

Pour éviter de faire une solution implicite coûteuse d’un système d’ODE, de nombreux simulateurs en tissu en temps réel (notamment Physx, Havok Cloth et Maya Ncloth) Dynamique basée sur la position (PBD), [25] Une approche basée sur la relaxation des contraintes. Le modèle de ressort de masse est converti en un système de contraintes, ce qui exige que la distance entre les nœuds connectée soit égale à la distance initiale. Ce système est résolu séquentiellement et itérative, par des nœuds en mouvement directement pour satisfaire chaque contrainte, jusqu’à ce que le tissu suffisamment raide soit obtenu. Ceci est similaire à une solution Gauss-Seidel du système de matrice implicite pour le modèle de ressort de masse. Il faut cependant prendre soin de résoudre les contraintes de la même séquence à chaque pas, pour éviter les oscillations parasites et pour s’assurer que les contraintes ne violent pas la conservation du moment linéaire et angulaire. Des contraintes de position supplémentaires peuvent être appliquées, par exemple pour garder les nœuds dans les régions d’espace souhaitées (suffisamment près d’un modèle animé par exemple), ou pour maintenir la forme globale du corps via la correspondance de forme.

Détection de collision pour les objets déformables [ modifier ]]

L’interaction réaliste des objets souples simulés avec leur environnement peut être importante pour obtenir des résultats visuellement réalistes. L’auto-intérieure en tissu est importante dans certaines applications pour des vêtements simulés acceptablement réalistes. Ceci est difficile à atteindre à des fréquences d’images interactives, en particulier dans le cas de la détection et de la résolution d’auto-collisions et des collisions mutuelles entre deux ou plusieurs objets déformables.

La détection de collision peut être discret / a postérieurri (Signification Les objets sont avancés dans le temps à travers un intervalle prédéterminé, puis toutes les pénétrations détectées et résolues), ou continu / a priori (Les objets ne sont avancés que jusqu’à ce qu’une collision se produise et que la collision soit gérée avant de continuer). Le premier est plus facile à mettre en œuvre et plus rapidement, mais conduit à l’échec de la détection des collisions (ou de la détection de collisions parasites) si les objets se déplacent assez rapidement. Les systèmes en temps réel doivent généralement utiliser une détection de collision discrète, avec d’autres pour ça façons d’éviter de ne pas détecter les collisions.

La détection des collisions entre le tissu et les objets environnementaux avec un «intérieur» bien défini est simple car le système peut détecter sans ambiguïté si les sommets et les visages de maille en tissu se croisent le corps et les résolvent en conséquence. Si un «intérieur» bien défini n’existe pas (par exemple, dans le cas d’une collision avec un maillage qui ne forme pas une frontière fermée), un «intérieur» peut être construit par extrusion. Les collisions mutuelles ou auto-auto-puissantes définies par les tétraèdres sont simples, car elle réduit la détection des collisions entre les tétraèdres solides.

Cependant, la détection de collisions entre deux tissus polygonaux (ou la collision d’un chiffon avec lui-même) via une détection de collision discrète est beaucoup plus difficile, car il n’y a pas de moyen sans ambiguïté de détecter localement après un temps si un nœud de tissu qui a pénétré est sur le ” Mauvais “côté ou pas. Les solutions impliquent soit d’utiliser l’historique du mouvement du tissu pour déterminer si un événement d’intersection s’est produit, soit une analyse globale de l’état de tissu pour détecter et résoudre l’auto-intections. Pixar a présenté une méthode qui utilise une analyse topologique globale des intersections de maillage dans l’espace de configuration pour détecter et résoudre l’auto-interpénétration du tissu. [26] Actuellement, cela est généralement trop cher à calcul pour les systèmes en tissu en temps réel.

Pour faire la détection de collision efficacement, les primitives qui ne sont certainement pas en collision doivent être identifiées dès que possible et rejetées de la considération pour éviter de perdre du temps.
Pour ce faire, une certaine forme de schéma de subdivision spatial est essentielle, pour éviter un test de force brute de

O [ n 2 ]] {DisplayStyle o [n ^ {2}]}

collisions primitives. Les approches utilisées comprennent:

  • Hiérarchies de volume délimitant (arbres AABB, [27] Arbres obb, arbres de sphère)
  • Grilles, soit uniforme [28] (en utilisant le hachage pour l’efficacité de la mémoire) ou hiérarchique (par exemple OCTree, KD-Tree)
  • Des schémas d’exploitation de cohérence, tels que le balayage et le taille avec le tri de l’insertion, ou les collisions d’arbre avec suivi avant.
  • Méthodes hybrides impliquant une combinaison de divers de ces schémas, par ex. Un arbre AABB grossier plus le balayage et la prune avec une cohérence entre les feuilles en collision.

Autres applications [ modifier ]]

Les autres effets qui peuvent être simulés via les méthodes de dynamique du corps doux sont:

La simulation des fluides dans le contexte de l’infographie ne serait normalement pas considérée comme une dynamique du corps souple, qui est généralement limitée à la simulation moyenne des matériaux qui ont tendance à conserver leur forme et leur forme. En revanche, un fluide suppose la forme de tout vaisseau le contient, car les particules sont liées ensemble par des forces relativement faibles.

Logiciel soutenant la physique du corps souple [ modifier ]]

Moteurs de simulation [ modifier ]]

Jeux [ modifier ]]

Voir également [ modifier ]]

Les références [ modifier ]]

  1. ^ Nealen, Müller, Keizer, Boxerman & Carlson (2005). “Modèles déformables physiquement basés sur l’infographie”. Ciseerx 10.1.1.124.4664 . CS1 Maint: plusieurs noms: Liste des auteurs (lien)
  2. ^ “Logiciel Numerion – Physique du carbone” .
  3. ^ “Corps doux physiques” . 24 février 2014.
  4. ^ “La matière moléculaire numérique de Pixelux (DMM)” . Archivé de l’original le 2009-09-21 . Récupéré 2010-03-07 .
  5. ^ “Tissu de Havok” . Archivé de l’original le 2012-02-29 . Récupéré 2010-03-07 .
  6. ^ “Physique des balles” .
  7. ^ “Noyau maya” .
  8. ^ “Doc: 2.4 / manuel / physique / corps doux 2.46 – Blenderwiki” . wiki.blender.org . Récupéré 2015-09-19 .
  9. ^ Desbrun, Schroder et Barr (1999). “Animation interactive d’objets déformables structurés” (PDF) .
  10. ^ un b Sederberg & Parry (1986). “Déformation en forme libre des modèles géométriques solides” (PDF) .
  11. ^ Matyka et Ollila (2003). “Un modèle de pression pour la simulation du corps doux” (PDF) .
  12. ^ Kauwmann, Martin, Botch & Gross (2008). “Simulation flexible de modèles déformables à l’aide de Galerkin FEM discontinue” (PDF) . {{cite web}} : CS1 Maint: plusieurs noms: liste des auteurs (lien)
  13. ^ Gameman, Wagner & Tessener (2006). “Maisage tétraédrique robuste des soupes de triangle” (PDF) .
  14. ^ Bridson, Tiran, Molino & Fedkiw (2003). “Génération de maillage tétraédrique basée sur la physique adaptative à l’aide d’ensembles de niveau” (PDF) . {{cite web}} : CS1 Maint: plusieurs noms: liste des auteurs (lien)
  15. ^ un b Parker & O’Brien (2009). “Déformation et fracture en temps réel dans un environnement de jeu” .
  16. ^ Terzopoulos, Platt, Barr & Fleischer (1987). “Modèles déformables élastiquement” (PDF) . {{cite web}} : CS1 Maint: plusieurs noms: liste des auteurs (lien)
  17. ^ Wardetzky, Bergou, Harmon, Zorin & Grinspun (2007). “Énergies de courbure quadratique discrètes” (PDF) . {{cite web}} : CS1 Maint: plusieurs noms: liste des auteurs (lien)
  18. ^ un b Müller, Heidelberger, Teschner & Gross (2005). “Déformations sans maillage basées sur la correspondance de forme” (PDF) . {{cite web}} : CS1 Maint: plusieurs noms: liste des auteurs (lien)
  19. ^ Steinemann, Otaduy & Gross (2008). “Fonde adaptative correspondant aux déformations” .
  20. ^ “Havok Destruction” .
  21. ^ Kaldor, James et Marschner (2008). “Simulation du tissu tricoté au niveau du fil” (PDF) .
  22. ^ Baraff & Witkin (1998). “GRANDES ÉTAPES DANS LA SIMULATION DE COPIE” (PDF) .
  23. ^ Provot (1997). “Gestion de collision et d’auto-collision dans un modèle de tissu dédié aux vêtements de conception”. Ciseerx 10.1.1.89.9232 .
  24. ^ Bridson, Fedkiw & Anderson (2002). “Traitement robuste des collisions, des contacts et des frictions pour l’animation en tissu” (PDF) .
  25. ^ Müller, Heidelberger, Hennix et Ratcliff (2006). “Dynamique basée sur la position” (PDF) . {{cite web}} : CS1 Maint: plusieurs noms: liste des auteurs (lien)
  26. ^ Baraff, Witkin & Kass (2003). “Tissu démêlé” (PDF) .
  27. ^ Van den Bergen (1998). “Détection de collision efficace de modèles déformables complexes à l’aide d’arbres AABB” (PDF) .
  28. ^ Teschner, Heidelberger, Müller, Pomeranets & Gross (2003). “Hachage spatial optimisé pour la détection de collision des objets déformables” (PDF) . {{cite web}} : CS1 Maint: plusieurs noms: liste des auteurs (lien)
  29. ^ Steinemann, Otaduy & Gross (2006). “Diffusion arbitraire rapide des objets de déformation” (PDF) .
  30. ^ Müller, Keizer, Nealen, Pauly, Gross & Alexa (2004). “Animation de points d’objets élastiques, plastiques et fondants” (PDF) . {{cite web}} : CS1 Maint: plusieurs noms: liste des auteurs (lien)
  31. ^ Ceci, Lentin & Fedkiw (2008). “Un modèle de printemps de masse pour la simulation de cheveux” .
  32. ^ “Quand la chirurgie virtuelle fera-t-elle la coupe?” . Américain scientifique. 2007.
  33. ^ “$ jigglebone” . développeur.Valvesoftware . Récupéré 4 août 2022 .

Liens externes [ modifier ]]

after-content-x4