如何找到物体的射弹公式?
How to find Projectile formula for an object?
我正在制作一个包含物理学的 Javascript 程序,但射弹公式对我来说很难正确。我看到一个 link 和公式 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,释放时它会计算角速度和抛物线,但它只是传送到顶部。我几乎肯定我的公式是正确的,但如果它们不正确,任何更正都会很好。谢谢!!!
angle = Math.atan((pbally-bally)-(pballx-ballx))*180/Math.PI;
可能应该是:
angle = Math.atan((pbally-bally)/(pballx-ballx))*180/Math.PI;
我正在制作一个包含物理学的 Javascript 程序,但射弹公式对我来说很难正确。我看到一个 link 和公式 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,释放时它会计算角速度和抛物线,但它只是传送到顶部。我几乎肯定我的公式是正确的,但如果它们不正确,任何更正都会很好。谢谢!!!
angle = Math.atan((pbally-bally)-(pballx-ballx))*180/Math.PI;
可能应该是:
angle = Math.atan((pbally-bally)/(pballx-ballx))*180/Math.PI;