我一直试图在Javascript中实现弹丸运动,但是我一直想弄清楚角度(从中得出x和y速度)
var v = 1;
var d = 10;
var g = -1;
var angle = 0.5 * Math.asin((g*d)/(v*v));
我希望这样的方法能起作用,因为它来自Here。
我似乎得到的值是NaN或很小的数字。
提供更多背景信息;弹丸必须从A点到B点(我的代码中的距离为d
),其中A和B处于同一高度。稍后,我想对距离和角度进行一些随机化,但是我认为,一旦解决了这个角度问题,这将不再是一个问题。
编辑:
作为一个更好的例子:
var v = 100;
var d = 100;
var g = 1; // I've made this positive now
var angle = 0.5 * Math.asin((g*d)/(v*v));
这表示角度现在为0.005
答案 0 :(得分:0)
我不是很擅长这个物理问题,但我会尝试
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin
Math.asin(-10/1)
,也许速度具有可以覆盖的最大距离。无论角度如何,例如1m / s都不会达到500m距离希望这会有所帮助
答案 1 :(得分:0)
来自您链接d_max = v*v/g
的同一维基百科页面上的注释。根据您的输入,该值等于1。因此,距离10是不可能的。
另一种注意到这一点的方法是罪的范围是(-1,1)。因此,超出此范围的任何数字均不确定。 (g*d)/(v*v)
是10,所以Math.asin
返回NaN