Детёныши ВП

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Детёныши ВП » Геометрия » точка относительно многоугольника


точка относительно многоугольника

Сообщений 1 страница 8 из 8

1

var x1,y1,x0,y0,z1,z2,z3,z4,xmin:real;
i,n,k:longint;
p:boolean;
x,y:array [1..10000] of real;

function max(a,b:real):real;
begin
if a>b then max:=a
       else max:=b;
end;       

function min(a,b:real):real;
begin
if a<b then min:=a
       else min:=b;
end;

begin
readln(n);
for i:=1 to n do read(x[i],y[i]);
readln(x0,y0);
p:=false;

x[n+1]:=x[1];
y[n+1]:=y[1];

for i:=1 to n do
if ( (x0-x[i])*(y[i+1]-y[i])-(y0-y[i])*(x[i+1]-x[i])=0)
and(min(x[i],x[i+1])<=x0)and(x0<=max(x[i],x[i+1]))
and(min(y[i],y[i+1])<=y0)and(y0<=max(y[i],y[i+1])) then begin p:=true; break; end;

if p=true then writeln('Ha')
          else begin

xmin:=x[1];

for i:=2 to n do
xmin:=min(xmin,x[i]);

x1:=xmin-1;
y1:=y0;

if x1=x0 then x1:=x1-1;
k:=0;

for i:=1 to n do begin

z1:=(x[i]-x0)*(y1-y0)-(y[i]-y0)*(x1-x0);
z2:=(x[i+1]-x0)*(y1-y0)-(y[i+1]-y0)*(x1-x0);
z3:=(x0-x[i])*(y[i+1]-y[i])-(y0-y[i])*(x[i+1]-x[i]);
z4:=(x1-x[i])*(y[i+1]-y[i])-(y1-y[i])*(x[i+1]-x[i]);

if ((z2=0)and (z1>0)and(x[i+1]<=x0)and (x[i+1]>=x1)) or((z1=0)and(z2>0)and(x[i]<=x0)and(x[i]>=x1)) then k:=k+1
                                        else if (z1*z2<0)and(z3*z4<0)then k:=k+1;
end;
if k mod 2=1 then writeln('Vnutri')
             else writeln('Vne');
end;
end.

0

2

у барбары стырил?

-1

3

нет дурак только ты у всех тыриш   а я сам писал

0

4

блин щуля с янушем как всегда жгУт))))

0

5

ты ЦЕНЗУРа?
Мы с поляковым всё сами писали.а вот чё у тя задачи написаны сразу после барбары эт я не знаю

-1

6

Kingstone написал(а):

Мы с поляковым всё сами писали.

уже МЫ может только поляков писал а ты сидел и пиздел

0

7

[mod] шуль получаешь предупреждение за флуд[/mod]

а то пиздиш слишком много

0

8

кста да шуль0, за тебя всё поляков делает а то просто отдыхаешь

0


Вы здесь » Детёныши ВП » Геометрия » точка относительно многоугольника