У меня есть две траектории (т.е. два списка точек), и я пытаюсь найти точки пересечения для обеих этих траекторий. Однако, если я представлю эти траектории в виде линий, я могу пропустить пересечения в реальном мире (просто промахнусь).
Что я хотел бы сделать, так это представить линию как многоугольник с определенной шириной вокруг точек, а затем найти, где два многоугольника пересекаются друг с другом.
Я использую пространственную библиотеку 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')

