2012-08-07 50 views
0

我最近一直在学习用Javascript进行编程。我被告知有一段时间可以创建'模拟'。我目前是一名正在学习物理的大学学生,并且对制作一个非常基本的模拟效果非常感兴趣,该模拟显示了两个(2D)球在重力作用下彼此相互吸引(所以基本上是一个非常简单的模拟器来说明引力吸引力 - 我被告知是特别简单吗?)使用javascript创建非常基本的模拟教程

然而,我一直在搜索各种网站,以及从论坛发邮件给人(尽管没有得到任何回应)。有没有一个教程,我可以学习编写这类的东西(我想它涉及引入载体的想法)。我能够创建视觉球(使用一些基本的HTML),而实际的数学方面不是问题。这个问题真的在于能够将所有这些东西结合在一起。

+0

伙计们,他是一名物理系学生,他可能会吃早餐的差异和积分。他不需要物理库,他需要一个容易掌握的图形库。 – VoronoiPotato 2012-08-07 16:01:35

+0

@VoronoiPotato只是因为他是一名物理系学生,并不意味着他觉得自己像是一种硬编码的引力计算。我也是一名前物理学专业的学生,​​但这并不意味着我每次将一个游戏或物理模拟游戏放在一起时都会重新发明轮子 – 2012-08-07 16:03:58

+0

您可能是完全正确的,但问题提示似乎并非如此。 “我能够创建视觉球(使用一些基本的html),而实际的数学方面不是问题,问题的关键在于能够将所有这些东西结合在一起。” 希望他会回来澄清 – VoronoiPotato 2012-08-07 16:10:44

回答

0

基本物理学仿真器至少需要:

  • (通常通过图像)
  • 移动的速度和方向的对象(X,Y)
  • 尺寸/物体的形状的位置

假设那么重力向下,那就是你需要的一切:只要在模拟的每一步中将重力矢量添加到物体的速度。

但是,如果要模拟空间,对象相互吸引时,需要知道每个对象的质量并计算每个对象的重力:对于每个对象,查找所有其他对象并计算重力。将所有得到的重力矢量添加到一起,并将其添加到当前速度以获得结果。

0

我会考虑“Processing.js”,是的引力吸引是相当简单的。提供图书馆的网站有许多可以帮助你的例子。

www.processingjs.org

0

我建议学习物理引擎的JavaScript,像BOX2DJS。你可能会逃脱任何专为游戏设计的物理引擎,因为这基本上就是你所需要的。通常会有任何这些物理引擎的教程,然后做你想做的事情会变得很容易。

+0

好,我会看看。在我刚刚开始之前,你会说有什么先决条件能够使用它?再次感谢! – 2012-08-08 12:45:24

+0

@HarryRobinson如果你有一个相当扎实的javascript背景/理解,你应该没问题。尽管如此,不要只限于Box2Djs。我建议你搜索一下游戏物理/绘图引擎,看看哪一个看起来最适合你的需求。但我敢说,几乎其中任何一个人都会工作。 – 2012-08-08 13:57:10

+0

非常感谢!我不确定我会尽可能说我有一个坚实的背景。我已经在JavaScript中做了不少教程(主要是代码学院的教程) - 只是试图分支(同时也整合了我已经学过的东西,例如物理)。 – 2012-08-08 14:20:00