数学/物理:给定角度和矢量找到交点?

时间:2015-06-09 20:15:03

标签: vector collision-detection intersection angle

我有两个对象,我需要确定它们是否会在将来的某个时间发生碰撞。假设这两个物体是卡车,每个都在它们的独立车道上。第一辆卡车想改变车道,但卡车是否会碰撞?

两个对象都向前移动,但只有第一个有角度。物体以不同的速度移动,但只知道第二个物体的速度。此外,这两个对象在单独的坐标系上运行(意味着每个对象都有一个新的原点),对象之间的距离也不同。

我没有第一个物体的矢量,但我确实有一个相对于x轴的角度(不固定)。

对于第二个物体,我有一个矢量,它直接前进。

请参考下图:

Collision

如何根据这些标准找到交叉点?我想这个角度是一条无限的线,它在某个点上会越过第二个物体的矢量幅度。我并不认为这与计算两条线的交点是一样的直接。

结束语:

  • 第二个物体的速度已知(但变化)
  • 第一个对象的角度已知
  • 对象之间的距离已知(但有所不同)
  • 第一个物体在x方向上的加速度是已知的(但我不能使用它来查找由于限制而产生的速度)

1 个答案:

答案 0 :(得分:5)

我已经用一些标签重新绘制你的图像。

首先,我们需要在一个坐标系中工作。我选择在(0,0)处使用对象1的系统。这意味着对象2处于位置(Xd,Yd)。

然后我们找到了交点。在这些坐标中,该点将是x = 0并且y = y1(0,y1)。现在我们想知道y2,yd和角度θ这是什么。

eq1

使用你所知道的,现在告诉我们交叉点在哪里。我们需要找出每个对象到达这一点需要多长时间。花费这个时间并将它们设置为彼此相等将为我们提供使每个物体碰撞的速度和加速度的条件。从对象1和2的恒定加速度方程开始(在任何介绍物理书中找到这些):

ca1

ca2

其中 y0 是起始位置, V0 是初始速度, a 是加速度。

对象1的

y0 将为0,因为我们称之为原点,对象2的 y0 只是 yd

现在在每个中解决 t 并将它们设置为彼此相等。由于这些只是 t 中的二次方,我们可以使用二次方程。在此之后你应该得到:

full

用,

with

然后插入您知道的速度,加速度和位置值。如果双方都是平等的,他们会发生碰撞,如果没有,他们就不会碰撞。这基本上设定了必须满足这些数量的条件,以便它们同时处于同一个地方,即碰撞。