找到交叉点和ETA

时间:2012-01-16 10:58:52

标签: math coordinates intersection points

我有2个坐标点A,B,我想知道计算交点的公式(如果存在)。

让我们说我在拉特有一架飞机:42.68543 Lon:16.9880在196度时以430公里/小时的速度行驶,另一辆在Lat:36.72348 Lon:20.76236在269度时以670公里/小时的速度行驶

1)我想计算交点(如果存在)

2)如果存在交叉点,我需要知道每个工艺所需的估计时间和到交叉点的距离

你能帮我找一个关于如何找到它的Java示例吗?

1 个答案:

答案 0 :(得分:0)

如果您有位置向量A=(xa,ya)B=(xb,yb)以及相应的速度VaVb,那么您正在尝试解决A+s*Va=B+t*Vb。这是任何坐标系的解决方案,但首先必须选择坐标系。

让我们首先为欧几里得空间解决它......

为每个组件x和y写出来。您现在在两个变量中有两个联立方程,可以求解st。如果s==t(或“关闭”),它们将发生碰撞。当Va和Vb平行时,注意零除零,以及数值不稳定。

对于球面解,考虑在圆周上移动两个点,方程是相同的形式,尽管A和B将是角度,Va和Vb将是角速度。为了获得圆圈,可以随时瞬间计算欧几里得Va和Vb,这与欧几里得A和B一起(假设地球居中于0)告诉你你正在做什么平面,投射到这个平面以得到2D问题分别为每架飞机。