turistautak.hu térképrészleteK+ jelzés GPS-szel
[ english
Előzmények

Trackmanhozzászólásai | válasz erre | 2011.09.24 20:33:57 (49793)
Ezt keresed?
http://turistautak.hu/wiki/mpwiz#-c_:_cut
[előzmény: (49792) Old Eye, 2011.09.24 17:31:25]

Old Eyehozzászólásai | válasz erre | 2011.09.24 17:31:25 (49792)
POINT-IN-POLYGON probléma
Megpróbálom középiskolás szinten elmondani. Ábrázoló geometriára csak emléxünk... ;-)
Egy pont helyét két dimenziós koordináta-rendszerben (x,y) formában írjuk le.
Egy egyenes leírásához két ilyen pont elegendő
Egy felület határvonalait pontok sorozatával írjuk le; az elsô és utolsó pont egybeesik, vagy mondhatjuk úgy - bezárul.
Vannak mindenféle képletek, ugye... két pont távolsága, két egyenes metszéspontja... Dereng valami? Ennyi elég is. Nem is kell több. Nem is kell megnézni a képleteket. Bonyik :-|
Kérdés: Hogy lehet megállapítani egy pontról, hogy egy felületen belül vagy kívül van?
Megoldás: Húzzunk a pontunktól egy egyenest bármilyen irányba hosszabban, amennyire a felület legtávolabbi pontja van pontunktól és ujjainkon számoljuk, a vonalunk hányszor metszi a felület határvonalát.
Lássuk be, ha egyszer sem, akkor a pont a felületen kívül van. Ezt nem lehet ragozni. Ez van.
Lássuk be azt is, ha a pontunkból húzott vonalunk a felületnek csak egy határvonalát metszi, akkor a pontunk a felületen belül van. És ha két határvonalat metsz, akkor kívül van. És ezt ragozzuk tovább...
Ha három határvonalat metszünk, akkor a pontunk belül van, ha négyet, akkor kívül, ha ötöt, hetet, kilencet stb akkor belül, ha hatot, nyolcat, tizet stb, akkor kívül; végül is, ha a metszéspontok száma páratlan, akkor a pontunk a felületen belül, különben kívül van.
Ennyi.

Programozástechnikailag a feladat egyik lehetséges megoldása:
(1) Meghatározzuk a pontunk és a felület legtávolabbi határpontjának a távolságát (két pont távolságának függvényével az algoritmus kiszámolja a felület összes határpontjának távolságát pontunktól és veszi a legnagyobb értéket)
(2) A pontunkból képzünk egy másik pontot, amely az elébb meghatározott távolságra van minimum, azaz létrehozunk egy hosszabb egyenest. Iránya érdektelen :-)
(3) Az algoritmus két egyenes metszéspontjának függvényével meghatározza, ez az egyenes a felület határpontjait összekötő egyenesek közül hányat metsz.
(4) Ha a metszések száma páratlan, a pontunk a felületen belül van, különben kívül.

(Programozó matematikusaim! Persze, a mélyvízben nem ennyire egyszerû, de nagyjából ez a lényeg)


Bejelentkezés név:  jelszó:   tárolás [regisztráció]

Felhasználónevedet és jelszavadat a geocaching.hu oldalon is használhatod!

[ kezdőlap ] [ térkép ] [ + felmérések ~ ] [ + útvonalak ~ ] [ + poi ~ ] [ belépés ] [ faq ] [fórum] [email]

A weboldal működése és tartalma folyamatos fejlesztés alatt áll, köszönettel vesszük az észrevételeket a fejlesztési ötletek oldalon.
A turistautak.hu-ra feltöltött track-eket és a letölthető térképeket, azaz térképi adatbázist az ODbL licencnek megfelelően bárki használhatja.
Minden egyéb anyag előzetes írásbeli engedély nélkül csak magáncélra használható fel. jogi tudnivalók