OT : Delphi polygon
Foldesi Tamas
sfthomas at sch.bme.hu
Thu Mar 25 21:33:35 CET 2004
Úgy van. :))
AT> Hali!
AT> Jonak tunik, de miert kell random? Ugy ertem, az eljaras *tetszoleges*
AT> egyenessel mukodik. Tehat valasszunk egy egyszerut, pl. viszinteset, vagy
AT> fuggolegeset. Sokkal egyszerubbe valik minden szamitas.
AT> Udv,
AT> Tantos Andras
AT> http://andras.tantos.homedns.org
>> Egy gyakran használt megoldás: a pontokból oldalegyeneseket képzel. Ha
>> megvannak az egyenesek, akkor fogod a pontot, azon keresztül random
>> húzol egy egyenest. Nomármost ennek a random egyenesnek a
>> metszéspontjait kiszámolod az oldalegyenesekkel. Aztán megnézed, hogy
>> ebbõl mik a valódi metszéspontok (amik tényleg az oldalakra esnek, nem
>> az oldal meghosszabbítására...). Ezt úgy lehet, hogy x v. y
>> koordinátákat nézel, és így a metszéspontnak a szakasz két végpontja
>> között kell lenni. Tehát megvannak a valódi metszéspontok. Nézd meg
>> azt, hogy hány valódi pont van a random egyenesen lévõ kérdéses pont
>> két oldalán. Ha mindkét oldalon páratlan van, akkor a pont benne van a
>> poligonban. Ha páros a pontok száma, akkor kívül van. Hogy mi van
>> akkor, ha a két oldalon különbözõ a paritás? Most következik:
>>
>> Elõfordulhat, hogy a random egyenes pont egy csúcsponton megy
>> keresztül. Ez zavart kelthet, ezért úgy definiáld a valódi
>> metszéspontokat, hogy egy szakaszhoz mindig csak az egyik végpontja
>> tartozzon. Ekkor minden mûxik jól, ugyanolyan lesz a két oldalon a
>> paritás :)
>> Azért ilyen bonyolult az algoritmus, mert ez tud kezelni konkáv
>> poligont is, nemcsak konvexet.
>> Ha lerajzolod, akkor jobban megérted.
>> Sok szerencsét!
>>
>> Üdv: F.Tamás
>> BZ> Sziasztok !
>>
>> BZ> Tudna valaki segiteni ? Egy kiértékelo
>> BZ> algoritmust keresek ami egy poligonról
>> BZ> megmondja, hogy egy adott koordináta
>> BZ> bele esik-e vagy sem . A koordináták
>> BZ> TPoint tömben vannak ugye, és max 6
>> BZ> vertexrol lenne szó.
>> BZ> Egy 7segLED decoder tervezöhöz kellene
>> BZ> ( Hogy ne legyen annyira OT )
>>
>> BZ> Üdv. Zoli
>>
>>
>>
>>
More information about the Elektro
mailing list