Számítógépes grafika Számítógépes grafika Rendes Péter peter.rendes@gmail.com Jelentése Története Felhasználási lehetőségek Alapfogalmak Számítógépes grafika jelentése Általánosságban: a számítógépes grafika majdnem minden, ami megjelenik a számítógépen a szöveg és a hangon kívül. Konkrétan a következőket jelentheti: képi adatok bemutatása, manipulálása számítógép segítségével; különböző technológiák, amik segítségével képeket lehet létrehozni és manipulálni; a képek, amik így készültek; a számítástechnika alterülete, ami vizuális tartalmak digitális létrehozásával és manipulálásával foglalkozik. Pre-történelem A számítógépes grafika létrejöttéhez szükséges legfontosabb rajzi és matematikai invenciók : Euklédesz (kb. ie. 300-250 BC): geometriai alap koncepció; Filippo Brunelleschi (1377-1446) építész, aranyműves és szobrász: perspektíva kidolgozása Rene Descartés (1596-1650) analitikus geometria kidolgozása, koordináta rendszer (segítségével megadható a térben egy alakzat, vagy objektum helye) Gottfried Wilhelm Leibniz (1646-1716) és Isaac Newton (1642-1727): dinamikus rendszerek leírására szolgáló számítási módszer. James Joseph Sylvester (1814-1897): mátrix; I. Schoenberg (1903-1990): spline; J. Presper Mauchly (1919-1995) és John William Mauchly (1907-1980): ENIAC számítógép megépítése; ENIAC - az első általános célú digitális számítógép (1946) Az ENIAC 17.468 elektroncsövet tartalmazott, több mint 100 kw elektromos energiát fogyasztott és 450 m 2 helyet foglalt el (több mint 30 m hosszú termet építettek az elhelyezéséhez). A gép tömege 30 tonna volt, megépítése tízmillió dollárba került. Három nagyságrenddel gyorsabb volt, mint a relés számítógépek: az összeadást 0,2 ms, a szorzást 3 ms alatt végezte el. A programja azonban fixen be volt drótozva a processzorba és csak mintegy kétnapos kézi munkával, villamos csatlakozások átkötésével lehetett megváltoztatni. A gép memóriája 20 db tízjegyű előjeles decimális számot tudott tárolni. 1950-es évek Whirlwind Project: repülésszimulátor SAGE: légvédelmi rendszer 1960-as évek Ivan Sutherland: sketchpad (1963) Grafikai algoritmusok: vonal, kör rajzoló algoritmus raszteres képernyőn, takart élek, felületek árnyékolása, takarása Az ENIAC tervezését a második világháború alatt kezdte el katonai célokra John Presper Mauchly és John William Eckert. A gépet a Pennsylvania egyetemen építették, a munkát 1946-ban fejezték be. Ezt a számítógépet már szabadalmaztatták. 1
1970-es évek Rendering (shading) Keyframe animáció Első rajzoló program (Xerox PARC) Rekurzív raytracing algoritmus Apple I., II. személyi számítógépek Első számítógépes játékok: Pong Pascal nyelv 1980-as évek Apple Macintosh (1984) Intel x86 C nyelv Texture mapping VGA (IBM) SGI valós idejű raszteres grafika NASA VR, adatkesztyű 1990-es évektől napjainkig 3D gyorsítókártyák Számítási teljesítmény és tárolókapacítás jelentős növekedése WWW CAD rendszerek széleskörű terjedése Filmipar egyre inkább felhasználja a CGI-t Minden területen elterjed a számítógépes grafika Képernyőfelbontás jelentősen növekszik Számítógépes játékok fejlődése 3D (sztereoszkópikus) grafika és megjelenítés 1990-es évektől napjainkig 3D gyorsítókártyák Számítási teljesítmény és tárolókapacitás jelentős növekedése WWW CAD rendszerek széleskörű terjedése Filmipar egyre inkább felhasználja a CGI-t Minden területen elterjed a számítógépes grafika Képernyőfelbontás jelentősen növekszik Számítógépes játékok fejlődése 3D (sztereoszkópikus) grafika és megjelenítés Felhasználási lehetőségek Gyakorlatilag csaknem az élet minden területén Felhasználói felületek (Pl. Windows) Interaktív diagrammok, hisztogrammok (2D vagy 3D ) Térképészet Orvostudomány Tervezés (CAD/CAM) Multimédia rendszerek Tudományos kísérletek eredményeinek megjelenítése Szórakoztatóipar stb. A számítógépes grafika jellemző felhasználási területei Számítógéppel segített tervezés/gyártás Térképészet Prezentáció támogatása grafikával Folyamatok felügyelete grafikai rendszerek segítségével Számítógépes szimuláció Filmipar Szövegszerkesztés, kiadványkészítés Virtuális valóság Játékprogramok készítése Foterealisztikus képek Számítógéppel segített tervezés/gyártás Az autógyártásban, a közlekedési eszközök tervezésében, mérnöki tervezésben a CAD/CAM rendszereknek (Computer Aided Design and Manufacturing) nagy szerepe van. Bonyolult tervezési feladatoknál, összetett elemek tervezésénél nagy szükség van a számítógép támogatására, mert: a számítógép elvégzi az automatizált feladatokat a tervezés során, a mérnöki tervezésre több idő marad, módosítások sokkal könnyebben, gyorsabban elvégezhetők a tervezés folyamata során, gyártás előtt lehetőség van szimuláció során tesztelni a terméket, a tervezett eszköz valósághű megjelenítésére is lehetőség van, a megrendelő ezen információ birtokában még módosíthat elképzelésein. 2
Térképészet, térinformatika Prezentáció támogatása grafikával A számítógépes grafika rohamosan fejlődő területe a térképek informatikai eszközökkel történő feldolgozásán alapuló rendszerek (GIS - Geographical Information System). Ezek vektoros vagy raszteres térképadatokat kapcsolnak össze különféle adatbázisokkal. Néhány példa: útvonaltervezők, digitális térképek, valós idejű térképes nyilvántartások, például a mentőszolgálatok irányítási rendszere, mely térképen mutatja, hogy egy mentőautó éppen hol tartózkodik a városon belül. Prezentáció készítése során sokszor érdemes olyan grafikai elemeket alkalmazni, melyek képesek tendenciákat, folyamatokat, összefüggéseket vizuálisan megjeleníteni (diagramok, folyamatábrák). A vizuális információkat az emberi érzékelés sokkal gyorsabban befogadja, értelmezi, mint a szöveges információkat, emellett esztétikai értéke is van. Folyamatok felügyelete grafikai rendszerek segítségével Bonyolultabb folyamatok számítógépes felügyelete során a számítógéphez különböző érzékelők vannak kapcsolva, melyek a rendszer aktuális állapotáról információt küldenek a számítógépnek (atomerőművek, közlekedésirányítás, üzemek gyártósorai). Az emberi észlelés sokkal lassabb, mint a számítógépes adatfeldolgozás. Az emberi tényezők (észlelés gyorsasága, figyelmetlenség, pontatlanság) kiküszöbölése sokkal biztonságosabbá teszi ezen rendszerek működését. Az események felügyeletét az emberek grafikus felületeken végzik, a vizuális elemek plusz információhoz juttatják a rendszer működését felügyelő személyzetet (pl. villogás, színek, hangok, figyelmeztető üzenetek). Folyamatok felügyelete grafikai rendszerek segítségével Számítógépes szimuláció Filmipar, számítógépes animáció Grafikával támogatott számítógépes szimulációt már régóta használnak (repülőgép- és űrhajó szimulátorok). A valóságközeli szituációk reprodukálása nagy erőforrást igényel (hardver és szoftver tekintetében egyaránt), ezért szélesebb felhasználói körben csak az utóbbi időben terjedt el. Néhány példa: szimulátor alkalmazása gépjárművezetés oktatásánál (szélsőséges útviszonyok szimulálása), gyors folyamatok szimulálása, melyeket az ember nem tud észlelni (kémiai reakciók lépései, biológiai folyamatok), túl lassú folyamatok szimulálása, ezáltal az időnek, mint tényezőnek kiiktatása, katonai alkalmazás (harci események szimulálása), katasztrófahelyzetek szimulálása, időjárás-előrejelzés. A filmkészítésben manapság nagyon gyakoriak az animációs filmek. A számítógépes animációk a következő területeken alkalmazhatók például: reklámfilmek készítése science-fiction készítése, mesefilmek készítése, oktató filmek készítése weblapok esztétikájának növelése, prezentáció alátámasztása, stb. 3
Virtuális valóság Az emberi képzelet által megalkotott világok számítógépes modellezését virtuális valóságnak nevezzük. Ezeket a mesterséges, háromdimenziós világokat az ember megtekintheti, felfedezheti. A virtuális valóság és az ember között különféle perifériák kommunikálnak (Cyberglove, Head Mounted Display). A jövőbeni cél, hogy a virtuális valóság az ember összes érzékelő rendszerére hatni tudjon. Augmented Reality (kiterjesztett valóság): valós tér és virtuális tér együttes megjelenítése Szövegszerkesztés, kiadványkészítés Fontos szerepe van a számítógépes grafikának a képek készítésénél, logók tervezésénél, előállításánál, betűtípusok tervezésénél. Számítógépes játékok Fotórealisztikus képek A számítógépes grafika egyik legprofitorientáltabb, leggyorsabban fejlődő ága. A szórakoztató ipar ezen ága finanszírozza döntő többségében a grafikai kutatásokat, fejlesztéseket. Egy képet akkor nevezünk fotorealisztikusnak, ha a kép számítógépes grafikával készült, mégis nehezen tudjuk megkülönböztetni a fényképtől. Hardver feltételek, perifériák Kijelzők Megjelenítők Input eszközök Egyéb output eszközök a felbontás megadja a raszteres képen megjeleníthető pixelek számat: 800x600, 1024x768, 1280x1024, 1680x1060, 1920x1024 stb. képátmérő: pl.: 14, 17, 21 inch, stb. Képarány: 4:3, 16:9 kép-pontátmérő: a képernyőn beszínezhető pixelek nagyságát adja meg. a képfrissítési frekvencia megadja a másodpercenként kirajzolt teljes képernyők számát interlace vagy noninterlace, mód 4
Rajzoló programok Raszteres (bittérképes) kép fő tulajdonságai Raszteres/bittérképes Vektoros 3D modellező Felbontás Színmélység Tömörítés Képformátum Felbontás DPI X,Y Pl. 1280x960 v. 1 megapixel Kép felbontása és mérete adja meg a minőségét DPI Dot Per Inch: A felbontás mértékegysége. Egy inch (25.4 mm) hosszban elhelyezkedő képpontok mennyisége. Pl. 1772x1181 pixel, 15x10 cm DPI? 300 DPI Bittérképes képek előnyei Retusálás a digitális képek előtti időkben Fényképek, tájképek, portrék, stb. valósághűen képes visszaadni megfelelő felbontás esetén Számítógépes utómunka, retusálás lehetősége (akár pixelenként) Lenin, Trockij, Kamenyev Lenin 5
Retusálás a digitális képek előtti időkben Retusálás a digitális képek előtti időkben Vorosilov, Molotov, Sztálin, Jezsov Vorosilov, Molotov, Sztálin 1. Nyikolaj Antyipov, Sztálin, Szergej Kirov, Nyikolaj Svernyik 2. Sztálin, Szergej Kirov, Nyikolaj Svernyik 3. Sztálin, Szergej Kirov 4. Sztálin Bittérképes képek hátrányai Vektorgrafika Méretük nem nagyítható minőségromlás nélkül Viszonylag nagy fájlméret Megoldás: tömörítés (pl. JPEG) Vektorgrafika Vektorgrafikus adatbázisok A vektorgrafikus rendszerek a képet geometriai objektumokból építik fel. Az objektumok a képen belül önállóan léteznek, tárolásuk egy adatbázisban történik. Így vissza lehet keresni egy-egy objektumot, lehet magát az objektumot módosítani úgy, hogy csak maga az objektum változzon, a kép többi része változatlan maradjon. Definiálni tudjuk a képet felépítő elemek közötti hierarchiát (alá- fölérendeltség stb.), a strukturális kapcsolatokat. A különféle geometriai objektumokra vonatkozó adatokat az objektum neve, azonosítója, az alakzatot felépítő geometriai alakzatok típusai, felépítő alakzatok kapcsolatai az egyeden belül, méretére, nagyságára vonatkozó adatok, helyzetére vonatkozó adatok, tulajdonságaira vonatkozó adatok, megjelenítésére vonatkozó adatok. A geometriai objektumok közötti strukturális kapcsolatokat illeszkedések, alárendeltségek, fölérendeltségek, megjelenítés jellegű kapcsolatok, stb. Az objektumokhoz tartozó mennyiségi és szervezési adatokat csoportok, stb. 6
Vektorgrafika Színkeverés Előnyei: Kisebb méret megfelelő kép esetén Szabadon átméretezhető Hátrányai: Ha a képet nem lehet egyszerű alakzatokra bontani, akkor nem használható Összetett rajznál lassú lehet a megjelenítés Pl.: DXF, AI, CDR, DRW, WMF Additív (összeadó) színkeverés RGB pl.: vörös + zöld=sárga; zöld + kék=kékeszöld; kék + vörös=bíbor; vörös + zöld + kék=fehér Szubsztraktív (kivonó) színkeverés CMY(K) pl.: sárga + bíbor=vörös; bíbor+ kékeszöld=kék; kékeszöld + sárga=zöld; sárga + bíbor + kékeszöld=fekete (ill. szürke). Színkeverés alapszínekből CMYK Szín Vörös Zöld Kék Fehér 255 255 255 Sárga 255 255 0 Lila 255 0 255 Cián 0 255 255 Vörös 255 0 0 Zöld 0 255 0 Kék 0 0 255 Fekete 0 0 0 Nyomdai előkészítésnél használhatjuk HSB Színválasztás Szín (Hue) : visszavert vagy áteresztett fény hullámhossza Telítettség (Saturation) : szín tisztasága és ereje Világosság (Brightness): 0%-tól 100 %-ig terjed 7
Színmélység Néhány képfájl formátum A legelterjedtebb színmélységek a következők: 8 bit 256 különböző szín 16 bit 65.536 különböző szín 24 bit 16.777.216 különböző szín 32 bit 4.294.967.296 különböző szín - BMP - TIFF - JPG - TGA - PNG - PCX - GIF 8