Кажется, это домашнее задание, поэтому я только набросаю ответ. Вам придется кодировать его самостоятельно.
Во-первых, уклоны одинаковы? Если нет, у них есть только одна общая черта; стоп. Предполагая, что координаты являются целыми числами, вы можете избежать ошибок с плавающей запятой, вычисляя каждый dx и dy и умножая их в кросс-множении (ч / т к комментарию Weather Vane выше).
Во-вторых, у расширенных линий есть общая точка? Это можно сделать, найдя y-перехватчики или другими способами. Если нет, они параллельны; остановить.
Достигнув этой точки, мы знаем, что сегменты находятся на одной линии, поэтому теперь нам нужно проверить интервалы. Если они горизонтальные, посмотрите на x ; если вертикально, посмотрите на y ; если наклонена, выберите одну координату, любая из них будет работать.
Отсортируйте каждую пару конечных точек, чтобы получить a и b , такие что a <<em> b . Затем просто сравните крайние левые конечные точки каждого сегмента и крайние правые. Помните, что один или оба могут быть равны.