到交叉口的最短路线

时间:2010-01-27 05:55:16

标签: math vector collision

我在2个月前问过这个问题,但发现没有一个答案足够有用。所以我给它另一个镜头。我认为这是我的错,不能很好地描述它。所以让我们再试一次。

http://storage.bja888.com/collide.png

这是我想要完成的一个粗略的想法。
目标是从点T发射射弹以拦截由点R表示的物体 众所周知:

  1. 对象R的位置
  2. 方向对象R正在行进
  3. 物体R行进的速度
  4. 对象T的位置
  5. 物体T将行进的速度
  6. 我正在寻找应该发送的方向对象T,从而找到它们将要碰撞的位置。其中一个。

    例如:如果......

    1. R的位置是(1,5)
    2. R以45度角(相对于d)行进
    3. R以每秒1个单位行驶
    4. T位于(1,1)
    5. T也以每秒1个单位旅行
    6. http://storage.bja888.com/proof.png

      L使碰撞位置为(3,3)

2 个答案:

答案 0 :(得分:1)

有无数种可能性。考虑来自点R和T的同心圆系列,表示每个可以在不断增加的时间行进的距离。在圆相交的地方是碰撞点,碰撞点和T之间的矢量是T应该针对该特定时刻的目标。如果 寻找最短路径,你需要得到R路径的法线并在适当的时间通过计算T穿过这个距离所需的时间来触发T,这样它就会到达与R同时发生。

答案 1 :(得分:0)

假设没有空气摩擦,重力,外力,近光速导弹,违反物理定律等。

假设最初 R =( x y )和 T =(0,0)。 (如果 T 不在原点,则更改坐标系。)

假设 T 的速度恒定(cos θ,sin θ),其中θ未知但不依赖于时间。 (如果速度不是1,则更改坐标系或时间单位。)

假设 R 的速度不断( v ,0)。 (如果速度不在水平线上,则更改坐标系。)

假设在 t 时,两个物体发生碰撞。所以我们有2个方程和2个未知数:

  • t cos θ = x + vt
  • t sin θ = y

很明显

  • t 2 =( x + vt 2 + ÿ 2

求解此二次方程式得到 t 。将其插入 y 等式中以获得θ。 QED。