Question

J'aimerais connaître des simulations concrètes et similaires, telles que la simulation sur l'arrosage d'un champ ici .

Quelle est votre bibliothèque / page Internet préférée pour de telles simulations en Python?

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

Était-ce utile?

La solution

Si vous recherchez des jeux physiques (collisions, déformations, gravité, etc.) qui paraissent réels et raisonnablement rapides , envisagez réutilisation de bibliothèques de moteur physique .

Comme première référence, vous voudrez peut-être regarder pymunk , un wrapper Python de Chipmunk Bibliothèque de physique 2D. Vous pouvez trouver une liste de divers moteurs physiques Open Source (2D et 3D) sur Wikipedia.

Si vous recherchez des simulations physiquement correctes , quelle que soit la langue que vous souhaitez utiliser, ce sera beaucoup plus lent (presque jamais en temps réel), et vous besoin d'utiliser un logiciel d'analyse numérique (et probablement d'écrire vous-même). La réponse exacte dépend du problème que vous souhaitez résoudre. C’est un domaine assez complexe (en mathématiques).

Par exemple, si vous devez effectuer des simulations en mécanique du continuum ou en électromagnétisme, vous avez probablement besoin des méthodes Différence finie, Volume fini ou Élément fini. Pour Python, il existe des bibliothèques prêtes à l’emploi, par exemple: FiPy (FVM ), GetFem ++ (FEM), FEniCS / DOLFIN (FEM), et quelques autres.

Autres conseils

Voici quelques python liés à l'astronomie simples. Et voici un code hardcore du même type.

Et Eagleclaw résout et trace diverses équations hyperboliques à l'aide de python . Cependant, la plupart du code est écrit en Fortran pour effectuer les calculs et en python pour tracer les résultats. Si vous étudiez la physique, vous devrez peut-être vous habituer à ce type de code encapsulé en Fortran. C'est une réalité. Mais ce n’est pas vraiment ce que vous recherchez, je suppose. La bonne chose, c’est que cela soit documenté dans un style de programmation alphabète, donc cela devrait être compréhensible.

Peut-être PyODE ?

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, notamment Crayon Physics Deluxe, lauréat du grand prix du Festival du jeu indépendant de 2008.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top