[Traduction] Champs de forces et Turbulence: une amélioration en vue pour de meilleures simulations

par Lapineige

publié dans 3D , Blender , Vidéo , Science

Bonjour à tous,

On continu avec les traductions, toujours depuis code.blender.org: un article de Lukas Toenne à propos des champs de force et de la simulation de la turbulence.

PS: j'ai conscience que cette traduction peut être un peu technique (n'hésitez pas à poser des questions !), mais s'il vous faut retenir une chose, c'est que la simulation de turbulence actuelle n'est pas très réaliste, ni très stable. Il a implémenté un modèle plus physiquement correct ("imitant" le comportement à l'intérieur d'un fluide) et prévisible, pour des résultats de meilleure qualité.

Turbulence in Blender can cause serious problems, due to the fact that it is not a fluid-like turbulence field: The forces are essentially random, which means they are not divergence-free. A true fluid flow velocity field (derived from the pressure gradient) would instead always be divergence-free, meaning there are no “sinks” and “sources” of matter in the simulation. The effect of this mathematical property is that a turbulence field in Blender can easily “trap” particles or simulated vertices (cloth, hair) in a small area around an attractor point. The simulation can freeze in an awkward state or start to jitter, and un-freezing requires strong counterforces that can destabilize the simulation. With a divergence-free field the vertices can not easily be trapped and the resulting behavior is much more like that of objects following the flow of air or liquid.

A divergence-free field can be constructed from a scalar field using a curl operator. The entire procedure is described in the paper “Curl-Noise for Procedural Fluid Flow” (Bridson, Hourihan, Nordenstam 2007) http://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph2007-curlnoise.pdf

Additional features described in the paper include using 4D noise for time-varying fields and the use of pseudo-advection over multiple octaves.

Lukas Toenne

L'utilisation de turbulences dans Blender peut causer de graves problèmes, en raison du fait que le champ de turbulence ne soit pas semblable à celui d'un fluide: Les forces sont essentiellement aléatoires, ce qui signifie qu'elles ne sont pas convergentes (ndt: not divergence-free dans le texte - elles peuvent diverger, et rester instables). Un vrai champ de vitesse d'écoulement du fluide (dérivé du gradient de pression - ndt: le fluide s'écoule plus vite au centre d'un tube qu'au bord des parois) sera au contraire toujours libre de divergence, ce qui signifie qu'il n'y a pas de «puits» et «sources» de la matière dans la simulation. L'effet de cette propriété mathématique est que un champ de turbulence dans Blender peut facilement "piéger" des particules ou des sommets issus de simulations (tissu, cheveux) dans une petite zone autour d'un point d'attraction. La simulation peut geler dans un état bancale ou commencer à trembler, et un déblocage nécessite de grandes forces qui peuvent déstabiliser la simulation. Avec un champ libre de divergence les sommets ne peuvent pas facilement être piégés et le comportement qui en résulte est beaucoup plus proches de celui d'objets suivant un flux d'air ou de liquide (ndt: les deux étant des fluides).

Un champ libre de divergence peut être construit à partir d'un champ scalaire (ndt: un espace ou chaque point contient une valeur, telle qu'une température pour la météo) en utilisant un opérateur curl (un outil qui permet de faire "tourner" chaque points du champ). L'ensemble de la procédure est décrite dans le document "Curl-Noise for Procedural Fluid Flow" (Bridson, Hourihan, Nordenstam 2007)
Des fonctionnalités supplémentaires décrites dans le document comprennent l'utilisation de bruit 4D pour les champs variables dans le temps et l'utilisation de "pseudo-advection sur plusieurs octaves" (ndt: hihi là je cale, j'ai traduit littéralement, mais j'avoue ne pas comprendre cette fin de phrase ^^).

---

Lukas a ajouté une vidéo de comparaison entre les différentes méthodes pour illustrer son article:

Dans les commentaires de la page, Lukas a précisé que cela donnera un nouveau type de force field (champs de force), et qu'il travaille à améliorer les performances de ce type de calcul.

---

Cette traduction vous a-t-elle intéressé ? N'hésitez pas à réagir dans les commentaires, afin de me guider dans le choix de futures traductions, ou tout simplement pour demander des précisions ;)

Commenter cet article

triboulet 24/07/2015 08:03

C'est sur , cette traduction m'a intéressée , même si certaine partie reste plutôt flou. Tout ce que je retiens , c'est une amélioration et pour moi c'est le principal.
Je comprend l'ensemble et cela me suffit. Alors qu'est-ce qu'on dit...Merci Lapi.

Lapineige 24/07/2015 10:52

"Tout ce que je retiens , c'est une amélioration et pour moi c'est le principal." > C'est une philosophie de vie ? ;)
J'en ai d'autres en réserve des traductions, j'y travaille :)