![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
есть луч(красный) и много отрезков, если отрезок пересекает луч то он одного цвета(например зеленый), если НЕ пересекает то другого цвета(например черный)
![]() я сделал так Код:
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но есть проблема, например когда начало отрезка слева от точки луча и конец справа ![]() при этом отрезок может пересекать луч, а может и НЕ пересекать как здесь реализовать проверку на пересечение? |