gpt4 book ai didi

c# - 计算拦截向量

转载 作者:行者123 更新时间:2023-11-30 19:05:04 24 4
gpt4 key购买 nike

我有 2 个对象(我将它们称为目标拦截器)。我知道目标的当前位置和速度。我知道拦截器的当前位置和它可以行进的速度。

据此,我现在需要知道的是:

  • 是否可能拦截,即同一时间同一地点。
  • 拦截器需要在什么向量上行驶
  • 拦截需要多长时间

即目标@(120,40) 每秒 V(5,2) 和拦截器@(80,80) 可以以每秒 10 的速度行进。

我环顾四周,找到了很多方法来找出它们相交的点,它们都围绕两个向量之间的角度旋转,因为我不知道第二个向量,我无法计算它,我试图解决这个问题时迷路了。

关于如何进行的任何建议或指导?

最佳答案

您可以使用二维矢量计算来计算交点。目标沿直线移动。我们知道目标的起点、方向和速度。

在任何时间 t >= 0 目标位于点 x 定义

enter image description here

其中s_t是目标(120, 40)的起点,v_t是目标(5, 2)的速度矢量。

我们知道拦截器的起点 (s_i)、它的速度 (v_i),但不知道它的方向。我们可以用围绕起点的圆来描述拦截器范围,其半径随时间增加。在向量演算中我们得到

enter image description here

其中x是圆上的一点,s_i是拦截器的起点(80, 80),r是拦截器在时间t的半径(或范围),v_i是拦截器的速度( 10).

当目标和拦截器在时间 t 相遇时,它们的位置 x 必须相等。我们用直线方程的x代入圆方程的x,得到

enter image description here

这只是一个普通的 quadratic equation对于 t:

enter image description here

你可以很容易地解决这个问题。在这种情况下,您会得到一个有效和无效的解决方案:

t1 = -5.2328 => 无效,因为 t 必须 >= 0

t2 = 8.61307

现在您知道了 t,您可以计算与第一个直线方程的交点。目标和拦截器在 (163.065, 57.223) 相遇

关于c# - 计算拦截向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29919156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com