Простые симуляции для физики в Python? - PullRequest
7 голосов
/ 02 февраля 2009

Я хотел бы знать подобные, конкретные симуляции, как симуляция полива поля здесь .

Какая ваша любимая библиотека / интернет-страница для такого моделирования в Python?

Я знаю маленьких Симпи, Нампи и Пигейма. Я хотел бы получить примеры о них.

Ответы [ 4 ]

12 голосов
/ 02 февраля 2009

Если вы ищете какую-то игру физику (столкновения, деформации, гравитацию и т. Д.), Которая выглядит реальной и разумно быстрой рассмотрите возможность повторного использования некоторые физические движки библиотеки.

В качестве первого справочного материала вам может понадобиться заглянуть в pymunk , обертку Python из Chipmunk 2D-библиотеки физики. Вы можете найти список различных физических движков с открытым исходным кодом (2D и 3D) в Википедии.

Если вы ищете физически правильные симуляции, независимо от того, какой язык вы хотите использовать, это будет намного медленнее (почти никогда в режиме реального времени), и вам нужно использовать какое-нибудь программное обеспечение для численного анализа (и, возможно, написать что-то самостоятельно). Точный ответ зависит от проблемы, которую вы хотите решить. Это довольно сложное поле (по математике).

Например, если вам нужно делать симуляции в механике сплошных сред или электромагнетизме, вам, вероятно, нужны методы конечных разностей, конечных объемов или конечных элементов. Для Python есть несколько готовых к использованию библиотек, например: FiPy (FVM), GetFem ++ (FEM), FEniCS / DOLFIN (FEM) и некоторые другие.

3 голосов
/ 02 февраля 2009

Вот простой связанный с астрономией питон . А вот хардкорный код от того же парня.

И Иглкло решает и строит различные гиперболические уравнения с использованием некоторого питона. Тем не менее, большая часть кода написана на Фортране для выполнения вычислений и Python для построения результатов. Если вы изучаете физику, возможно, вам придется привыкнуть к этому виду кода в Fortran. Это реальность. Но это не то, что вы ищете, я думаю. Хорошо, что это задокументировано в грамотном стиле программирования, поэтому это должно быть понятно.

2 голосов
/ 02 февраля 2009

Может быть PyODE ?

1 голос
/ 03 февраля 2009

Я слышал о PyBox2D , который является портом действительно красивого Box2D. Цитировать сайт:

Box2D - это многофункциональный движок 2d физики твердого тела, написанный на C ++ Эрин Катто. Он использовался во многих играх, включая Crayon Physics Deluxe, обладателя Гран-при независимого игрового фестиваля 2008 года.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...