Код
function IsOneSide(x1,y1,x2,y2:real; xL1,yL1,xL2,yL2:real):Boolean;
begin
if xL1<>xL2
then
begin
IsOneSide:=((y1-yL1+(yL1-yL2)*(x1-xL1)/(xL2-xL1))*(y2-yL1+(yL1-yL2)*(x2-xL1)/(xL2-xL1))>0)
end
else
begin
IsOneSide:=(x1-xL1)*(x2-xL2)>0
end;
end;
begin
if xL1<>xL2
then
begin
IsOneSide:=((y1-yL1+(yL1-yL2)*(x1-xL1)/(xL2-xL1))*(y2-yL1+(yL1-yL2)*(x2-xL1)/(xL2-xL1))>0)
end
else
begin
IsOneSide:=(x1-xL1)*(x2-xL2)>0
end;
end;
Дело в том, что на алголист.мануал.ру где я взял это, нет описания, то есть не сказанно что это:
((y1-yL1+(yL1-yL2)*(x1-xL1)/(xL2-xL1))*(y2-yL1+(yL1-yL2)*(x2-xL1)/(xL2-xL1))>0
Вопрос:
почему если ((y1-yL1+(yL1-yL2)*(x1-xL1)/(xL2-xL1))*(y2-yL1+(yL1-yL2)*(x2-xL1)/(xL2-xL1)) бельше нуля, то точки действтительно лежат с одной стороны от прямой?
---