есть луч(красный) и много отрезков, если отрезок пересекает луч то он одного цвета(например зеленый), если НЕ пересекает то другого цвета(например черный)
я сделал так
Код:
if (luch.x <= a.x) and (luch.x <= b.x) then // если точка начала луча слева от точек начала и конца отрезка то
begin
if ((a.y <= luch.y) and (luch.y <= b.y)) // если точка начала отрезка выше луча и точка конца ниже
or ((b.y <= luch.y) and (luch.y <= a.y)) // или наоборот
then line(a,b,cllime) // то рисуем зеленым
else line(a,b,clblack); // иначе черным
end
но есть проблема, например когда начало отрезка слева от точки луча и конец справа

при этом отрезок может пересекать луч, а может и НЕ пересекать
как здесь реализовать проверку на пересечение?