poligon

8 отговора 319 прегледа
#1

poligon

mojete li da mi pomognet: tryabwa mi functin koiato da proweriawa dali edna to4ka sas zadadeni koordinati se namira w daden polygon.
Blagodaria predwariteno.

Отговор
в отговор на neznaiko #2

Re: poligon

Moze i da namerish neshto na tozi adres [линк].
Uspeh.

Отговор
в отговор на neznaiko #3

Re: poligon

znachi gledai sega

1) ako poligona ti e izpaknal - tochkata e v nego ako kato svarjesh neia sas vsickite mu varhove sumata ot licata na triagalncite e ravna na liceto na poligona(liceto na poligona da recem mojesh da go smetnesh sas formulata za sumirane na licata na orientiranite mu trapci ). Tova nesto raboti samo za izpaknal.

2) ako ne e izpaknal - puskash lach ot tochkata v proizvolna posoka(hubavo e da se izhitrish i da go pusnesh v horiontalna da recem 8-) i broish broia na presichaniata sas stranite na poligona - ako tozi broi e ceten to tochkata e vatre, ako ne e cheten to tia e van. Celta da go pusnesh horizontalno e za da mojesh lesno da opredeliash dali presicha dadena strana na poligona. Da recem che go puskash nadiasno. Znaci toi presica edna strana kogat dvata i kraia sa v razlicnite poluravnini opredeleni ot poligona. Ima obache razni "izrodeni" slucai kogato lachat minava da recem prez vryh na poligona - togava triabva da mojesh da kajesh dali vliza v nego ili izliza. Drugiat problem e kogato savpada s niakoia ot stranite na poligona. Chestno kazano samo taka s dumi ne moga da ti obiasna vseki ot slucaite bez kartinki. Te biaha mai okolo 6. Hubavoto na tova e che e lineino po broia na stranite na poligona i raboti daje i za neizpaknali poligoni. Dano si shvanal ideiata po princip samo go pisal tova i moga da go izrovia niakade iz sourcovete ako sam po-nastoiatelen 8-)))

Отговор
в отговор на xenomeno #4

Re: Polygon

Благодаря ти за подробното описание!
И аз мислех да подходя по подобен начин ако се наложи да я поша, но в главата ми се върти спомн, че такава функция я имаше готова или в АPI или в STL или Бог знае къде.
Та за това питам в клуба, ако някой се сеща за тази функция да ме подсети и мен.

Отговор
в отговор на neznaiko #5

Re: poligon

Ако става дума за Win32 и GDI, то можеш да използваш функцията

BOOL PtInRegion(
HRGN hrgn, // handle to region
int X, // x-coordinate of point
int Y // y-coordinate of point
);

За целта обаче трябва да направиш регион от точките на полигона с функция

HRGN CreatePolygonRgn(
CONST POINT *lppt, // array of points
int cPoints, // number of points in array
int fnPolyFillMode // polygon-filling mode
);


Cheers

Отговор
в отговор на neznaiko #6

Re: poligon

Algoritymyt e pochti syshtiyat, kato metoda na skanirashtata liniya za zapylvane na proizvolen poligon. Nameri si go v nyakoya knijka, napr. uchebnika na Evgeniy Lukipudis.
Sys sigurnost takiva neshta v STL nyama.

Отговор
в отговор на neznaiko #7

Re: Polygon

mda kakto kaza emigranta edva li ima v STL takova nesto - po princip ne zatova e pisan a za strukturi ot danni. Inache v WIN API-to ima takova kakto niakoi drug kaza no cestno kazano ne sam se interesuval vatre kakvo vsatnost pravi za da otgovori 8-)

Отговор
в отговор на arx #8

Благодаря на всички,

това е функцията, която имх предвид.
Ще ми свърши работа.
Още веднъж благодаря!


Отговор
в отговор на neznaiko #9

Re: poligon

edin priqtelski sywet ako ti trqbwa skorost pri izpylnenieto na tazi funkciq ne izpolzwai tazi funkciq po dobre si q napi6i move i da ne move6 da q napi6e6 po dobra ot tqhnata no 6te q optimizira6 ot towa 4e na teb 6te ti trqbwa za nqkoi komkretni slu4ai a towa s wyrha se izbqgwa kato prieme6 4e toi prinadlevi kym edna ot dwete strani

Отговор