logo search
Простая замкнутая ломаная кривая

Введение: Перечень основных процедур и функций, используемых в программах

Function S_3(T,B,C:tochka):Boolean;

Функция истина если три точки лежат на одной прямой.

Идея: находим уравнение прямой l, проходящей через точки В и С, и проверяем на принадлежность точки Т прямой l .

Var k1,b1:real;

Begin

If ((B.x=C.x)and(B.x=T.x)) or

((B.y=C.y)and(B.y=T.y))then S_3:=true

else

if B.x=C.x then S_3:=false

else begin

k1:=(B.y-C.y)/(B.x-C.x);

b1:=B.y-k1*B.x;

if round(T.y)=round(k1*T.x+b1) then S_3:=true

else S_3:=false;

end

End;

Function Prin(T,B,C:tochka):boolean;

Функция истина если точка Т принадлежит отрезку ВС.

Идея: Если точка Т лежит на отрезке ВС, то она лежит на прямой проходящей через точки В и С, и заключена между ними.

Begin

If S_3(T,B,C) then

if (((B.x<=T.x)and(T.x<=C.x)) or ((C.x<=T.x)and(T.x<=B.x))) and

(((B.y<=T.y)and(T.y<=C.y)) or ((C.y<=T.y)and(T.y<=B.y)))

then Prin:=true

else Prin:=false

else Prin:=false

End;