Strange Paths
Nous sommes le 21 Novembre 2024 21:47 UTC + 1 heure



 


Message Ache Moderator le 04 Mai 2008 19:39

Avez-vous vu ou croisé quelque chose qui ressemble à un moteur physique unifié ?

Sans proposer de définition, je souhaiterais rassembler de la documentation ou des liens autour de ce que serait un 'moteur physique unifié', c'est à dire un moteur (calcul, temps-réel), avec des contraintes de puissance plus ou moins contemporaines, où par exemple la lumière n'est pas fatalement indépendante de la géométrie (à voir depuis le point de vue d'un moteur d'affichage), ou où les composants graphiques ne sont pas sans lien avec les composants sonores, etc.

Physigenics par exemple évoque cette approche. Plus généralement, on pourrait chercher toute approche qui tend à confondre stabilité (reliability) et concurrence (concurrency) dans le cadre d'une simulation informatique (interactions, environnement, affichage, visualisation, ..).

Il s'agit de chercher une approche simplifiée et abs-traite, mais nécessairement globale. Il est aussi possible de chercher en quoi un moteur 3D n'est pas déjà un 'moteur physique', etc.

Des réactions, des liens vers des librairies, des papiers ou des billets de pensée sont les bienvenus.



Message xantox Site Admin le 05 Mai 2008 00:47

C'est un vaste sujet! Si on définit par "moteur physique" un logiciel qui décrit certains aspects du monde physique, certainement tout "moteur 3D" tombe déjà sous cette définition car il doit respecter certaines règles de l'optique.

Dans le domaine du jeu vidéo l'aspect "physique" ajoute typiquement un sous-ensemble de lois de la mécanique classique. Puisque l'amélioration de la précision et de l'intégration de la simulation implique une augmentation exponentielle des ressources de calcul, ces "moteurs" nécessitent une spécialisation selon leur application, surtout si l'aspect "realtime" est une contrainte. Par exemple dans un jeu vidéo il importe peu de simuler la chromodynamique quantique des atomes du personnage : ce dernier est une entité dans un monde pseudo-newtonien qui répond à un ensemble d'équations plus élaboré que l'environnement. La logique "d'intégration" suit au plus simple une approche itérative, et au plus complexe les modules sont interdépendants et les transformations sont appliquées à tous les objets en même temps.

Pour des liens je ne sais pas d'où commencer tellement le champ est vaste, cela dépend de l'objectif précis de ta recherche (où se situe le curseur sur les quelques années lumières qui séparent "faire un jeu vidéo" vs "théoriser une simulation parfaite").



Message Ache Moderator le 05 Mai 2008 05:12

xantox a écrit:
Certainement tout "moteur 3D" tombe déjà sous cette définition car il doit respecter certaines règles de l'optique.
Ache a écrit:
Il est aussi possible de chercher en quoi un moteur 3D n'est pas déjà un 'moteur physique'.


xantox a écrit:
(où se situe le curseur sur les quelques années lumières qui séparent "faire un jeu vidéo" vs "théoriser une simulation parfaite").
Ache a écrit:
Par exemple [..] où les composants graphiques ne sont pas sans lien avec les composants sonores


xantox a écrit:
Pour des liens je ne sais pas d'où commencer

Il est possible et même bon de commencer par ce qui nous plaît, ce qui nous a frappé, retenu, voulu partager, ..



Message lambda0 le 05 Mai 2008 11:23

En simulation, j'ai une prédilection pour les méthodes de type Monte-Carlo justement parce que c'est assez universel : une fois définies les densités de probabilité, le même "moteur" permet de simuler aussi bien des phénomènes à échelle microscopique que macroscopique.
Assez gourmand en ressources de calcul toutefois, et peu adapté au temps réel, mais pour les applications scientifiques, en général on s'en fiche un peu.



Message xantox Site Admin le 06 Mai 2008 02:32

Avec la contrainte du temps réel on sort effectivement en l'état actuel du domaine de la simulation scientifique (sauf quelques exceptions, p. e. des évolutions séculaires de systèmes astrophysiques, qui se permettent un temps en 'avance rapide'). Par ailleurs la simulation scientifique est généralement très spécialisée et par exemple ne s'intéresse pas toujours à la visualisation.

Le temps réel concerne donc typiquement les jeux vidéo et les applications de réalité virtuelle, où le point de départ est un moteur 3D auquel on ajoute un "moteur physique" qui détermine le mouvement des objets et leurs interactions, et qui est souvent basé sur la méthode par contraintes (cfr. [1] et [2] pour une révue théorique et [3] pour une des principales librairies open-source).

Dans ce type d'applications, les modules image / dynamique / son sont quelque part forcément interdépendants, même si leur interaction peut se retrouver simplifiée à un niveau minimum mais suffisant pour les besoins de l'application. Le fait qu'une collision dans un jeu déclenche un son pré-enregistré est en soi déjà une forme rudimentaire d'unification. Pour aller plus loin ce son pourrait être localisé dans une géometrie, il pourrait se modifier selon l'acoustique de l'espace simulé, ou il pourrait être synthétisé directement par les interactions mécaniques entre les corps [4], si c'est cela que tu entends, toutefois il n'y a pas vraiment de limite supérieure ou inférieure à cette unification, elle répond toujours à un besoin particulier et polymorphe de "réalisme" (et sauf si on recherche le cas d'intérêt théorique d'une simulation parfaite).


------
[1] J. Sauer, E. Schomer, "A constraint-based approach to rigid body dynamics for virtual reality applications", Proceedings of the ACM symposium on Virtual reality software and technology, 02-05, 153-161 (1998).
[2] J. C. Trinkle, et al., "Dynamic multi-rigid-body systems with concurrent distributed contacts: Theory and examples", Sandia Report SAND2001-0076 (2001).
[3] Open Dynamics Engine, http://www.ode.org/
[4] K. van den Doel, et al. "FOLEYAUTOMATIC: Physically-based Sound Effects for Interactive Simulation and Animation", Siggraph Proceedings (2001).



Message Ache Moderator le 08 Mai 2008 17:35

xantox a écrit:
(cfr. [1] et [2] pour une révue théorique et [3] pour une des principales librairies open-source).

Pour les librairies open-source, j'ai pour l'instant une affection particulière pour Bullet. Pour les revues théorique, oui.

xantox a écrit:
Dans ce type d'applications, les modules image / dynamique / son sont quelque part forcément interdépendants, même si leur interaction peut se retrouver simplifiée à un niveau minimum mais suffisant pour les besoins de l'application. Le fait qu'une collision dans un jeu déclenche un son pré-enregistré est en soi déjà une forme rudimentaire d'unification. Pour aller plus loin ce son pourrait être localisé dans une géometrie, il pourrait se modifier selon l'acoustique de l'espace simulé, ou il pourrait être synthétisé directement par les interactions mécaniques entre les corps [4], si c'est cela que tu entends, toutefois il n'y a pas vraiment de limite supérieure ou inférieure à cette unification, elle répond toujours à un besoin particulier et polymorphe de "réalisme" (et sauf si on recherche le cas d'intérêt théorique d'une simulation parfaite).

Oui, il y a bien une forme d'unification dans la fédération des modules. Je suis d'avantage pour rassembler quelques travaux qui considèrent explicitement l'unification comme exigence épistémologique, explicitement. En plein cambouis technique on est souvent happé par le fonctionnement et c'est très bien ainsi. En levant le pied, il peut aussi y avoir des exigences plus générales. Cela dans le cadre d'une simulation comme expérience en soi, comme un jeu de la vie, etc. D'avantage des prises de conscience.

Pour ta question du curseur, cela me semble une question de choix créatif et de design du monde, et sur le plan épistémologique, soumet et répond à des questionnements historiquement empêtrés, par exemple sur les conditions de possibilité. Cette liberté est très intéressante (pour moi, peut-être plus intéressante que le "cas d'intérêt théorique d'une simulation parfaite").

Pour le travail technique à faire soi-même, il est a priori suffisant, dans un premier temps, de longuement étudier et pratiquer une librairie physique open-source + un drawer + des méthodes d'importation de modèles 3D.

Merci lambda0 pour la suggestion.



Message xantox Site Admin le 08 Mai 2008 18:22

Ache a écrit:
Pour les librairies open-source, j'ai pour l'instant une affection particulière pour Bullet.

Tout à fait, on peut mentionner aussi la tendance probablement irréversible à hardwariser le moteur physique dans des PPU (ex PhysX et autres projets à venir).

Ache a écrit:
Je suis d'avantage pour rassembler quelques travaux qui considèrent explicitement l'unification comme exigence épistémologique, explicitement.

Le travail classique sur la "simulation définitive" (ce qui signifie, l'unification parfaite) et ayant un impact épistémologique fondamental est R. Feynman, "Simulating Physics with Computers", International Journal of Theoretical Physics, 21:6-7, 467-488 (1982) qui a le premier clairement formalisé le problème résolu trois ans plus tard par Deutsch.

Ache a écrit:
par exemple sur les conditions de possibilité. Cette liberté est très intéressante (pour moi, peut-être plus intéressante que le "cas d'intérêt théorique d'une simulation parfaite").

Le fond de ton questionnement est donc bien de nature philosophique.



Message Ache Moderator le 08 Mai 2008 20:02

xantox a écrit:
Tout à fait, on peut mentionner aussi la tendance probablement irréversible à hardwariser le moteur physique dans des PPU (ex PhysX et autres projets à venir).

J'ignore quel nom s'imposera de fait dans le futur, au sens trivial, par exemple s'il y aura plusieurs cartes processeur ou plusieurs processeurs ou que des GPU/PPU confondus, etc. C'est une thématique geek intéressante et d'actualité. Dans le premier post j'ai cité une affirmation qui me parraît profonde, tirée de, Tim Sweeney, The Next Mainstream Programming Language: A Game Developer’s Perspective, p54 :

"There is a wonderful correspondence between:
• Features that aid reliability
• Features that enable concurrency.
"

xantox a écrit:
Le fond de ton questionnement est donc bien de nature philosophique.

'Philosophique' ressemble souvent à une offense pour moi. Je préfère alors ajouter 'expérimental' quelque part. Il y a surtout le côté excitant, enjoué, le jouet, etc. Les retombées philosophiques sont presque secondaires, des accompagnements inévitables, comme un buffet.



Message xantox Site Admin le 09 Mai 2008 01:21

Ache a écrit:
"There is a wonderful correspondence between:
• Features that aid reliability
• Features that enable concurrency.
"

Oui, si le système est doté d'un haut dégré de parallelisme, le contrôle de la stabilité doit être beaucoup plus stricte, en particulier l'interaction avec les parties non parallelisées. Aussi, l'applicabilité de techniques d'analyse et de correction d'erreur séquentielles déterministes se réduit considérablement. Le domaine d'étude formelle de ces systèmes est l'algèbre des processus, cfr. les travaux fondamentaux [1] et [2].

Ache a écrit:
'Philosophique' ressemble souvent à une offense pour moi. Je préfère alors ajouter 'expérimental' quelque part. Il y a surtout le côté excitant, enjoué, le jouet, etc. Les retombées philosophiques sont presque secondaires, des accompagnements inévitables, comme un buffet.

Je serai plus modéré quant à l'usage de ce mot. Oui, il est souvent abusé et détourné, mais cela importe peu car il existe un sens propre, et dans ce sens propre il ne peut y avoir de 'retombées' comme si l'expérience était le saut vivant, et la philosophie le point d'atterrissage d'un corps mort. Au contraire, l'activité philosophique donne sens à l'expérience par un "double saut", qui est encore plus "vivant" que l'expérience et au point de rendre cette dernière une "pré-tombée" de l'autre.

---
[1] R. Milner, "A Calculus of Communicating Systems", Lecture Notes in Computer Science, Springer Verlag (1980).
[2] J. A. Bergstra, J. W. Klop, "Process algebra for synchronous communication", Information and Control, 60:1-3, 109-137 (1984).



Message Ache Moderator le 09 Mai 2008 02:10

xantox a écrit:
Je serai plus modéré quant à l'usage de ce mot. Oui, il est souvent abusé et détourné, mais cela importe peu car il existe un sens propre. Et dans ce sens propre il ne peut y avoir de 'retombées' comme si l'expérience était le saut vivant, et la philosophie le point d'atterrissage d'un corps mort. Au contraire, l'activité philosophique donne sens à l'expérience par un "double saut" qui est encore plus "vivant" que l'expérience et au point de rendre cette dernière une "pré-tombée" de l'autre.

Où veux-tu en venir ? :) Je ne rentrerai pas en chassés croisés, et surtout pas en qu'est-ce que la philosophie.

(les fichiers linkés en "http://strangepaths.com/forum/files" sont not found)

Pour détendre, je propose une preview de Backbreaker (720p), avec le moteur Euphoria, de NaturalMotion.



Message xantox Site Admin le 09 Mai 2008 03:04

Ache a écrit:
Où veux-tu en venir ? :) Je ne rentrerai pas en chassés croisés, et surtout pas en qu'est-ce que la philosophie.

Non pas de problème :) j'ai dégainé machinalement en croyant entendre une note pessimiste quant au rapport entre expérience et philosophie. Je vois que tu es passionné par le sujet 3D/simu en soi et c'est très bien aussi.

Ache a écrit:
(les fichiers linkés en "http://strangepaths.com/forum/files" sont not found)

Fixed

Ache a écrit:
Pour détendre, je propose une preview de Backbreaker (720p), avec le moteur Euphoria, de NaturalMotion.

Très impressionnant. A noter que ce type de technologie, spécifique à l'animation de personnages, n'est pas elle même un moteur physique (mais elle s'intègre avec des moteurs physiques), et est basée sur des contrôleurs d'animation spécialisés et dotés de logiques d'apprentissage. Voir [1], [2], [3].

---
[1] P. Faloutsos, M. van de Panne, D. Terzopoulos, "Composable controllers for physics-based character animation", Int Conf on CG and IT, 251-260 (2001).
[2] A. Shapiro, P. Faloutsos, V. Ng-Thow-Hing, "Dynamic Animation and Control Environment", ACM Int Conf Proc, 112, 61-70 (2005).
[3] V. B. Zordan, et al. "Dynamic Response for Motion Capture Animation", ACM SIGGRAPH (2005).



Message Ache Moderator le 30 Mai 2008 13:07

Lancement open source de Phya, Physical Audio for Virtual Worlds. Intégration avec Bullet. Superbe. Tel quel il y a moyen d'en faire une contemporary installation.

Image

Capture vidéo d'une ancienne demo.



Message Ache Moderator le 12 Août 2009 09:03

Des travaux et des vidéos intéressants sur la génération acoustique, présentés au SIGGRAPH 2009 :

Image


Image


Vidéo YouTube.

---
Changxi Zheng and Doug L. James, Harmonic Fluids, ACM Transaction on Graphics (SIGGRAPH 2009), 28(3), August 2009.




Afficher les messages précédents:  Classer par  
Rédiger un nouveau sujet Répondre au sujet  [ 13 messages ] 



Qui est en ligne

Utilisateurs parcourants ce forum : Aucun utilisateur inscrit et 3 invités


Vous ne pouvez pas publier de sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas insérer des pièces jointes

Rechercher pour:
Sauter vers:  

Copyright 2006-2008 Strange Paths, all rights reserved.