我有两个轨迹(即两个点列表),我试图找到这两个轨迹的交点。但是,如果我将这些轨迹表示为线条,我可能会错过真实世界的交点(只是错过)。查找交点基于区域的轨迹与线轨迹
我想要做的就是将线条表示为具有一定宽度的多边形,然后找到两个多边形相互交叉的位置。
我使用python空间库,但我想知道是否有人以前做过这个。这是一段不相交的线段,因为他们只是错过了彼此。以下是代表两个对象轨迹的示例数据代码。
object_trajectory=np.array([[-3370.00427248, 3701.46800775],
[-3363.69164715, 3702.21408203],
[-3356.31277271, 3703.06477984],
[-3347.25951787, 3704.10740164],
[-3336.739511 , 3705.3958357 ],
[-3326.29355823, 3706.78035903],
[-3313.4987339 , 3708.2076586 ],
[-3299.53433345, 3709.72507366],
[-3283.15486406, 3711.47077376],
[-3269.23487255, 3713.05635557]])
target_trajectory=np.array([[-3384.99966703, 3696.41922372],
[-3382.43687562, 3696.6739521 ],
[-3378.22995178, 3697.08802862],
[-3371.98983789, 3697.71490469],
[-3363.5900481 , 3698.62666805],
[-3354.28520354, 3699.67613798],
[-3342.18581931, 3701.04853915],
[-3328.51519511, 3702.57528111],
[-3312.09691577, 3704.41961271],
[-3297.85543763, 3706.00878621]])
plt.plot(object_trajectory[:,0],object_trajectory[:,1],'b',color='b')
plt.plot(vehicle_trajectory[:,0],vehicle_trajectory[:,1],'b',color='r')
你是什么意思“代表一条线作为一个多边形”?多边形由线组成。你的意思是你想要找到点之间的点或点之间的距离是否在另一个轨迹的某个阈值内? –
谢谢澄清@JeremyMcGibbon。基本上我想在每条线周围放一个信封。信封将被表示为多边形。然后我可以确定两个信封相互交叉的位置,然后对这些交点进行更多分析。考虑剧情图片。在这种情况下,两条线都不相交,但在实际情况中,它确实是因为它不是一条线并且具有宽度。这有帮助吗? – SriK
这些要点有多好?仅仅在点的粘性上检查重叠是否足够,还是您还需要查看这些点之间的轨迹?你的轨迹有多少点,数量级? –