0

我正在编写 javascript 代码,我需要根据角度、初始高度、速度、最大范围找出距离。

示例:如果一个物体以45度角从地面(高度 = 0)以3000 的速度射出。物体在距离它被抛出的点1500 米处坠落。

如果物体以相同的高度和速度但以 60 度角射击,从射击点到地面上的落点的距离是多少。

初始高度=> h = 0

角度=> a = 45 度

速度=> v = 3000

最大范围=> m = 1500 米

var h = 0;
var a = 45;
var v = 3000;
var m = 1500;

var d = null; //need to calculate this
// Range calculation formula is: d = V₀² * sin(2 * α) / g

d = v * v * Math.sin(2 * a) / 9.8;

我从上面的公式中得到范围,但这不是基于给定的最大范围。

4

1 回答 1

0

该函数Math.sin期望角度以弧度给出。给定一个α以度为单位的角度,您可以通过 计算以弧度为单位的角度α * (π/180)。因此,您的计算需要按如下方式执行。

d = v * v * Math.sin(2 * a * Math.PI / 180) / 9.8;

请注意,您的最大范围实际上是 ≈920000 m。您的初始速度为 10800 公里/小时(或 6710 英里/小时),是商用飞机的 10 倍。

于 2021-07-28T09:45:53.887 回答