2009-02-02 4 views
7

Je voudrais connaître des simulations similaires et concrètes, comme la simulation sur l'arrosage d'un champ here.Simulations simples pour la physique en Python?

Quelle est votre page bibliothèque/internet favorite pour de telles simulations en Python?

Je connais peu Simpy, Numpy et Pygame. J'aimerais avoir des exemples à leur sujet.

+0

Cela me semble une question vague ... –

+0

@David: Je l'ai clarifié. –

Répondre

12

Si vous cherchez une jeu physique (collisions, déformations, gravité, etc.) qui semble réel et est raisonnablement rapide envisager réutilisant certains moteurs de la physique bibliothèques. Comme première référence, vous voudrez peut-être regarder dans pymunk, un wrapper Python de Chipmunk bibliothèque de physique 2D. Vous pouvez trouver une liste de différents moteurs de physique Open Source (2D et 3D) dans Wikipedia.

Si vous êtes à la recherche pour les simulations physiquement correctes, peu importe la langue que vous voulez utiliser, il sera beaucoup plus lent (presque jamais en temps réel), et vous devez utiliser une analyse numérique logiciel (et probablement d'écrire quelque chose vous-même). La réponse exacte dépend du problème que vous voulez résoudre. C'est un domaine assez compliqué (de maths). Par exemple, si vous avez besoin de faire des simulations en mécanique du continuum ou en électromagnétisme, vous avez probablement besoin de méthodes de différences finies, de volumes finis ou d'éléments finis. Pour Python, il existe des bibliothèques prêtes à l'emploi, par exemple: FiPy (FVM), GetFem++ (FEM), FEniCS/DOLFIN (FEM) et d'autres.

3

Voici quelques simples astronomy related python. Et voici un hardcore code du même gars.

Et Eagleclaw résout et trace différentes équations hyperboliques en utilisant du python. Cependant, la plupart du code est écrit en Fortran pour effectuer les calculs et python pour tracer les résultats. Si vous étudiez la physique, vous devrez peut-être vous habituer à ce type de code enveloppé Fortran. C'est une réalité. Mais ce n'est pas vraiment ce que tu cherches, je suppose. La bonne chose c'est qu'il est documenté dans un style de programmation alphabétisé, donc il devrait être compréhensible.

+3

Les trois liens cassés ... – linusg

1

J'ai entendu parler de PyBox2D, qui est un port de la très belle Box2D. Pour citer le site:

Box2D est un moteur de physique de corps rigide 2d riche en fonctionnalités, écrit en C++ par Erin Catto. Il a été utilisé dans de nombreux jeux, y compris Crayon Physics Deluxe, lauréat du Grand Prix 2008 du Festival du jeu indépendant.