Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

20/03/2007

Donc, vous voulez écrire un moteur physique...

Choses promises, choses dues, voici donc une petite liste de documents utiles à potasser avant, pendant et après l’écriture d’un moteur physique pour corps rigide. J’ai lu la plupart des papiers dans ce docs (sauf pour les maths), c’est donc en guise de recommandation que j’ai fait cette liste.

 

Faire de la simulation physique, c’est faire des maths, point. Donc, avant de se lancer dans l’aventure, voici un certain nombre de sujet à maîtriser. Evidemment, c’est facultatif, mais faire de la physique sans cette base risque vite de devenir particulièrement pénible :-)

 

L’algèbre linéaire

Le calcul matriciel

Les systèmes linéaires

Le calcul différentiel

La mécanique du point

La mécanique du solide

 

Bien, une fois les bases acquises, il est temps de s’amuser. C’est dans les années 90 que la simulation physique a commencé à s’étoffer dans les jeux vidéo. A l’époque, Chris Hecker avait écrit un bon tutorial dans le Game Developer Magazine.

 

Ce qu’il y a de beau avec les maths, c’est qu’elles se périment rarement. L’article est donc toujours pertinent en guise d’introduction aux quatre principales problématiques de la simulation physique :

 

-         L’intégration physique

-         La détection des collisions

-         La réponse à ces collisions

-         La notion de contraintes

 

A ce niveau là, il est temps de passer aux choses sérieuses. En 2001, Baraff et Witkin ont mis à plat le sujet au cours du Siggraph, ce qui permet d’être mieux à même de comprendre la simulation des corps rigides.

 

Pour aller plus loin dans la détection de collisions, M.C.Lin et Dinesh Manocha sont de bonnes références. Pour ce qui est de la réponse aux collisions, Mirtich revient souvent, même si c’est un vaste sujet.

 

Très tôt également, on bute sur la joie de l’imprécision des nombres flottants et autres problématique de cumul d’erreurs. La lecture des Numerical Recipes peut aider à soigner ce type de problèmes.

 

Quid des fluides, des cheveux, des vêtements ? Il existe autant de façon de faire de la physique qu’il y a de problèmes à résoudre. Par exemple, l’approche Verlet permet de développer pas mal de choses pour les vêtements et les cheveux.

 

Pour tout ce qui est fluide, outre le fait de devoir étudier les équation de Navier Strokes, Joe Stam est une référence en la matière.

 

Bref, avec tout ça, il y a déjà de quoi faire ^_^. Bon courage !

13:10 Publié dans PAPERS | Lien permanent | Commentaires (12)

Commentaires

Une bien belle liste de papers, on a tous quelque chose a y apprendre, merci :)

Écrit par : MMoi | 20/03/2007

Merci, plein de lectures intéressantes :) Et puis, c'est cool de voir que mes deux ans de prépa n'auront finalement peut-être pas servi à rien :)

Écrit par : MoOm | 20/03/2007

Il faut être un peu matheux dans le jeu, c'est emminement utile! :-)

A cette liste, il faudrait rajouter quelques livres, en particulier le "Geometric Tools for Computer Graphics", mais ils sont deja dans la liste à coté ^_^

Écrit par : Daz | 20/03/2007

La dernière fois que j'ai fait de la physique, je me suis tellement fait [censuré] par la stabilité numérique que j'ai monté une boite exprès pour faire faire ce boulot par de pauvres innocents qui ne savent pas ce qu'il va leur arriver :)

Écrit par : Whirly | 20/03/2007

Oui, ca, c'est vraiment le piège dans lequel on tombe tous!

Je me souvient que dans mes premiers tests, quand je stackais plus de 3 cubes, le cube du dessous devenait dingue et en général s'envolait à toute berzingue dans l'espace !!!

C'est à ce moment là que j'ai commencé à me soucier de ce que cela voulais dire qu'un nombre flottant, et que non, définitivement, EPSILON ca n'est pas 0.0001f, nom de dieu !!!! ^_^

Écrit par : Daz | 20/03/2007

J'ai fait de la physique quantique à 10 ans (études des quarks - je me souviens qu'il y en avait même un qui était pas encore découvert) c'est à dire en 1989. Je suivais alors des cours d'astrophysique avec un gars qui a gagné de nombreux prix mais dont j'ai oublié le nom. Mon obsession était de devenir physicien et d’intégrer l’école centrale (je me souviens être aller avec ma mère à des journées porte ouvertes de centrale à cet âge la). Je dévorais les sciences et vie, la revue Nature et d’autres publications du même acabit. Tout le monde me prédestinait à une carrière scientifique… je ne sais pas ce qui s’est passé mais je suis sérieusement parti en vrille, même si je continue à me passionner pour les ouvrages de Stephen Hawking. Par contre je dois avouer que je suis totalement largué par ton billet.
Par contre j’avais pensé que la programmation était beaucoup plus proche de la linguistique que des mathématiques et que meilleur en orthographe et grammaire on était meilleur programmeur aussi. En effet la construction des variable de conditions, des requêtes ressemble très fortement à un vrai langage et je me suis rendu compte lors des formations que je donnais qu’enseigner la programmation en reprenant des méthodes de langues était parfois plus efficace que d’utiliser un approche scientifique de la chose. Mais finalement les langues c’est pas des mathématiques fondamentales ? Désolé pour cette digression mais comme je savais pas quoi dire et que je sais pas me taire ;)

@Daz : par contre en consultants des stats je suis tombé sur ça dans google : http://vielles.hotplanner.com/?p=1148 (regarde le premier lien )….. Comme quoi on trouve de tout sur le net…

Écrit par : Pedro Guanaes | 20/03/2007

Charmant ton lien Pedro! 0_o

Sans entrer dans les details, la linguistique est un domaine parfaitement formalisable mathematiquement. Rien d'etonnant donc a ce que ces deux matieres soient intimement liees.

Il y aurait beaucoup a dire sur le sujet, mais ca n'est pas exactement mon sujet de reference. Le propos, c'est pas de faire son Noam Chomsky ;-)

Quand a la qualite de l'orthographe, etant donne la mienne, cela ferait de moi un bien mauvais programmeur !!! LOL ^_^

Quoi qu'il en soit, la physique du solide est autrement plus simple que la physique quantique de toute facon ! Les outils mathematiques mis en oeuvre sont d'une nature disons... plus naturelle...

Écrit par : Daz | 20/03/2007

Sinon pour la petite histoire du lien étrange je suis passer par une nouvelle fonction de google http://www.google.fr/blogsearch?hl=fr qui permet de cherhce dans les blogs. j'ai tapé mon nom et abracadra je tombe sur ce site qui te cite et me mentionne.... Le bonheur des algorytmes

Écrit par : Pedro Guanaes | 20/03/2007

Les spammeurs sont tres doues pour ca. Ils creent des pages en recopiant un peu tout ce qui passe a porte de leur crawler histoire'attirer le malheureux surfeur... ;-)

Écrit par : Daz | 20/03/2007

Pour ce qui est cfd (fluides), y'a aussi Ron Fedkiw qui est une star du domaine (mais pas du tout temps réel): http://graphics.stanford.edu/~fedkiw/

Écrit par : Dam's | 20/03/2007

Tout a fait :-) Mais Stam a pas mal bossé sur des algos plus approprié au temps réel, ce qui fait que je préfère ses travaux ^_^

Écrit par : Daz | 21/03/2007

Je n'ai rien compris au moteur physique mais je sais écrire correctement sans faute ;-)

Écrit par : Alex | 22/03/2007

Les commentaires sont fermés.