8

我想知道类似的具体模拟,就像在这里浇水的模拟一样。

在 Python 中进行此类模拟时,您最喜欢的库/互联网页面是什么?

我知道一点 Simpy、Numpy 和 Pygame。我想获得有关它们的示例。

4

4 回答 4

14

如果您正在寻找一些看起来真实且速度相当快的游戏物理(碰撞、变形、重力等),请考虑重新使用一些物理引擎库。

作为第一个参考,您可能想查看pymunk ,它是Chipmunk 2D 物理库的 Python 包装器。您可以在 Wikipedia 中找到各种开源物理引擎(2D 和 3D)的列表。

如果您正在寻找物理上正确的模拟,无论您想使用哪种语言,它都会慢得多(几乎永远不会实时),并且您需要使用一些数值分析软件(并且可能自己编写一些东西)。确切的答案取决于您要解决的问题。这是一个相当复杂的领域(数学)。

例如,如果您需要在连续介质力学或电磁学中进行模拟,您可能需要有限差分、有限体积或有限元方法。对于 Python,有一些现成的库,例如:FiPy (FVM)、GetFem++ (FEM)、FEniCS/DOLFIN (FEM) 等。

于 2009-02-02T09:06:01.413 回答
3

这是一些与天文学相关的简单 python。这是来自同一个人的核心代码。

Eagleclaw使用一些 python 求解和绘制各种双曲方程。然而,大部分代码都是用 Fortran 编写的来进行计算,而 python 来绘制结果。如果你正在学习物理,你可能不得不习惯这种 Fortran 包装的代码。这是一个现实。但这不是你真正想要的我猜。好处是它以一种有文化的编程风格记录,所以它应该是可以理解的。

于 2009-02-02T06:35:35.040 回答
2

也许PyODE

于 2009-02-02T12:15:30.843 回答
1

我听说过PyBox2D,它是非常好的 Box2D 的一个端口。引用该网站:

Box2D 是一个功能丰富的二维刚体物理引擎,由 Erin Catto 用 C++ 编写。它已被用于许多游戏中,包括 2008 年独立游戏节大奖得主 Crayon Physics Deluxe。

于 2009-02-02T21:24:26.087 回答