Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript创建非常基本的模拟的教程_Javascript - Fatal编程技术网

使用javascript创建非常基本的模拟的教程

使用javascript创建非常基本的模拟的教程,javascript,Javascript,我最近一直在学习用Javascript编程。有一段时间我被告知可以创建“模拟”。我目前是一名研究物理学的大学生,对做一个非常基本的模拟特别感兴趣,这个模拟显示了两个(2D)球在重力作用下相互吸引(所以基本上是一个非常简单的模拟重力的模拟器,我被告知这非常简单?) 然而,我一直在搜索各种网站,并通过论坛向人们发送电子邮件(尽管没有得到任何回复)。有没有一个教程可以让我学习编写这类代码(我想它会引入向量的概念)。我能够创建视觉球(使用一些基本的html),实际的数学方面不是问题。真正的问题在于能够将

我最近一直在学习用Javascript编程。有一段时间我被告知可以创建“模拟”。我目前是一名研究物理学的大学生,对做一个非常基本的模拟特别感兴趣,这个模拟显示了两个(2D)球在重力作用下相互吸引(所以基本上是一个非常简单的模拟重力的模拟器,我被告知这非常简单?)


然而,我一直在搜索各种网站,并通过论坛向人们发送电子邮件(尽管没有得到任何回复)。有没有一个教程可以让我学习编写这类代码(我想它会引入向量的概念)。我能够创建视觉球(使用一些基本的html),实际的数学方面不是问题。真正的问题在于能够将所有这些东西结合起来。

基础物理模拟器至少需要:

  • 对象的位置(x,y)
  • 对象的大小/形状(通常通过图像)
  • 运动的速度和方向
假设重力向下,这就是你所需要的:只需在模拟的每一步将重力矢量添加到物体的速度中

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

我会研究一下“”,是的,引力是相当简单的。提供该库的网站上有许多可能对您有所帮助的示例


www.processingjs.org

我建议学习javascript的物理引擎,比如。你可能会逃脱任何为游戏设计的物理引擎,因为这基本上就是你所需要的。通常会有任何物理引擎的教程,然后做你想做的事情对你来说会很容易。

伙计们,他是一名物理系学生,早餐可能会吃微分和积分。他不需要一个物理库,他需要一个容易掌握的图形库。@VoronoiPotato仅仅因为他是一个物理学生并不意味着他想要硬编码重力计算。我以前也是物理专业的学生,但这并不意味着每次我一起玩游戏或玩物理模拟游戏时,我都想重新发明轮子。你可能完全正确,但问题提示似乎不是这样的。“我能够创建视觉球(使用一些基本的html),而实际的数学方面并不是问题。问题真正在于能够把所有这些东西画在一起。”希望他能回到现实中来clarify@VoronoiPotato在某种程度上,我想你是对的。但是大多数物理库根本不为你做所有的数学运算——它们只是处理那些烦人的东西。我可以满怀信心地说,在2012年,没有人想用普通的ole javascript编写矩阵/三维向量操作。是的,我同意你的看法。我不知道他到底去了哪里。好的,太好了,我来看看。在我开始之前,你认为有什么先决条件可以使用它?再次感谢@HarryRobinson如果你对javascript有相当扎实的背景/理解,你应该会很好。但不要将自己局限于Box2Dj。我建议搜索游戏物理/绘图引擎,看看哪一个最适合你的需要。不过,我敢说,几乎所有这些方法都能奏效。非常感谢!我不确定我会说我有坚实的背景。我已经用javascript做了很多教程(主要是代码学院的教程)-只是尝试扩展(同时也整合了我已经学到的东西,如物理)。@HarryRobinson是的,你应该很好!如果所有这些都失败了,请熟悉
jQuery
,它附带了几个元素动画功能。你必须手动编写物理方面的代码,但是其他的一切都会相当容易。很好,我在课程中一到那一点就要进入jQuery,所以应该很快就会出现!肯定会摆弄那个模拟器。谢谢你的指导,菲利普。