Простое моделирование физики в Python?
Я хотел бы знать подобные, конкретные моделирования, как моделирование о поливе поля здесь.
какова ваша любимая библиотека / интернет-страница для таких симуляций в Python?
Я знаю немного Simpy, Numpy и Pygame. Я хотел бы привести примеры.
4 ответов
Если вы ищете для некоторых - игры физика (столкновения, деформации, гравитация и т. д.), который выглядит реально и разумно быстро рассмотрим повторное использование некоторых физика библиотеки.
в качестве первой ссылки, вы можете посмотреть в pymunk, оболочка Python Бурундук библиотека 2D физики. Вы можете найти список различных физических движков с открытым исходным кодом (2D и 3D) в Википедия.
Если вы ищете физически корректном моделирование, независимо от того, какой язык вы хотите использовать, это будет много медленнее (чуть ли не в реальном времени), и вы должны использовать численный анализ программное обеспечение (и, вероятно, написать что-то самостоятельно). Точный ответ зависит от проблемы, которую вы хотите решить. Это довольно сложная область (математики).
например, если вам нужно выполнить моделирование в континууме механика или электромагнетизм, вам, вероятно, нужны методы конечных разностей, конечных объемов или конечных элементов. Для Python, есть несколько готовых к использованию библиотек, например: FiPy (FVM), GetFem++ (FEM), FEniCS/Долфин (FEM), и некоторые другие.
вот некоторые простые Астрономия, связанная с python. И вот хардкорный код от того же парня.
и Eagleclaw решает и строит различные гиперболические уравнения, используя некоторый python. Однако большая часть кода написана на Fortran для выполнения вычислений и python для построения результатов. Если вы изучаете физику, хотя вам, возможно, придется привыкнуть к такого рода Fortran обернутый код. Это реальность. Но на самом деле это не так. наверное, ты ищешь. Хорошо, что он документирован в грамотном стиле программирования, поэтому он должен быть понятным.
Я слышал о PyBox2D, который является портом действительно хорошего Box2D. Процитировать сайт:
Box2D-это многофункциональный 2d-физический движок твердого тела, написанный на C++ Эрин Катто. Он использовался во многих играх, в том числе Crayon Physics Deluxe, победитель Гран-При независимого фестиваля игр 2008 года.