Rex*_*Rex 0 intersection vector angle collision-detection
我有两个对象,我需要确定它们是否会在将来的某个时间发生碰撞.假设两个物体是卡车,每个都在它们的独立车道上.第一辆卡车想改变车道,但卡车是否会碰撞?
两个物体都向前移动,但只有第一个物体有一个角度.物体以不同的,不同的速度移动,但只知道第二物体的速度.此外,这两个对象在不同的坐标系上运行(意味着每个对象都有一个新的原点),对象之间的距离也不同.
我没有第一个物体的矢量,但是我确实有一个相对于x轴的角度(不固定).
对于第二个对象,我有一个向量,它是直的.
请参考下图:

如何根据这些标准找到交叉点?我想这个角度是一条无限的线,它在某个点上会越过第二个物体的矢量幅度.我不认为这比计算两条线的交点更直接.
包起来:
我已经用一些标签重新绘制了你的图像.

首先,我们需要在一个坐标系中工作.我选择在(0,0)处使用对象1的系统.这意味着对象2处于位置(Xd,Yd).
然后我们找到了交点.在这些坐标中,该点将是x = 0并且y = y1(0,y1).现在我们想知道y2,yd和角度θ这是什么.

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


其中y0是起始位置,V0是初始速度,a是加速度.
对象1的y0将为0,因为我们称之为对象2 的原点和y0将是yd.
现在解决每个中的t并将它们设置为彼此相等.由于这些都只是二次在牛逼,我们可以使用二次方程.在此之后你应该得到:

用,

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