我该如何编程物理模拟?

时间:2011-07-16 20:16:43

标签: java physics simulation

我正在尝试创建一个可用于编写模拟程序的Java包。 我的目标是创建像弹簧一样的“物体”或像立方体和球体这样的固体物体。它们将具有质量,速度,重力等,并且它们可以相互作用。

我在www.myphysicslab.com上看过一些模拟程序,但我的问题是我不想为不同的情景编写不同的方程式。有没有办法做到这一点?我是编程新手。

4 个答案:

答案 0 :(得分:22)

创建物理引擎很难。 (很难)。但它也可以很有趣。嗯,有趣的是“我为什么这样做?”那种方式。

假设你对所涉及的数学有一个公平的把握*,并假设你对刚体动力学感兴趣,那么有几个经典的参考文献开始:

这些是开始的好地方,将为您提供足够的挑战。

您还可以查看Erin Catto的Box2D以及您可以下载的相关GDC tutorials

有关更具体的帮助,Bullet的论坛还包含一个子部分,在您了解了一些基础知识后,您可以在其中讨论并提出问题。

*如果你没有这个公平的把握,请学习。如果您不愿意,请不要尝试使用现有的引擎。如果这是您的第一次编程体验,请首先关注编程。不要让自己不堪重负。

祝你好运。

答案 1 :(得分:6)

要理解物理,你必须先了解数学。试图在不使用数学方程的情况下编写物理引擎就像制作没有成分的蛋糕一样。

整个职业生涯都建立在创建物理引擎的基础之上,所以我的建议是使用现有的引擎,或者让你的书出来。

答案 2 :(得分:1)

构建物理模拟器可以做很多工作。两个维度比三个维度要简单得多,所以也许你想从2D开始。您可能希望以现有的包开始,例如JBox2D。它有一个约束求解器,摩擦等。你可以构建在JBox2D之上或研究它是如何工作的。

HTML5版本可通过在线演示获得:GWTBox2D

答案 3 :(得分:0)

有一个名为Easy Java Simulations的程序 这正是你想要的! 您可以创建Java小程序并准备好许多可视对象。 您也可以编写java代码和子程序。

访问http://fem.um.es/Ejs/下载。