我正在制作一个包含物理学的Javascript程序,但是弹丸配方很难让我做对。我看到了一个带有公式https://math.stackexchange.com/questions/82934/how-to-find-the-parabola-of-a-flying-object?newreg=e730be6696794b3f9ef8404df475c9c8的链接,但是这很难通过javascript执行数学函数的方式来可视化。我的代码如下。
//speed
var speed = 0;
//angle
var angle = 0;
//previous coord log
var pballx = 0;
var pbally = 0;
//ball fall counters
var bffasttime = 0;
var bftime = bffasttime/60;
//log counter
var lftime = 0;
var ltime = 0;
speed = sqrt(sq(abs(bally-pbally))+sq(abs(ballx-bally)))/0.2;
angle = Math.atan((pbally-bally)-(pballx-ballx))*180/Math.PI;
bally = ballx*Math.tan(angle)-[(1/2)*(9.8/sq(bftime))*sq(bftime)]/sq(speed);
它允许你拖动一个球并且每拖动它0.2秒它会记录那些pbally和pballx的坐标,当它被释放时它会计算角速度和抛物线,但它只是传送到顶部。我几乎肯定我的公式是正确的,但如果他们不是任何纠正将是好的。感谢!!!
答案 0 :(得分:0)
angle = Math.atan((pbally-bally) - (pballx-ballx))* 180 / Math.PI;
可能应该是:
angle = Math.atan((pbally-bally)/(pballx-ballx))* 180 / Math.PI;