根据角度和最大范围计算距离

Calculate distance on the basis of Angle and Maximum Range

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

示例:如果物体从地面(其中 高度 = 0)以 角度 45 度和 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;

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

函数Math.sin要求角度以弧度表示。给定一个 α 的角度,您可以通过 α * (π/180) 计算弧度的角度。因此,您需要按如下方式进行计算。

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

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