Vektorgrafika
A vektorgrafika a számítógépes grafikában az az eljárás, melynek során geometriai primitíveket (rajzelemeket), mint például pontokat, egyeneseket, görbéket és sokszögeket használnak képek leírására. Ennek az ellentéte a rasztergrafika, ahol képek leírására szabályos elrendezésű pontokat használnak.
Áttekintés
[szerkesztés]Gyakorlatilag minden korszerű számítógép-képernyőre a vektorgrafikus képet raszter formátumba fordítja le a szoftver. A raszterkép minden egyes pontjához egy érték van rendelve, mely a pont színéről vagy szürkeárnyalatáról ad információt, ez az adatmennyiség a memóriában helyezkedik el, és az egész képet a szoftver ennek megfelelően másodpercenként többször felépíti és frissíti képernyőn.
A számítástechnika őskorában, 1945–1980 között egy másik rendszert, a vektorgrafikus képernyőt használták. Ebben a rendszerben a katódsugárcső elektronsugarát közvetlenül úgy vezérelték, hogy a képernyőn lekövesse a felrajzolni kívánt görbe alakját vonalszakaszról vonalszakaszra, a képernyő többi részét pedig sötéten hagyta. Ezt a folyamatot másodpercenként többször ismételték, hogy villogásmentes vagy majdnem teljesen villogásmentes képet lehessen kapni. Ezzel a módszerrel igen nagy felbontású és mozgó grafikát lehetett megvalósítani anélkül, hogy nagy memóriát használtak volna fel a képfelépítéshez, ami az akkori technológiai szinten rendkívül költséges lett volna.
A vektorgrafikus képernyő egyik első felhasználása az amerikai SAGE légvédelmi rendszerben volt. A repülésirányítási rendszerekben a vektorgrafikus képernyő 1999-ig használatban volt, és úgy tűnik, hogy katonai felhasználása még nem szűnt meg teljesen. Vektorgrafikus képernyővel rendelkezett Ivan Sutherland Sketchpad nevű, forradalmian új programjához használt TX-2 rendszer, melyet a Lincoln MIT Laboratoryban állítottak fel 1963-ban.
Több számítógépes játékhoz készített speciális számítógép is vektorgrafikus képernyőt használt és használ.
A vektorgrafika fogalmát a korszerű számítástechnikában a kétdimenziós számítógépes grafikával kapcsolatban használják. Ez az egyik lehetősége annak, hogy a programozó képet állítson elő a rasztergrafikus képernyőn. A többi: szöveg, multimédia és térbeli renderelés. Gyakorlatilag minden korszerű térbeli renderelő eljárás a síkbeli vektorgrafika valamilyen kiterjesztésén alapul.
Az elavulóban lévő tollas plotterek és a vágó plotterek ugyancsak vektorgrafikát használnak.
Előnyök
[szerkesztés]Vegyünk például egy r sugarú kört. Ennek felrajzolásához az alábbi adatokra van a programnak szüksége:
- a sugár (r)
- a középpont helye
- a vonal stílusa (például folytonos, szaggatott stb.) és színe (esetleg áttetsző)
- zárt alakzatnál a körbezárt terület kitöltési stílusa és színe (esetleg áttetsző)
Ebben az esetben a vektorgrafika előnyei a rasztergrafikával szemben az alábbiak:
- Minimális memóriaigény a nagy raszterképekhez képest (a memóriaigény nem függ az objektum méreteitől).
- Tetszőlegesen nagy kinagyítás sem torzítja el a kört, míg raszterkép esetén nagyításkor eltűnik az alakzat görbe volta.
- A vonalvastagságnak nem kell a nagyítással arányosan nőni, szemben a raszterképekkel.
- Az alakzatok méretei (paraméterek) tárolhatók, és így később megváltoztathatók. Ez azt is jelenti, hogy az objektumok mozgatása, nagyítása-kicsinyítése, forgatása, kitöltése stb. nem megy a pontosság rovására. Ezen túlmenőleg lehetséges az adatok tárolása eszközfüggetlen egységekben, ez lehetővé teszi az optimális raszterezést.
Tipikus primitív alakzatok
[szerkesztés]- vonalak és vonalláncok
- sokszögek
- körök és ellipszisek
- Bézier-görbék és spline-ok
- szöveg (a számítógépes betűket, például a TrueType fontokat másodfokú, az OpenType fontokat harmadfokú Bézier-görbék írják le)
Műveletek
[szerkesztés]A vektorgrafikus szerkesztőprogramok általában lehetővé teszik az objektumok forgatását, mozgatását, tükrözését, nyújtását, általában affin transzformációit, a megrajzolás sorrendjét, és azt, hogy az egyszerű objektumokból sokkal bonyolultabbakat lehessen szerkeszteni.
Bonyolultabb feladat halmazműveletek elvégzése zárt objektumokon (unió, metszet, különbségképzés stb.).
A vektorgrafika ideális egyszerű vagy kompozit rajzok készítésére, ami eszközfüggetlen és nem igényel fotorealisztikus megjelenítést. Például a PostScript és PDF lapleíró nyelv vektorgrafikus.
Térbeli modellezés
[szerkesztés]A 3D számítógépes grafikában a vektorizált felületleírás szokásos. Alacsony felbontású képhez egyszerű, sokszögekre bontott felületeket használnak olyan esetekben, amikor a gyors képfelépítés és az egyszerűség fontos. Pontosabb grafikánál, ahol a kép minősége, illetve pontossága elsőrendű szempont, és nem probléma az esetleg hosszabb feldolgozási idő, sima felületet leíró modelleket használnak, mint például a Bézier-foltok, NURBS-felületek, vagy a felületek felosztása. Vannak azonban olyan renderelő eljárások, melyek sokszögmodellről is sima felületű képet készítenek (például Phong).