Проверка пересечения двух отрезков

Previous  Top  Next

    
 

 

Code:

{ **** UBPFD *********** by kladovka.net.ru ****

>> Проверка пересечения двух отрезков

 

X1,Y1,X2,Y2 - координаты первого отрезка

X3,Y3,X4,Y4 - координаты второго отрезка

Возвращает True, если отрезки пересекаются, иначе - False.

 

Зависимости: System

Автор:       Fenik, fenik@nm.ru, Новоуральск

Copyright:   Николай Федоровских

Дата:        24 ноября 2005 г.

********************************************** }

 

function CrossLines(X1,Y1,X2,Y2, X3,Y3,X4,Y4: Integer): Boolean;

begin

Result := (((X3-X1)*(Y2-Y1) - (Y3-Y1)*(X2-X1)) *

            ((X4-X1)*(Y2-Y1) - (Y4-Y1)*(X2-X1)) <= 0)

           and

           (((X1-X3)*(Y4-Y3) - (Y1-Y3)*(X4-X3)) *

            ((X2-X3)*(Y4-Y3) - (Y2-Y3)*(X4-X3)) <= 0)

end;

 

©Drkb::04129