iíiíi Algoritmus poligonok lefedésére téglalapokkal ETO 514.174.3:681.3.06 (Számítógépes adatelőkészítés pattern generátor vezérléséhez)



Hasonló dokumentumok
VII. A határozatlan esetek kiküszöbölése

MATEMATIKA I. KATEGÓRIA (SZAKKÖZÉPISKOLA)

VÉLETLENÍTETT ALGORITMUSOK. 1.ea.

Számsorozatok. 1. Alapfeladatok december 22. sorozat határértékét, ha. 1. Feladat: Határozzuk meg az a n = 3n2 + 7n 5n létezik.

5. Kombinatorika. 8. Legfeljebb hány pozitív egész számot adhatunk meg úgy, hogy semelyik kettő összege és különbsége se legyen osztható 2015-tel?

Matematika I. 9. előadás

(A TÁMOP /2/A/KMR számú projekt keretében írt egyetemi jegyzetrészlet):

Kalkulus I. Első zárthelyi dolgozat szeptember 16. MINTA. és q = k 2. k 2. = k 1l 2 k 2 l 1. l 1 l n 6n + 8

Matematika B4 I. gyakorlat

VI.Kombinatorika. Permutációk, variációk, kombinációk

Rudas Tamás: A hibahatár a becsült mennyiség függvényében a mért pártpreferenciák téves értelmezésének egyik forrása

1. Adatok közelítése. Bevezetés. 1-1 A közelítő függvény

2. fejezet. Számsorozatok, számsorok

Kétoldali hibás Monte Carlo algoritmus: mindkét válasz esetén hibázhat az algoritmus, de adott alsó korlát a hibázás valószínűségére.

Hiba! Nincs ilyen stílusú szöveg a dokumentumban.-86. ábra: A példa-feladat kódolási változatai

Diszkrét matematika II., 3. előadás. Komplex számok

SZÁMELMÉLET. Vasile Berinde, Filippo Spagnolo

A figurális számokról (IV.)

Koordinátageometria összefoglalás. d x x y y

Pályázat címe: Pályázati azonosító: Kedvezményezett: Szegedi Tudományegyetem Cím: 6720 Szeged, Dugonics tér

Hajós György Versenyre javasolt feladatok SZIE.YMÉTK 2011

Elsőbbségi (prioritásos) sor

Sorozatok október 15. Határozza meg a következ sorozatok határértékeit!

Eötvös Loránd Tudományegyetem Informatikai Kar. Analízis 1. Írásbeli beugró kérdések. Készítette: Szántó Ádám Tavaszi félév

1. Írd fel hatványalakban a következõ szorzatokat!

Matematikai játékok. Svetoslav Bilchev, Emiliya Velikova

Innen. 2. Az. s n = 1 + q + q q n 1 = 1 qn. és q n 0 akkor és csak akkor, ha q < 1. a a n végtelen sor konvergenciáján nem változtat az, ha

Az új építőipari termelőiár-index részletes módszertani leírása

3. Sztereó kamera. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Nevezetes sorozat-határértékek

Minta JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ A MATEMATIKA EMELT SZINTŰ ÍRÁSBELI 2. FELADATSORHOZ

Komplex számok. d) Re(z 4 ) = 0, Im(z 4 ) = 1 e) Re(z 5 ) = 0, Im(z 5 ) = 2 f) Re(z 6 ) = 1, Im(z 6 ) = 0

3. SOROZATOK. ( n N) a n+1 < a n. Egy sorozatot (szigorúan) monotonnak mondunk, ha (szigorúan) monoton növekvő vagy csökkenő.

Villamos gépek tantárgy tételei

Integrálás sokaságokon

Kvantum párhuzamosság Deutsch algoritmus Deutsch-Jozsa algoritmus

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

( a b)( c d) 2 ab2 cd 2 abcd 2 Egyenlőség akkor és csak akkor áll fenn

Komplex számok (el adásvázlat, február 12.) Maróti Miklós

16. Az AVL-fa. (Adelszon-Velszkij és Landisz, 1962) Definíció: t kiegyensúlyozott (AVL-tulajdonságú) t minden x csúcsára: Pl.:

Ingatlanfinanszírozás és befektetés

EGYENLETEK ÉS EGYENLETRENDSZEREK MEGOLDÁSA A Z n HALMAZON. egyenletrendszer megoldása a Z

2. Hatványsorok. A végtelen soroknál tanultuk, hogy az. végtelen sort adja: 1 + x + x x n +...

1. A KOMPLEX SZÁMTEST A természetes, az egész, a racionális és a valós számok ismeretét feltételezzük:

Bizonyítások. 1) a) Értelmezzük a valós számok halmazán az f függvényt az képlettel! (A k paraméter valós számot jelöl).

képzetes t. z = a + bj valós t. a = Rez 5.2. Műveletek algebrai alakban megadott komplex számokkal

Kalkulus II., második házi feladat

KAOTIKUS VAGY CSAK ÖSSZETETT? Labdák pattogása lépcsôn

NUMERIKUS SOROK II. Ebben a részben kizárólag a konvergencia vizsgálatával foglalkozunk.

Kombinatorika. Variáció, permutáció, kombináció. Binomiális tétel, szita formula.

Függvénygörbe alatti terület a határozott integrál

BIOMATEMATIKA ELŐADÁS

2. Az együttműködő villamosenergia-rendszer teljesítmény-egyensúlya

Folytonos idejű rendszerek stabilitása

GAZDASÁGI MATEMATIKA 1. ANALÍZIS

18. Differenciálszámítás

Matematikai játékok. Svetoslav Bilchev, Emiliya Velikova

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

V. Deriválható függvények

A matematikai statisztika elemei

Kidolgozott feladatok a nemparaméteres statisztika témaköréből

1 k < n(1 + log n) C 1n log n, d n. (1 1 r k + 1 ) = 1. = 0 és lim. lim n. f(n) < C 3

2. egy iskola tanulói, a változók: magasságuk cm-ben, súlyuk (tömegük) kilóban; 3. egy iskola tanulói, a változó: tanulmányi átlaguk;

forgási hiperboloid (két köpenyű) Határérték: Definíció (1): Az f ( x, y) függvénynek az ( x, y ) pontban a határértéke, ha minden

A statisztikai vizsgálat tárgyát képező egyedek összességét statisztikai sokaságnak nevezzük.

XXVI. Erdélyi Magyar Matematikaverseny Zilah, február II.forduló -10. osztály

Algebra gyakorlat, 3. feladatsor, megoldásvázlatok

RUGALMAS GYÁRTÓRENDSZER ÉS LOGISZTIKAI (ANYAG- ÉS INFORMÁCIÓÁRAMLÁSI) RENDSZER. 1. Rugalmas gyártó- és anyagáramlási rendszerek sajátosságai

Tartalomjegyzék. Pemutáció 5 Ismétléses permutáció 8 Variáció 9 Ismétléses variáció 11 Kombináció 12 Ismétléses kombináció 13

Egy lehetséges tételsor megoldásokkal

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

4. Test feletti egyhatározatlanú polinomok. Klasszikus algebra előadás NE KEVERJÜK A POLINOMOT A POLINOMFÜGGVÉNNYEL!!!

CIVILEK A NYOMTATOTT SAJTÓBAN ÉRDEKÉRVÉNYESÍTÉS A MÉDIÁBAN 1

ALGEBRA. egyenlet megoldásait, ha tudjuk, hogy egész számok, továbbá p + q = 198.

2.2. Indukció a geometriában

REOIL. növeli a transzformátorok élettartamát.

n akkor az n elem összes ismétléses ... k l k 3 k 1! k 2!... k l!

Az iparosodás és az infrastrukturális fejlődés típusai

24. tétel A valószínűségszámítás elemei. A valószínűség kiszámításának kombinatorikus modellje.

VII.Valószínűségszámítási, statisztikai, gráfelméleti alapfogalmak

INJEKTIVITÁS ÉS EGYÉB TULAJDONSÁGOK MEGOLDOTT FELADATOK

FELADATOK A KALKULUS C. TÁRGYHOZ

Stabilitás Irányítástechnika PE MI_BSc 1

A G miatt (3tagra) Az egyenlőtlenségek két végét továbbvizsgálva, ha mindkét oldalt hatványozzuk:

Eseményalgebra, kombinatorika

Gyakorló feladatok II.

EGYENLETEK ÉS EGYENLETRENDSZEREK MEGOLDÁSA A Z n HALMAZON. egyenletrendszer megoldása a

DIGITÁLIS DOMBORZATMODELLEK ELŐÁLLÍTÁSI TECHNOLÓGIÁI ÉS MINŐSÉGI PARAMÉTEREI

A függvénysorozatok olyanok, mint a valós számsorozatok, csak éppen a tagjai nem valós számok,

6. Elsőbbségi (prioritásos) sor

Általános taggal megadott sorozatok összegzési képletei

III. FEJEZET FÜGGVÉNYEK ÉS TULAJDONSÁGAIK

AZ ÉPÜLETGÉPÉSZETI RENDSZEREK ENERGIA-HATÉKONYSÁGÁNAK KÉRDÉSEI

Véges matematika 1. feladatsor megoldások

1. előadás: Bevezetés. Irodalom. Számonkérés. Cél. Matematikai statisztika előadás survey statisztika MA szakosoknak. A matematikai statisztika tárgya

6. Számsorozat fogalma és tulajdonságai

Hosszmérés finomtapintóval 2.

Példa: 5 = = negatív egész kitevő esete: x =, ha x 0

Sorbanállási modellek

f (M (ξ)) M (f (ξ)) Bizonyítás: Megjegyezzük, hogy konvex függvényekre mindig létezik a ± ben

Átírás:

iíiíi á HlftADÁSfCCHNIKAI TUOOHANfOS EGYíSBLIT (APJA KULCSÁR GÁBOR Híradástechikai Ipari Kutató Itézet Algoritmus poligook lefedésére téglalapokkal ETO 514.174.3:681.3.06 (Számítógép adatelőkészítés patter geerátor vezérléséhez) Az LSI-techika fokozott követelméyeket támaszt az itegrált áramköri maszkok miőségével szembe. Az elemsűrűség övekedésével az egy maszkoko található alakzatok száma ő, míg azok méretei és a közöttük levő távolságok csökkeek. Léyeg tehát, hogy az alakzatok leképzése potos és lehetőleg torzításmet legye. A követelméyek kielégítésére világszerte ú. patter geerátorokat alkalmazak. Ezekek több fajtája létezik. A leggyakrabba alkalmazott beredezés ú. mechaikus optikai patter geerátor. A képlemez, amely egy mozgatható asztalo helyezkedik el, egy változtatható méretű, téglalap alakú bledé kerztül megvilágítható. A blede az asztalhoz képt forgatható is. A beredezés tehát gyakorlatilag tetszőleg méretű és közel tetszőleg állású téglalap alakzatok leképzésére alkalmas a képlemez bármely részé. A gép lyukszalaggal vezérelhető. A vezérlés utasításszavak segítségével törtéik. Egy-egy utasításszó egy-egy téglalap leképzését tzi lehetővé a helykoordiáták, méretek és az etleg elforgatás megadásával [lj. Az adatelőkészítés végső célja tehát a vezérlő lyukszalag előállítása. Az itegrált áramköri maszkok övekvő boyolultsága, valamit az adatelőkészítés sorá felmerülő számos optimalizálási és egyéb feladat természete szükségsé tzi számítógép alkalmazását. A tervrajz formájába adott áramköri alakzatokat a számítógép által feldolgozható formára kell hozi. Ez redszerit digitalizálással, az alakzatok csúcspotjai koordiátáiak egy meghatározott körüljárási iráy szeriti felvételével törtéik. A továbbiakba egy-egy alakzat mit számpárok redezett halmaza adott a számítógép számára. A számítógép adatelőkészítés főbb feladatai a következők. 1. A patter geerátor felépítéséből, illetve működési sajátosságaiból következik, hogy a leképzedő alakzatokat olya téglalapok halmazára kell botai, Beérkezett: 1978. X. 28. amelyekek egyítése potosa lefedi az egy alakzatokat, azaz az egyítések kotúrvoalai az illető alakzatok határvoalaival azoosak. 2. A vezérlő lyukszalag elkészítése előtt célszerű bizoyos optimalizálásokat végezi a patter geerátor gépidejéek csökketése, illetve hatékoyságáak övelése érdekébe, majd megfelelő formátumba el kell készítem a vezérlő lyukszalagot. A feti lépések elleőrzése szité számítógéppel lehetség. Ez a dolgozat elsősorba alakzatok téglalapokkal való lefedésével foglalkozik. Olya algoritmus létrehozása volt a cél, amely az alakzat csúcspotjaiak digitalizált koordiátáiból kiidulva meghatározza az alakzatot az alábbi értelembe lefedő, lehetőleg miimális számú téglalap csúcspotjait. A téglalapokak az alakzat mide potját le kell fediük, ugyaakkor em fedhetek le alakzathoz em tartozó potot. Alakzatok osztályozása A feladat boyolultsága szempotjából típusokba sorolhatjuk a maszkoko előforduló alakzatokat. Ortogoális alakzatak evezzük az olya poligot, amelyikek mide oldala párhuzamos valamelyik koordiátategellyel. (Poligoo a továbbiakba olya összefüggő sokszöget értük, amelyek mide csúcsába két-két oldal találkozik.) Az ilye poligoak csak 90 -os vagy 270 -os (belső) szögei vaak. Ortogoális alakzatok téglalap felbotása viszoylag egyszerűe algoritmizálható [1]. A em ortogoális alakzatok közül yilvá csak olyaok fedhetők le a feti értelembe téglalapokkal, amelyekek belső szögei között ics hegyszög. Eze belül gyakorlati szempotból célszerű lehet külö osztályba soroli az olya alakzatokat, amelyek a koordiátategelyekkel párhuzamos oldalako kívül csak a tegelyekkel 45 -os szöget bezáró oldalakat tartalmazak. Az ortogoális és a em ortogoális alakzatok között egyarát előfordulhatak egyszere, illetve többszöröse összefüggő alakzatok is. A em ortogoális alakzatok téglalap lefedése visszavezethető az ortogoális alakzatok lefedésére, 161

HÍRADÁSTECHNIKA XXX. ÉVF. 6. SZ. \H6k3- KS 11 1. ábra ez a módszer azoba, em optimális a patter geerátor gépidejéek szempotjából (1. ábra). A továbbiakba ismertetésre kerülő algoritmus alkalmas iide olya (egyszere vagy többszöröse összefüggő) poligo téglalap lefedésére (az előbbiekbe részletezett értelembe), amely belső szögei között em tartalmaz hegyszöget, tehát amely téglalapokkal ily módo egyáltalá lefedhető. Alakzato a továbbiakba ilye poligot értük. Az algoritmus vázlata 1. eljárás Az alakzat mide egy határoló oldalára olya téglalapot illztük (tehát a téglalap egyik oldala és az alakzat szóba forgó oldala egybe ik), amely telj egészébe az alakzat belsejébe ik, és amely maximális abba az értelembe, hogy mide eél agyobb (területű) téglalap már túlyúla az alakzat határá (2. ábra). 3. eljárás 3. ábra. Egyíthető téglalapok \H6U3-KG3\ Kiszámítjuk a feti eljárások sorá yert téglalapok oldalaiak a többi téglalap oldalaival alkotott metszéspotjait és a kapott potokat beillztjük az egy téglalapokat leíró redezett pothalmazokba. Ha két oldal részbe vagy egészbe egybeik, em vzük figyelembe metszéspotot (4. ábra). A továbbiakba az egy potokat összekötő szakaszokat vizsgáljuk. Ha a téglalapok em fedik le az alakzat mide potját, a feti szakaszok közül kiválaszthatjuk azokat az egymáshoz csatlakozó szakaszokat, amelyek a le em fedett részek határoló oldalait alkotják. Ily módo egy vagy több poligohoz juthatuk. Ha az egy téglalapok körüljárási iráyát az eredeti alakzat körüljárási iráyával megegyezőe vszük fel, továbbá, ha a szakaszok képzéséél az adott egyedarabok iráyítását megtartjuk, az egy poligookat fordított körüljárással kapjuk meg (5. ábra). Az előbbiekek megfelelőe csakis olya metszéspotokat vzük figyelembe, melyek révé keletkező H643-KG2l 2. ábra. ^Maximális" téglalap 2. eljárás Ha több téglalap egyítése téglalap (azaz a téglalapok által együtte lefedett alakzat szité téglalap), akkor ezek helyett egyítésüket vszük. Tehát két téglalapot akkor egyíthetük, ha va két közös párhuzamos oldaldarabjuk (ekkor ezek a szakaszok egybevágóak és végpotjaik egy téglalapot határozak meg), vagy ha az egyik téglalap részhalmaza a másikak. Az utóbbi etbe egyszerűe elhagyjuk a tartalmazott téglalapot (3. ábra). A feti eljárásokból következik, hogy bizoyosa em fedük le alakzathoz em tartozó potokat. Még kell azoba vizsgáluk, hogy a kapott téglalapok az alakzat mide potját tartalmazzák (lefedik)^? Hg^3-K64l 4. ábra. Téglalapok metszéspotjai Hgl4.3-K65 5. ábra. Lefedetle poligo 162

KULCSÁR G.: ALGORITMUS POLIGONOK LEFEDÉSÉRE TÉGLALAPOKKAL szakaszok le em fedett poligook határoldalai lehetek. Köye belátható, hogy azok és csak azok a szakaszok em határoldalai egy lefedetle poligoak, amelyekre az alábbi feltételek valamelyike teljül: a) az adott szakasz az eredeti alakzat határvoalá fekszik, illetve egyik végpotja valamelyik határszakasz belső potja, b) va legalább két olya téglalap, amely az adott szakaszt (belsejébe vagy határvoalá) tartalmazza. Kiválogatjuk azokat a szakaszokat, amelyekre a feti feltételek egyike sem teljül. Ha em találuk ilye szakaszt, a. téglalapok telj egészébe lefedik az alakzatot. A kapott szakaszokat kezdő- és végpotjaik összehasolításával, az egy lefedetle poligookak megfelelő, függetle ciklusokba redezzük (5. ábra). Az 1. eljárásból következik, hogy a lefedetle poligook midig egyszere összefüggőek. 4. eljárás A kapott lefedetle poligookat külö-külö megpróbáljuk lefedi egyetle befoglaló téglalappal [2]. A befoglaló téglalap egyik oldala a poligo valamelyik oldalegyeére ik és miimális azo téglalapok között, amelyek a poligot tartalmazzák (6. ábra). Ha a poligot valamely oldalegyee felbotja, természete em ültethetük rá befoglaló téglalapot. 6. ábra. Befoglaló téglalap Ha a befoglaló téglalap túlyúlik az eredeti alakzat határá, egy másik befoglaló téglalappal kísérletezük. Kísérletezhetük ortogoális állású befoglaló téglalappal is, melyek oldalai párhuzamosak a koordiátategelyekkel. Külööse szerecsés etbe a lefedetle poligo maga egy téglalap. 5. eljárás Ha em találuk olya befoglaló téglalapot, amely telj egészébe az eredeti alakzat belsejébe ik, az 1. eljáráshoz hasoló műveletet hajtuk végre. A művelet előtt a poligo körüljárását megfordítjuk. A poligo mide egy oldalára téglalapot illztük. A közös oldal iráyítását megtartjuk, tehát a téglalap körüljárása megegyezik a poligoéval, ami más szóval azt jeleti,_hogy a téglalap a poligooldal belső partjá fekszik. A téglalapok túlfedhetik a poligot, csak arra ügyelük, hogy az eredeti alakzat határá e yúljaak túl. 6. eljárás Az újoa kapott téglalapoko a 2. eljárást. 7. eljárás végrehajtjuk Megvizsgáljuk, hogy a kapott téglalapok lefedik-e a poligot. A 3. eljárást hajtjuk végre a poligora szorítkozva. Ez azt jeleti, hogy mivel az új lefedetle alakzatot a poligo belsejébe kersük, csakis olya metszéspotokat (illetve szakaszokat) vzük figyelembe, amelyek a poligo belsejébe ek. 8. eljárás Ha ismét találuk lefedetle alakzatot, megismételjük a 4 7. eljárásokat. Mivel a feti eljárások sorá az újoa kapott lefedetle poligook valódi részhalmazai a megelőző ciklusba kapott lefedetle poligookak, a lefedetle részek területe a ciklusok sorá szigorúa mooto csökke, tehát vég számú ciklus utá találuk olya befoglaló téglalapokat, amelyek telj egészükbe az eredeti alakzat belsejébe ek. Az eljárásból következik, hogy már a második ciklus utá em kaphatuk olya lefedetle poligot, amelyek valamelyik csúcsa az eredeti alakzatak is csúcsa. Az algoritmus matematikai leírása 1. eljárás A továbbiakba feltételezzük, hogy az alakzat csúcspotjaiak koordiátái által adott, továbbá, hogy az egy csúcspotok x és y koordiátái pozitív (az óramutató járásával elletét) körüljárási iráy szerit követik egymást. Ez azt jeleti, hogy a körüljárási iráy meté haladva az alakzat határvoalá az alakzat belseje íidig a bal oldalra ik. A körüljárási iráy megválasztása tetszőleg, de a továbbiak-, ba ragaszkodi kell hozzá. Az egy csúcspotokat egy-egy vektor végpotjáak tekithetjük, így az alakzat i-edik oldalát a körüljárási iráy szerit leíró vektor i= r «+i- r i> (1) ahol: Tj és r i+1 az alakzat sorredbe egymás utá következő csúcspotjaiba mutató vektorok (7. ábra). (Az N csúcspotból álló alakzat r N + 1 potjá r-^et értjük.) Az i-edik oldal potjait az rj + ci O^csSl (1.2) vektorok futják be, ahol c valós szám. Ha t kooridiátái ix és ly, akkor egy az j-re merőleg és az alakzat belseje felé mutató V; vektor kooridátái: v *=-">y (ímhv,!). <i.3) v iy = ix Az j oldal végpotjaiba az oldal belső partjára állított merőleg félegyeek által meghatározott 163

., I«ÍSADASTECHNIKA -XXX. J$VF. : 6. sz^ c(*) = Ui-rj ^rj + iij-iij-a- (1.7) Szorozzuk meg (1.6)-ot vektorálisa j-vel, fejezzük ki t-v. t(k)=, X^j, X íj+( ; X j)-k majd (1.8) ((j-j) yilvá sohasem zérus). (1.7)-ből k-t kifejezve kapjuk: Ilj-Uj 7. ábra (1.7), (1.8) és (1.9) alapjá megvizsgálhatjuk Hj elhelyezkedését a sávhoz képt. Ha (i.])=0, tehát, párhuzamos a sávot határoló félegyeekkel, akkor a számítások egyszerűsítése végett em vizsgáljuk tovább j-t. A szükség iformáció megszerzéséhez az j-hez csatlakozó oldalak vizsgálata is elegedő. a),-ek ics közös potja a sávval, ha: i(0)==0 és í(l)^0, vagy c(0)^0 és c(l)^0, vagy c(0)sl és c(l)sl. li 8. ábra i IH 643-KG fll sáv potjait (8. ábra) a következő kifejezés írja le: r,+c,+fv, í=-0, (1.4) ahol t valós szám. Az i-edik oldalra illztedő, az előbbiekbe ismertetett értelembe maximális" téglalap a feti sávba helyezkedik el, és egyik mérete az í-edik oldal hosszúsága. A téglalap másik méretét az i-edik oldalhoz legközelebb ő, 1 a sávo belül levő határpot és az oldal távolsága adja. Az alakzat, oldalát az rj+ímj és O^frsl, (1.5) vektorok futják be, ahol k valós szám. Ha az j oldal vagy aak egy része a feti sávba helyezkedik el, akkor vaak olya c, t, k számok, amelyekkel feáll az r,+c 1 +fv i =r j - -/r J, (1.6) egyelőség és amelyekre teljülek á kirótt feltételek. Szorozzuk meg (1.6)-ot skalárisá %-vel, majd fejezzük ki c-t! * b) j-ek mide potja közös a sávval, ha: f(0)>0 és f(l)>0, 0=Sc(0)= l és 0= c(l)sl. c) j metszi a sáv határát (vagy határait), ha: í(0)>0 vagy Í(1)>0, 0=s/c(0)sl vagy Os(l)Sl. Ha ab) et teljül, f(0) és í(l) közül a kisebbiket tároljuk. Ha a c) et teljül, akkora/r=0, k=\, k=k(0) és k=k(l) értékek közül csak kettőél teljülek egyidejűleg a c-re és f-re kirótt feltételek is. A megfelelő két t érték közül a kisebbiket tároljuk. A feti vizsgálatokat mide /-re elvégezzük (kivéve a j=i l, j=i, j=i+l értékeket, hisze ezeket vizsgáli felleg) és a kapott t értékek közül csak a legkisebbet tartjuk meg. Az i-edik oldalra illztedő maximális" téglalap csúcspotjai a körüljárási sorredbe: (1.10) ahol: t és v, a fetiek alapjá meghatározott. A feti eljárást az alakzat mide oldalára végrehajtjuk. 2. eljárás Párokét megvizsgáljuk az 1. eljárással kiszámított és csúcspotjaik helyvektorai által mégadott téglalapokat. 164

KULCSÁR G.: ALGORITMUS POLIGONOK LEFEDÉSÉRE TÉGLALAPOKKAL 9. ábra H 643-KG9\ Legye az í-edik és /-edik téglalap az r l> x 2> f 1 3» i' ri; r^; rj; 4, (2.1) helyvektorok által adott. Azt is modhatjuk, hogy egy-egy téglalapot az a,=4-ri; b^ri-ri, (2-2) vektorok fzíteek ki (9. ábra) (az 1. eljárás alapjá a^iii és b,=í.v,). A téglalap területe: 3, i=b l Xb,=fl ta '6i y -V 6 i»' < 2-3 ) Kiszámítjuk az i-edik és a /-edik téglalap területét és megvizsgáljuk, hogy a agyobb területű téglalap tartalmazza-e a kisebb területűt. Ha ige, a kisebb területű téglalapot elhagyjuk. Tegyük fel, hogy T^T,! Az i-edik téglalap akkor és csak akkor tartalmazza a /-ediket, ha aak mide r, csúcspotját tartalmazza (Z= 1, 2, 3, 4). Ez azt jeleti, hogy vaak olya c és k valós számok, melyekre caj+a.b^rj-r 1!;' O^c, = 1. (2.4) Szorozzuk meg (2.4)-et skalárisá a r vel és fejezzük ki c-t! c= ai-rj-a,.^ (2.5) Szorozzuk meg (2.4)-et skalárisá b r vel és fejezzük ki k-t! k = b,.r,-b rri (2.6) bibi Ha valamelyik q-re vagy Ay-re em teljül a kirótt feltétel a /-edik téglalapot az z'-edik em tartalmazza. Az z'-edik és a /-edik téglalap egy téglalappá egyíthető, ha a c r ek (vagy a A,-ek) között em fordul elő 0-tól vagy 1-től külöböző szám, és a A,-ek (vagy a c,-ek) közül kettőre teljül a kikötés. Ekkor a két téglalapot egyítjük. A csúcspotok meghatározása a következőképpe törtéik. Ha az a két c, (vagy A,), amelyekre a kikötés em teljül egatív, a csúcspotok a körüljárási iráy szerit: Wi» HÍJ r 2> r 3> (2.7) (vágy 'rj,; r} a ; r^), (2.8) ahol: Z X <Z 2 azokhoz a potokhoz tartozó idexek, amelyekél a kikötés em teljült. (Kivétel: Z x =4, Z 2 =l.) Ha ez a két Cj (vagy A^, amelyekre a kikötés em teljül pozitív, a csúcspotok á körüljárási iráy szerit: r 4> I i>_ r íi yí^li > (2.9) (vagy r2> i ríi>i- r í»)> (2.10) ahol: Zj<Z 2 azokhoz a potokhoz tartozó idexek, amelyekél a kikötés em teljült. (Kivétel: Zj=:4; Z 2 =l.) A feti eljárást mide i-re, illetve egy-egy rögzített i-él mide />i-re el kell végezi. 3. eljárás Legyeek az i-edik téglap csúcspotjai a körüljárási iráy szerit az rí; 4; 4; rj,, (3.1) vektorok által adottak. Ekkor a téglalap Z-edik oldalát leíró vektor hri + 1 -rj. (3.2) Ha az i-edig téglap Z-edik oldaláak és a /-edik téglalap m-edik oldaláak va metszéspotja, akkor vaak olya c és k valós számok, melyekkel rj- -c.i=ri+/c.^; 0<c, A<1. (3.3) Szorozzuk meg (3.3)-at vektorálisa ^-mel és fejezzük ki c-t! (ijxq-táxl) (3.4) Szorozzuk meg (3.3)-at vektorálisa j-lel és fejezzük ki A-t! k= (ri, XÍ)-(r;x'i) (3.5) (3.4) és (3.5) evezőjébe álló ('lxi,) formálisa egy vektor, valójába az (jx-iiy "ly'^mx) kifejezés rövidített írásmódja. Hasoló voatkozik a számlálóra is. Ha jxj=0 ez azt jeleti, hogy a két oldal párhuzamos vagy egy egyebe ik; ekkor em vzük figyelembe metszéspotot. Kiszámítjuk c és k értékét, majd megvizsgáljuk, hogy midkettő 0 és 1 közé ik-e. Ha ige, kiszámítjuk a metszéspotot pl. (3.3) bal oldala alapjá. Ha c=l és 0<A<1, vagy A=l és 0<c<l), akkor csak (jx "m)*^ ( va y ('ixi,)>0) eté vzük figyelembe metszéspotot. Hasolóa hac=0és0-ea--=l (vagy A=0 és 0<c<l), akkor csak (jx^^-o (vagy (jx,)<0) eté vzük figyelembe metszéspotot. A továbbiakba a téglalapok egy oldalait külöálló szakaszokak tekitjük, amelyek kezdő- és végpotjaik által adottak. A kezdő- és végpotok megkülöböztetésével a szakaszok iráyítását is rögzítettük. Ha két szakasz metszi.egymást, a metszéspotot bzúrjuk a kezdő- és végpotok közé, ezáltal új szakaszok jöek létre. A feti műveleteket mide szakaszpárra el kell végezi, beleértve az eljárás sorá létrejövő új szakaszokat is! A kapott szakaszok 165

HÍRADÁSTECHNIKA XXX. ÉVF. 6. SZ. közül kizárjuk azokat, amelyek em lehetek le em fedett poligook határoldalai. aj Legyeek az eredeti alakzat i-edik oldaláak végpotjai i, és r i+1 továbbá a vizsgált szakasz végpotjai r t és r 2. A vizsgált szakaszt kizárjuk, ha a következő feltételek teljülek: és és és ( r i+i- r i)x(r 2 -r 1 )=0, - (3.6) (i-i+i- r i)x(r i+1 -r 2 )=0, (3.7) (3.8) (» 1 + I-'I)-(ÍI-»I)^0, (3.9) tehát ha a szakasz az alakzat határvoalá fekszik, továbbá ha: vagy («W- r i)x(r i+1 -r 2 ) = 0; (r 2^r i+1 ), (3.10) fo+i-'dxfa+i-'i)^; (r 1? ír i+1 ), (3.11 vagyis ha a szakasz valamelyik végpotja az alakzat határvoalára ik. A vizsgálatot az eredeti alakzat mide oldalára el kell végezi. b) Egy téglalap tartalmaz egy szakaszt, ha aak midkét végpotját tartalmazza. Az a) vizsgálat végrehajtása utá megmaradó szakaszok közül kizárjuk azokat, amelyeket legalább két téglalap tartalmaz. A 2, eljárásba leírt módszer segítségével megvizsgáljuk, hogy egy adott szakasz végpotjait egy-egy téglalap tartalmazza-e. Ha már két ilye téglalapot találtuk, a vizsgálatot az adott szakaszra em kell folytati. Az a) és b) viszgálatok utá megmaradó szakaszok közül ki kell válogati azokat a szakaszokat, amelyek ugyaaak a lefedetle poligoak a határoldalai és ezeket a körüljárási iráy szerit sorba kell redezi. Az eljárás a következő: Kiválasztuk egy szakaszt és a többi közül kikersük azt a másik szakaszt, amelyikek a kezdőpotja megegyezik a kiválasztott szakasz végpotjával. A műveletet addig folytatjuk, amíg az egyik kikerett szakasz végpotja meg em egyezik a tóválasztott szakasz kezdőpotjával. Végül a kapott poligo körüljárási iráyát megfordítjuk. A feti eljárást addig ismételjük, amíg az össz szakaszt fel em haszáltuk, azaz az össz lefedetle poligot meg em kaptuk. Ha az előzőek sorá egy szakaszt többször is megkaptuk, a poligook képzéséél csak egyszer vzszük figyelembe. í. eljárás Legye a lefedetle poligo í-edik oldaláak két végpotja r, és r i+1. A poligo z'-edik oldalára csak akkor fektethetük befoglaló téglalapot, ha a poligo mide csúcsa az oldalegyeek ugyaarra a partjára ik (6. ábra). Teljülie kell tehát a következő feltételek: mide /-re. Legye O-i+x-^XOj-r^sO, (4.1) i= r i+i- r i í ( 4-2 ) Ha valamelyik oldalra teljül a (4.1) feltétel mide /-re kiszámítjuk az (4.3) meyiséget és ezek közül a legagyobbat tároljuk, majd mide /-re kiszámítjuk az Sj=JV(rj-ri)> (4-4) meyiséget és ezek közül a legagyobbat és a legkisebbet tároljuk. A befoglaló téglalap csúcspotjaiak helyvektorai (körüljárási iráy szerit): ahol: -j j-i i-iij I W * = (-/! iy ; ix ), i' i * (4.5) ( ix és iy az ; vektor koordiátái). Miutá kiszámítottuk a befoglaló téglalapot meg kell vizsgáluk, hogy a kapott téglalap em yúlik-e túl az eredeti alakzat határá. Ha a befoglaló téglalap egyik oldala metszi az eredeti alakzat valamelyik oldalát, a téglalap túlyúlik az alakzat határá. Ezt a vizsgálatot a 3. eljárásba leírt módszerrel végezzük. Ha a befoglaló téglalap túlyúlik az alakzato, akkor a lefedetle poligo másik oldalára próbáluk befoglaló téglalapot illztei. Az ortogoális állású befoglaló téglalap csúcspotjaiak koordiátái (körüljárási iráy szerit): ( *-mi» í/ml)» (^itiax' Umla)' ( x max> í/max)> ( x mi> í/max)» (4.7) ahol: x mi, f/ max stb. a lefedetle poligo csúcspotjai koordiátáiak miimális, illetve maximális értékei. 5. eljárás Az 5. eljárás az 1. eljárástól midössze abba külöbözik, hogy itt, helyébe a lefedetle poligo egy oldalait, j helyébe pedig az eredeti alakzat össz oldalát helyettítjük. 6. eljárás A 6. eljárás a 2. változtatás élküli végrehajtása az újoa kapott téglalapokra. 7. eljárás A 7. eljárás sorá a 3. eljárásba megadott módszerrel felderítjük a metszéspotokat, illetve a szakaszokat. A továbbiakba eltekitük azoktól a sza- 166

KULCSÁR G.: ALGORITMUS POLIGONOK LEFEDÉSÉRE TÉGLALAPOKKAL kaszoktól, amelyekre a 3. eljárás a) vagy b) feltétele teljül, valamit azoktól, amelyekre az alábbi c) feltétel teljül: c) a szakasz egyik (vagy midkét) végpotja a lefedetle poligoo kívül ik. Azt, hogy egy p-pot a (pozitív körüljárású) r x, r 2,..., r N poligohoz képt külső pot-e vagy sem, a következőképpe dötjük el. Kiválasztjuk a poligoak a pothoz legközelebb ő oldalát. Ha a pot az oldal (körüljárási iráy szeriti) külső partjá fekszik, akkor külső, egyébkét belső vagy határpot. Legye ^r^-r, (7.1) a poligo i-edik oldala. Ha teljül az r(p- r i)^0> (7.2) i-(p-r i + 1 )^ 0 ' (7.3) feltétel, tehát a potból az oldalegyere bocsátott merőleg talppotja az oldal belső potja, akkor kiszámítjuk és tároljuk a ix(p-ri),. ; (7.4) meyiséget. Ez a p pot távolsága az i-edik oldaltól. Jelöljük Hj-vel a miimális íj-hez tartozó oldalt! Ekkor jx(p-rj)<0, (7.5) jx(p-rj)>0, (7.6) ^p-r^o, (7.7) eté a p pot redre külső, belső, illetve határpot. 8. eljárás A 4 7. eljárásokat mide lefedetle poligora végrehajtjuk (beleértve az etleg újoa keletkezőket is) addig, míg végül em keletkezik új lefedetle poligo, illetve az egyetle befoglaló téglalappal lefedhető. Összefoglalás Az ismertetett algoritmus egyedül azt tételezi fel a lefededő alakzatokról (közöség poligo), hogy azok teljítik a bevezetőbe a szögekre kirótt korlátozó feltételt. Ezek szerit tehát többszöröse összefüggő alakzatok előfordulását is megegedtük, ami azt jeleti, hogy az alakzatokat és azok ú. kifordított képét" egyarát kezeli tudjuk. Egy alakzat kifordításáál" midössze az eredeti körüljárási iráyokat kell megfordítai; ezáltal az alakzat belsejéből" az alakzat külseje" lz és viszot. 10. ábra. Az 1. ábrá látható alakzat lefedése a dolgozatba Ismertetett eljárással Mivel az algoritmus alapjá működő számítógépi program egy agyobb adatelőkészítő programredszer részét képezi, szükség, hogy a számítógép automatikusa elleőrizze a szögkritérium teljülését. Erre alkalmas a következő egyszerű vizsgálat. Ha az r 1 5 r 2, r N csúcspotokkal redelkező poligo i-edik csúcspotjába találkozó i _ 1 =r i r i _ 1 és i=r i+1 Tj oldalvektorokra i-^-co, ix^j^o, akkor az i-edik csúcspotál levő szög hegyszög. A vizsgálatot mide i-re el kell végezi. További egyszerű vizsgálatokkal (pl. az alakzat határvoala zártságáak vizsgálata) elvégezhetjük a digitalizálás számítógépi elleőrzését is. A téglalapfelbotás elleőrzése törtéhet a kapott téglalapok egyítése kotúrvoaláak kiszámításával (etleg felrajzolásával) és összehasolításával az eredeti alakzat határvoalával (10. ábra). Összehasolítva az 1. és a 10. ábrát láthatjuk, hogy az ismertetett algoritmus a gyakorlatba legsűrűbbe előforduló etekbe optimális (miimális számú téglalap) megoldást yújt. Az itegrált áramköri maszkoko időkét előfordulak olya alakzatok is, amelyek tartalmazak hegyszögeket is vagy görbzakaszokat. Az ilye alakzatok leképzése csak közelítőleg lehetség. Tekitettel arra, hogy ezek az alakzátok redszerit speciális célokat szolgálak (tztábrák stb.), közelítő lefedésükre em érdem általáos algoritmust kidolgozi, ikább az a célszerű, ha ezeket az alakzatokat egyedileg kezeljük az általuk eléri kívát későbbi hatás vagy eredméy szempotjait figyelembe véve. IRODALOM [1] FeketéméLosoczi Sarolta: Számítógéppel segített itegrált áramköri maszk felbotó programredszer patter geerátor vezérlésére. Átmiősítő dolgozat. HIKI 1977. [2] Michael Adamowicz Atoio Albao: Ntig two dimioal shap i rectagular modul. Computer Aided Dig, 8. k. 1. sz. 1976. pp. 27 33. 167