根据角度和最大范围计算距离
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 倍。
我正在编写 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 倍。