【问题标题】:Find intersection and ETA查找交叉点和 ETA
【发布时间】:2012-01-16 10:58:51
【问题描述】:

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

假设我有一架飞机在纬度:42.68543 经度:16.9880 以 196 度以 430 公里/小时的速度移动,另一架在纬度:36.72348 经度:20.76236 以 269 度以 670 公里/小时的速度移动

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

2)如果存在交叉点我需要知道每艘船需要的估计时间以及到交叉点的距离

您能帮我举一个 Java 示例,告诉我如何找到它吗?

【问题讨论】:

  • 我认为您必须指定“以 x 度移动”的含义。你的意思是他们是在直角线(大圆圈 = 最短距离的线)还是在等角线(恒定方位线)上旅行?
  • 嗨,凝乳,我的意思是他们正在从 0 - 359 的任何方向移动,0 度是北
  • 这很清楚;但是如果你说一架飞机正朝着一个给定的方向飞行,那么在整个行程(loxodrome)中方向是否会相对于北方保持不变,或者该方向是否仅适用于起点并且飞机继续在一个很大的圆(正交)。
  • 嗨豆腐。为此,我每分钟都会得到一个关于位置和方向的新更新变量。关键是我想检查在特定时间该飞机上是否有任何可能的碰撞。一分钟后我会再次检查。更新的度数是 0-359 之间的值,所以我不知道哪个选项更好。你对此有什么建议吗?感谢您的宝贵时间

标签: math coordinates intersection points


【解决方案1】:

如果您有位置向量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 问题分别为每个平面。

【讨论】:

  • 我认为他想要球体(地球)的解决方案。
  • 您提供的信息不够。您必须指定飞机的路线类型。
  • 没有任何相反的东西,线条是大圆圈,因为任何其他运动都需要一个未提及的干预力。 (如果他说的是“卫星”而不是“飞机”,你甚至都不会想到。)
  • 嗨凝乳,Spraff 谢谢你的回答。我只有纬度,经度,方向,速度。不幸的是我的英语不是很好,所以我不知道如何向你解释更多。我有 2 架飞机,我知道它们的坐标速度和航向,我想检查是否有可能与这个 dara 发生碰撞以及距离/时间有多少
  • @spraff:是的,如果没有任何相反的情况,假设一个大圆路径会更合理,但是“以 x 度移动”的表达意味着相反:恒定的方位。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多