2009-02-02 20 views
7

Me gustaría saber simulaciones similares, concretas, como la simulación sobre el riego de un campo here.¿Simulaciones simples para Física en Python?

¿Cuál es su página de biblioteca/internet favorita para tales simulaciones en Python?

Sé poco de Simpy, Numpy y Pygame. Me gustaría obtener ejemplos sobre ellos.

+0

Me parece una pregunta vaga ... –

+0

@David: Lo aclaré. –

Respuesta

12

Si usted está buscando un poco de juego la física (colisiones, deformaciones, gravedad, etc.), que se ve real y es razonablemente rápido considerar la reutilización de algunos motores de la física bibliotecas.

Como primera referencia, es posible que desee consultar pymunk, un contenedor de Python de la biblioteca de física 2D Chipmunk. Puede encontrar una lista de varios motores de física de código abierto (2D y 3D) en Wikipedia.

Si está buscando físicamente correctos simulaciones, sin importar el idioma que desea utilizar, que será mucho más lento (casi nunca en tiempo real), y hay que utilizar algún software análisis numérico (y probablemente para escribir algo tú mismo). La respuesta exacta depende del problema que quiere resolver. Es un campo bastante complicado (de matemáticas).

Por ejemplo, si necesita realizar simulaciones en mecánica continua o electromagnetismo, probablemente necesite métodos de Diferencia Finita, Volumen Finito o Elemento Finito. Para Python, hay algunas bibliotecas listas para usar, por ejemplo: FiPy (FVM), GetFem++ (FEM), FEniCS/DOLFIN (FEM), y alguna otra.

3

Aquí hay algunos simples astronomy related python. Y aquí hay un hardcore code del mismo tipo.

Y Eagleclaw resuelve y traza varias ecuaciones hiperbólicas utilizando algunas python. Sin embargo, la mayor parte del código está escrito en Fortran para hacer los cálculos y Python para trazar los resultados. Sin embargo, si estudias física, es posible que tengas que acostumbrarte a este tipo de código de Fortran. Es una realidad Pero esto no es realmente lo que estás buscando, supongo. Lo bueno es que está documentado en un estilo de programación alfabetizado por lo que debe ser comprensible.

+3

Los tres enlaces rotos ... – linusg

1

He oído hablar de PyBox2D, que es un puerto de la muy bonita Box2D. Para citar el sitio:

Box2D es un motor físico de cuerpo rígido 2d rico en funciones, escrito en C++ por Erin Catto. Se ha utilizado en muchos juegos, incluido Crayon Physics Deluxe, ganador del Gran Premio del Festival Independiente de 2008.