Показать сообщение отдельно
  #1  
Старый 21.02.2010, 14:22
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
Восклицание пересекает ли отрезок луч?

есть луч(красный) и много отрезков, если отрезок пересекает луч то он одного цвета(например зеленый), если НЕ пересекает то другого цвета(например черный)


я сделал так
Код:
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

но есть проблема, например когда начало отрезка слева от точки луча и конец справа

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

как здесь реализовать проверку на пересечение?
Ответить с цитированием