Alapmű veletek te rbeli adatokkal

Hasonló dokumentumok
Csoportosítás. Térinformatikai műveletek, elemzések. Csoportosítás. Csoportosítás

Számítógépes Grafika SZIE YMÉK

Termék modell. Definíció:

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria III.

17. előadás: Vektorok a térben

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

Cohen-Sutherland vágóalgoritmus

Matematika (mesterképzés)

2014/2015. tavaszi félév

QGIS. Tematikus szemi-webinárium Térinformatika. Móricz Norbert. Nemzeti Agrárkutatási és Innovációs Központ Erdészeti Tudományos Intézet (NAIK ERTI)

TÉRINFORMATIKA II. Dr. Kulcsár Balázs Ph.D. adjunktus. Debreceni Egyetem Műszaki Kar Műszaki Alaptárgyi Tanszék

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.

Matematika szóbeli érettségi témakörök 2016/2017-es tanév őszi vizsgaidőszak

Matematika A1a Analízis

Láthatósági kérdések

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

2016/2017. Matematika 9.Kny

Hajder Levente 2017/2018. II. félév

Robotika. Kinematika. Magyar Attila

10. Koordinátageometria

2016/2017. Matematika 9.Kny

Egyenes mert nincs se kezdő se végpontja

Képszerkesztés elméleti kérdések

TÉRINFORMATIKAI ALGORITMUSOK

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Mezők/oszlopok: Az egyes leíró adat kategóriákat mutatják.

SZAKKÖZÉPISKOLA ÉRETTSÉGI VIZSGRA FELKÉSZÍTŐ KK/12. ÉVFOLYAM

Transzformációk síkon, térben

Koordináta-geometria feladatok (emelt szint)

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Összeállította: dr. Leitold Adrien egyetemi docens

Transzformációk, amelyek n-dimenziós objektumokat kisebb dimenziós terekbe visznek át. Pl. 3D 2D

Tárgy. Forgóasztal. Lézer. Kamera 3D REKONSTRUKCIÓ LÉZERES LETAPOGATÁSSAL

Matematika osztályozó vizsga témakörei 9. évfolyam II. félév:

Koordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:

Transzformációk. Grafikus játékok fejlesztése Szécsi László t05-transform

TÉRINFORMATIKAI ALGORITMUSOK

1. GONDOLKODÁSI MÓDSZEREK, HALMAZOK, KOMBINATORIKA, GRÁFOK

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

MATEMATIKA TANMENET 9.B OSZTÁLY FIZIKA TAGOZAT HETI 6 ÓRA, ÖSSZESEN 216 ÓRA

16. tétel Egybevágósági transzformációk. Konvex sokszögek tulajdonságai, szimmetrikus sokszögek

Csoportmódszer Függvények I. (rövidített változat) Kiss Károly

Exponenciális, logaritmikus függvények

Számítógépes Grafika mintafeladatok

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Képszerkesztés elméleti feladatainak kérdései és válaszai

Térbeli transzformációk, a tér leképezése síkra

Mechatronika segédlet 3. gyakorlat

PTE PMMF Közmű- Geodéziai Tanszék

Adatszerkezetek 2. Dr. Iványi Péter

NT Matematika 9. (Heuréka) Tanmenetjavaslat

KÉPFELDOLGOZÁS. 10. gyakorlat: Morfológiai műveletek, alakjellemzők

EGY ABLAK - GEOMETRIAI PROBLÉMA

11. Alakzatjellemzők. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Klár Gergely 2010/2011. tavaszi félév

A szabályos sokszögek közelítő szerkesztéséhez

Gekkó GIS: Raszteres kísérletek webes környezetben

Függvény fogalma, jelölések 15

KOVÁCS BÉLA, MATEMATIKA I.

A tér lineáris leképezései síkra

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK EMELT SZINT Koordinátageometria

Osztályozó és Javító vizsga témakörei matematikából 9. osztály

TÉRINFORMATIKAI MODELLEZÉS TÉRINFORMATIKAI MODELLEZÉS ALAPFOGALMAI A VALÓSÁG MODELLEZÉSE

11. modul: LINEÁRIS FÜGGVÉNYEK

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35

Grafikonok automatikus elemzése

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Szendrői Balázs: Algebrai síkgörbék, szerkesztette: Ádám Liliána, Ódor Gergő, Lajos Mátyás

Követelmény a 7. évfolyamon félévkor matematikából

Máté: Számítógépes grafika alapjai

Koordináta geometria III.

Osztályozóvizsga és javítóvizsga témakörei Matematika 9. évfolyam

PTE PMMIK Infrastruktúra és Mérnöki Geoinformatika Tanszék

Matematika. 9.osztály: Ajánlott tankönyv és feladatgyűjtemény: Matematika I-II. kötet (Apáczai Kiadó; AP és AP )

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások. alapfüggvény (ábrán: fekete)

3D számítógépes geometria és alakzatrekonstrukció

Geometriai Optika (sugároptika)

Számítógépes geometria

LINEÁRIS ALGEBRA. matematika alapszak. Euklideszi terek. SZTE Bolyai Intézet, őszi félév. Euklideszi terek LINEÁRIS ALGEBRA 1 / 40

Felügyelt önálló tanulás - Analízis III.

Számítási feladatok a Számítógépi geometria órához

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Osztályozó- és javítóvizsga. Matematika tantárgyból

TARTALOM. Előszó 9 HALMAZOK

MATEMATIKA EMELT SZINTŰ SZÓBELI VIZSGA TÉMAKÖREI (TÉTELEK) 2005

Számítógépes grafika

Matematika tanmenet 10. évfolyam 2018/2019

Térinformatika. j informáci. ciós s rendszerek funkciói. Kereső nyelvek (Query Languages) Az adatok feldolgozását (leválogat

Modellek dokumentálása

Matematika szigorlat június 17. Neptun kód:

Az áprilisi vizsga anyaga a fekete betűkkel írott szöveg! A zölddel írott rész az érettségi vizsgáig még megtanulandó anyag!

Az osztályozóvizsgák követelményrendszere 9. évfolyam

Hozzárendelés, lineáris függvény

FÜGGVÉNYEK. A derékszögű koordináta-rendszer

A DIGITÁLIS TÉRKÉP ADATAINAK ELŐÁLLÍTÁSA, ADATNYERÉSI ELJÁRÁSOK

Átírás:

Alapmű veletek te rbeli adatokkal Szilágyi Péter Kivonat A dolgozat a térinformatikában előforduló alapműveletekről szól. Eleinte röviden említést teszünk a két elterjedt képtárolási adatstruktúráról: raszter és vektor, majd hosszasan tárgyaljuk egyik formátumnak a másikba való átalakítását különös hangsúlyt fektetve a szükséges előfeltételekre valamint az algoritmikai részletekre. Végezetül pedig az alap affin transzformációkról lesz szó (transzláció, rotáció és skálázás) illetve más térinformatikában hasznos matematikai fogalmakról (különböző távolságok). Kolozsvár 2010. Április 28.

Raszter képek, vektorképek, konverziók Ebben a fejezetben a teljesség érdekében röviden megemlítjük a raszter- és vektorképek/grafika tulajdonságait, felépítését, majd rátérünk a két fajta formátum közötti átalakításokra, konverziókra. Raszter grafika A raszter kép, vagy más néven bittérkép (bitmap), az egy általában téglalap alakú négyzetrácsot ábrázoló adatstruktúra, melynek minden rácspotja egy sz ínpont (pixel). Az adatstruktúrának a fő célja a megjelenítés (képernyőn, papíron vagy más médiumon). A bittérkép egy-az-egyhez megfeleltetés egy megjelenített kép bitjeivel, általában a megjelenítő videómemóriájának megfelelő formátumban, vagy egy eszköz független formátumban. Technikailag három tulajdonsággal jellemezhető: szélesség és magasság (színpontok száma) valamint a színmélység (egy színpontot ábrázoló bitek száma). Mivel a raszter grafika felbontás függő, csak korlátozott mértékben lehet nagyítani szembetűnő minőség-vesztés nélkül. Vektor grafika A vektor grafika az matematikai egyenletekre alapuló geometriai primitívek (pontok, vonalak, görbék és formák/poligonok) felhasználása képeknek az ábrázolása érdekében. Ebből adódóan egy vektorképekkel dolgozó program a megjelenítésnek megfelelő lehető legalkalmasabb felbontású képet elő tudja állítani. Mivel a vektorkép matematikai egyenletekre alapozódik, a megjelenítés minőségét kizárólag a megjelenítő eszköz felbontása korlátozza, ugyanakkor viszont a vektoradatnak a mérete konstans marad. Vagyis bár a nyomtatáshoz egy sokkal több információval rendelkező kép szükséges mint képernyőn való megjelenítéshez, ugyanaz a vektorkép mindkét célt tökéletesen tudja szolgálni. Raszter skálázás Vektor skálázás

Raszter és vektor közötti konverziók Sokáig elegendő volt a raszter képekkel való dolgozás és csak nagyon speciális esetekben volt szükség a vektorképek használatára. Manapság viszont egyre gyakrabban van szükség mindkét formátumnak az egyidejű kezelése annak függvényében, hogy a kívánt művelet végrehajtása épp melyik rendszerben egyszerűbb (pl. forgatások és területszámítások vektorképekkel, metszési műveletek raszter képekkel valósíthatóak meg hatékonyabban). Azokat a programokat, amelyek egy időben mindkét adatformátummal dolgoznak hibrid adatmodellű szoftvereknek hívunk. Ezek a szoftverek viszont elképzelhetetlenek helyes, egyértelmű raszter-vektor átalakítások nélkül. Az alábbiakban ezekre a konverziókra térünk ki részletesebben. Raszter vektor átalakítás Az egyszerűség kedvéért a színes és tónusos raszter képek helyett ebben a részben kizárólag a bináris raszter képek vektorokká való alakításáról lesz szó. A korrekt mintavételezés feltételei Egyik alapfeltétele a számítógépes grafikának valamint a számítógépes alakfelismerésnek az analóg képek (nyomtatott kép) helyes diszkretizálása (pixelekre bontása). Ahhoz, hogy az analóg képet a diszkrét (pixeles) kép kielégítően ábrázolja szükséges, hogy a két kép topológiailag egyenértékű legyen. Ez egyszerűen fogalmazva azt jelenti, hogy a két alakzat nyújtással és zsugorítással, szakadás és vágás nélkül átvihető egymásba. A mellékelt ábrán látható egy példa bemeneti analóg kép illetve az abból előállított diszkrét kép. Bár a két kép topológiailag ekvivalens, mégis egyszerű szemlélet alapján megállapíthatjuk, hogy a diszkretizált kép hasonlósága az eredeti képhez a legtöbb gyakorlati feladat szempontjából nem kielégítő. Ahhoz, hogy a topológia mellett az eredeti kép alakját is megőrizzük, jelentős mértékben kisebb képpontokkal kell dolgoznunk a raszteres kép esetén (vagy más szóval a növelnünk kell a diszkterizálás felbontását). Összefoglalva megállapítható, hogy a kompatibilitás megléte biztosítja az analóg kép topológiájának megőrzését a diszkrét képben, és egyben biztosítja az alak megtartását is. Idomok határvonalának megkeresése Raszterből vektorba való konverzió során két fontos adattípust különböztetünk meg: vastag régiókat és vékony vonalakat. Bármelyik adattípust is kívánjuk azonban feldolgozni, mindenekelőtt meg kell határoznunk az objektum körvonalát (kontúrját). Egy összetett objektum több belső szigetet is tartalmazhat, viszont mielőtt rátérnénk e szigetek kontúrjainak meghatározására, foglalkozzunk az objektum egészét határoló körvonal megkeresésével.

A határoló körvonalat kereső algoritmus lényege az, hogy kezdetnek keresünk egy fekete pixelt melynek egyik (például keleti) szomszédja fehér, majd ebből a pontból kiindulva próbáljuk a körvonalat jobb fordulási irányba kiterjeszteni (a fordulást a fekete pixel melletti lyuktól (fehér pixeltől) kezdjük). A kiterjesztést folytatjuk mindegyik új képpontra mindaddig, amíg visszaérünk az indulási pontba. Megfigyelhető, hogy lesznek olyan képpontok melyeken többször is áthaladunk a kiterjesztés során (pl. két szigetet egy vonal köt össze). Ezek a többszörös pixelek fontos szerepet fognak játszani a vékony vonalak meghatározásában. Az algoritmus lépéseit az alábbi ábrán szemléltetjük.

Vékony objektumok tengelyvonalainak meghatározása A raszteres ábrázolás során erősen torzulnak az euklideszi geometria olyan hagyományos fogalmai, mint a távolság, egyenes, metszéspont, hisz két tetszőleges pixel közötti út nem azonos az analóg síkon két pixelnek megfelelő pontok között húzható legrövidebb távolsággal. Ezek a problémák világossá teszik, hogy ilyen jellegű feladatokat célszerűbb az analóg teret geometriailag leképező vektor modellben végrehajtani. A vektor modellt viszont csak akkor tudjuk létrehozni, ha meghatározzuk, hogy mikor tekinthetünk egy pixel formációt vonalszerűnek. Az egyik meghatározás szerint raszteres vonalábrázolásnak olyan pixel halmaz tekinthető, melynek valamennyi pixele egyben a halmaz körvonalának is része. A raszter képek létrehozásakor az analóg képen vonalként jelentkező objektumok azonban nem feltétlenül felelnek meg a fenti meghatározásnak, azaz a pixeles képen az eredeti vonalak teli objektumként is jelentkezhetnek az eredeti vonal vastagság illetve a pixelméret függvényében. Többszörös pixel: 1. A körvonalkereső algoritmus többször is kiválasztja 2. Nincs szomszédja a tartomány belsejében 3. Van legalább egy direkt szomszédja, mely része a határvonalnak, de a határvonalat leíró útban nincs közvetlenül a kérdéses pixel előtt vagy után 2 3 3 1 3 3 1 2 A vékonyítási algoritmusok alapgondolata az, hogy a síkbeli objektumokat vázukkal (más szóval középtengelyükkel) helyettesítjük, és hogy ez a váz a pixeltérben lehetőleg egy pixel vastag legyen. Az alap algoritmus szavakban a következőképpen fogalmazható meg. Minden lépésben meghatározzuk az objektum összes pontjának halmazát, határvonalát valamint többszörös pixeleit (a fenti definíció szerint), majd az objektum pontjainak halmazából eltávolítjuk azokat a határpontokat, amelyek nem többszörös pontok. Ezt ismételjük mindaddig, amíg az objektum összes határpontja egyben többszörös pixel is lesz. A bináris váz vektorizálása Ahhoz, hogy a vektorizálás megtörténjen, még két lépés hátra van. Az első lépésben létre kell hoznunk a vékony bináris kép topológiáját. Majd ezek után a vektorizált pixeleket ritkítanunk kell. A topológia létrehozásánál abból indulunk ki, hogy a vektoros modellben azokat a pontokat nevezzük csomópontoknak, melyekben kettőtől eltérő számú vonal találkozik. A csomópontok megkeresésére egy egyszerű gráf bejáró algoritmust használunk, ami eredményképpen íveket alkotó ponthalmazokat határoz meg. Ez a struktúra elvileg már vektor struktúra gyakorlatilag azonban még szükség van ezeknek a pontoknak a ritkítására.

A vektorizált pixelpontok igen sűrűn vannak, különösen, ha az eredetijükül szolgáló analóg vonalak egyenesek vagy szabályos ívek voltak. Ezeknek a ritkítására interpolációs módszereket lehet alkalmazni, vagyis megpróbáljuk a pontokat egy görbére illeszteni. Ennél a műveletnél három szempontot kell figyelembe vennünk: a kihagyandó pontok eltérése a helyettesítő görbéjüktől nem haladhat meg egy megadott értéket, az eltérések előjele váltakozó kell legyen, valamint az eredeti pontsor hossza a helyettesítő görbe hosszánál nem lehet sokkal nagyobb. Vektor raszter átalakítás A térinformatika szempontjából a vektor-raszter átalakítás megoldandó kérdései kissé más aspektusból jelentkeznek, mint a klasszikus átalakítás során, mivel ebben az esetben az a lényeges, hogy a vektor darabok egyértelműen és lehetőleg visszaállíthatóan nyerjék el raszteres alakjukat. Egy vektor raszterizálása során a legelső dolog az a koordinátarendszer leszögezése, vagyis az origó pozíciója a raszter képen, valamint a diszkrét pixeleknek a rendszerben való mérete. Ezek után egy vektor komponens (egyenes, görbe) raszterizálása mindössze annyiból áll, hogy a görbét leképezzük a raszterkép pixeleire. Ha a vonal két szomszédos cellát is érint, csak azt feketítjük be, amelyiken a hosszabb utat teszi meg. A mellékelt ábrán látszik két raszterizálás, azonban ezek közül az a az helyes, míg a b az helytelen pixelkiválasztás. Vektoros poligonoknak a raszteres képpé való alakítása ugyancsak egy gyakori művelet, ezért a továbbiakban erről lesz egy pár szó. A félreértés elkerülése érdekében poligon alatt egy zárt formát értünk, melynek az oldalai nem metszik egymást. A raszterré alakítás a pásztázó (scan line) algoritmusra épül, melyben először rendezzük a poligon éleit y (csökkenő) majd x (növekvő) koordináta szerit. Ezek után kiszámítjuk a pásztázó egyenesnek a poligon éleivel való metszéspontjait (a pontos pixelt a imént említett módszerrel állapítjuk meg), majd az ezek közötti pixeleket az addigi metszéspontok számának függvényében festjük vagy sem (ha páratlan akkor belső pont, ha páros akkor külső).

Térbeli alapműveletek Ebben a részben szó lesz a raszter- illetve vektorképekkel végezhető műveletekről: transzformációk, távolságok, metszéspontok, stb. Síkbeli transzformációk A síkbeli transzformációk annyit jelentenek, hogy a sík egyik koordináta rendszeréből a vektorokat átvisszük egy másikba valamilyen művelet segítségével. Röviden affin transzformáció két vektortér között. A három legfontosabb síkbeli transzformáció a következő: transzláció (mozgatás), rotáció (forgatás) és skálázás (nagyítás/kicsinyítés). Transzláció Euklideszi geometriában a transzláció az minden pontnak egy konstans értékkel való elmozdítása egy adott irányba. Úgy is lehet értelmezni, mint egy vektor hozzáadása minden ponthoz, vagy a koordináta-rendszer origójának az elmozdítása. A transzlációt mátrixos művelet formájában is fel lehet írni, viszont mivel affin művelet, de nem lineáris, ezért homogén koordinátás segítségével lehet megadni (tehát (x, y) helyett (x, y, 1) lesz). Ha egy vektorral szeretnénk eltolni egy vektort, akkor lesz a transzlációs mátrix és az eredmény. [ ] [ ] [ ] [ ] Rotáció Euklideszi geometriában a rotáció az a tér minden pontjának az elforgatása az rögzített pont körül. A rotáció egy izomorfizmus, vagyis a transzformáció során nem változik a távolság a tér két pontja között. Két dimenzióban (síkban) egyetlen egy szög szükséges a forgatás meghatározására. A forgatás kiszámítására két módszer létezik: mátrix algebra valamint komplex számok. Egy pont elforgatása egy szöggel az alábbi transzformációval történik. [ ] [ ] [ ]

Skálázás Euklideszi geometriában az egyenletes skálázás egy lineáris transzformáció, aminek segítségével az objektum méretét növeljük vagy csökkentjük; a skálázási együttható ugyanakkora minden irányba. Ennek az általánosítása a skálázás, amely esetében a különbség annyi, hogy a különböző tengelyeken különböző skálázási együttható van. Egy objektum vektorral való skálázása az az objektum minden pontjának az mátrixxal való beszorzását jelenti. [ ] [ ] [ ] [ ] Távolságfogalmak A legkézenfekvőbb és megszokottabb távolság vektoros adatmodellek esetén az az euklideszi távolság, mely két, egy síkban fekvő pont távolságát a Pitagorasz tétel segítségével definiálja. Egy másik kevésbé ismert távolság, ami viszont ugyancsak fontos szerepet játszik a térinformatikában az a Manhattan távolság, amit talán inkább használnak a raszteres adatmodelleknél. Az alábbi képen látszik a különbség két pontnak az euklideszi (zöld) és a Manhattan (piros, kék, sárga) távolsága között.

Bibliográfia Dr. Sárközy Ferenc: Térinformatikai elméleti oktató anyag. Budapest, 1991. 2010. Április 26. < http://www.agt.bme.hu/tutor_h/terinfor/tbev.htm > Wikipedia: Affine transformation 2010. Április 26. < http://en.wikipedia.org/wiki/affine_transformation > Wikipedia: Manhattan distance 2010. Április 26. < http://en.wikipedia.org/wiki/manhattan_distance > Wikipedia: Raster graphics 2010. Április 26. < http://en.wikipedia.org/wiki/raster_graphics > Wikipedia: Rotation (mathematics) 2010. Április 26. < http://en.wikipedia.org/wiki/rotation_(mathematics) > Wikipedia: Scaling (geometry) 2010. Április 26. < http://en.wikipedia.org/wiki/scaling_(geometry) > Wikipedia: Translation (geometry) 2010. Április 26. < http://en.wikipedia.org/wiki/translation_(geometry) > Wikipedia: Vector graphics 2010. Április 26. < http://en.wikipedia.org/wiki/vector_graphics >