Számítógépes  grafika

Telefon: 375-1564, 375-3591
E-mail: info@computerbooks.hu

Dr. Szirmay-Kalos László:
Számítógépes grafika

a könyvhöz CD melléklet tartozik
Megjelenés: 1999
334 oldal (ebből 16 színes), 3900.- Ft


 
A könyv előszava A könyv tartalomjegyzéke ComputerBooks kiadványok

A könyv előszava


Életünk folytonos szemlélődéssel telik, figyeljük környezetünket és feldolgozzuk a minket ért hatásokat. A hatások gondolatokat és érzelmeket keltenek bennünk, amelyeket szeretnénk kifejezni, maradandóvá tenni és másokkal megosztani. A képek formájában befogadott és továbbadott információk mindig is fontosak voltak az emberek számára. Képek, rajzok segítségével a bonyolult gondolatokat is egyszerűen és közérthetően kifejezhetjük, az ilyen formában kapott információkat gyorsan befogadjuk, megértjük és könnyen megjegyezzük. A kis gyermekektől kezdve, a festőkön át, a tervező mérnökökig mindenki szívesen ``rajzolgat'', hogy elképzeléseit mások számára is elérhetővé tegye. A számítógép ebben a folyamatban hatékony társ lehet, mert képes arra, hogy a fejünkben körvonalazódó vázlatokat átvegye és azokból meggyőző képeket készítsen. A számítógép munkája során alkalmazhatja a fizika törvényeit, Dali vagy Picasso stílusát, az építészek vagy a gépészek által követett rajzolási szabályokat, vagy akár teljesen újszerű látásmódot is követhet. Így a kapott eredmény lehet olyan, mintha csak fényképezőgéppel vagy ecsettel készítettük volna, olyan, mintha egy tervezőiroda műszaki rajzolóinak a szorgalmát és ügyességét dicsérné, de bepillantást engedhet olyan világokba is, amelyekből még sohasem értek minket képi hatások, ezért többségünk számára mindig is felfoghatatlanok voltak.
A számítógépes grafika célja az, hogy a számítógépből olyan eszközt varázsoljon, amely vázlatos gondolatainkról képeket alkot. Egy ilyen eszköz sokrétű ismereteket foglal magában. A gondolatainkban szereplő alakzatok megadásához a geometriához kell értenünk, a fény hatásának modellezéséhez az optika törvényeit alkalmazzuk. A számítógép monitorán megjelenő képet az emberi szem érzékeli és az agy dolgozza fel, ezért a számítási folyamatoknak figyelembe kell venniük az emberi szem és agy lehetőségeit és korlátait is. Mivel a ``fényképezést'' számítógépes programmal kell megoldani, a szoftvertechnológia, algoritmusok és adatszerkezetek ismeretétől sem tekinthetünk el. Ráadásul a képek megjelenítéséhez és előállításához a szűkre szabott idő miatt hardver támogatás is szükséges, ezért a legjobb, ha már most elkezdjük felfrissíteni a hardver ismereteinket.
A számítógépes grafika nehéz, mert nagyon sokféle tudást kell megszereznünk ahhoz, hogy igazán sajátunknak érezzük. Ugyanakkor a számítógépes grafika nagyon szép is, mert kincseket lelhet benne az integrál egyenletekkel foglalkozó matematikus, az optikában vagy a Maxwell egyenletekben elmélyedő fizikus, a látás rejtelmeit kutató orvos, az adatstruktúrákkal és az algoritmusokkal bűvészkedő programozó, és az egészet alkalmazó képzőművész vagy tervezőmérnök. Az interaktív grafikus programok, képek, filmek, számítógépes játékok formájában megjelenő eredmény pedig mindannyiunk gyönyörűségére szolgál. Ezen könyv elsősorban szoftvertervezők és programozók számára készült, szerkezete a Budapesti Műszaki Egyetem informatikus és villamosmérnöki szakjain előadott számítógépes grafika tárgy tematikáját követi.
A könyv célja, hogy megtanítsa az olvasót arra, hogy hogyan kell grafikus rendszereket fejleszteni. Az előismeretek is ennek megfelelőek, a könyv nagy része ugyan csupán középiskolai matematikai és fizikai ismereteket használ, azonban néhány rész épít a természettudományi és műszaki egyetemeken oktatott matematikára is.
Habár a könyv elsősorban szoftverfejlesztőknek szól, a magam részéről reménykedem abban, hogy a szoftverfejlesztőkön kívül a grafikus rendszerek felhasználóihoz és a számítógépes játékokat megszállottként űzőkhöz is eljut, és ezáltal jobban megértik és megbecsülik kedvenc alkalmazói rendszerüket, és talán kedvet kapnak ahhoz is, hogy a felhasználók roppant széles táborából a fejlesztők sokkal szűkebb táborába kalandozzanak el.
Vissza a lap tetejére Vissza a listához


A könyv tartalomjegyzéke

Előszó

A számítógépes grafika céljai és feladatai

A modellezés feladatai
A képszintézis
A számítógépes grafika jelfeldolgozási megközelítése
Rasztergrafikus rendszerek felépítése
A képek tárolása és utófeldolgozása
Program: TARGA formátumú képállományok kezelése

Grafikus szoftver alrendszerek felépítése

Programvezérelt és eseményvezérelt interakció
A grafikus hardver illesztése
Program: egy egyszerű grafikus könyvtár
A logikai és a fizikai szintek összekapcsolása
A könyvtár megvalósítása DOS operációs rendszer alatt
A könyvtár megvalósítása Ms-Windows környezetben
Programtervezés eseményvezérelt környezetekben

A geometriai modellezés

Pontok
Görbék
Szabadformájú görbék
Lagrange-interpoláció
Bezier-approximáció
Összetett görbék
Harmadfokú spline
B-spline
Területek
Felületek
Kvadratikus felületek
Parametrikus felületek
Testek
Felület-modellezés
Konstruktív tömörtest geometria alapú modellezés
Program: paraméteres görbék

Színelméleti alapok

A színek definiálása
RGB színrendszer
CMY színrendszer
HLS színrendszer
Színkezelés a 2D és a 3D grafikában
Program: színkezelés
Színillesztő függvények
Spektrumok kezelése
Színérzetek
CMY átalakítása RGB modellre
HLS átalakítása RGB modellre

Geometriai transzformációk

Elemi affin transzformációk
Eltolás
Skálázás a koordinátatengely mentén
Forgatás
Nyírás
Transzformációk homogén koordinátás megadása
Transzformációk projektív geometriai megközelítése
Program: geometriai transzformációs osztály

Virtuális világmodellek tárolása

Hierarchikus adatszerkezet
A geometria és topológia szétválasztása
CSG-fa
Megjelenítő állományok
Szabványos világmodellek
Program: hierarchikus 3D adatszerkezet

A 2D képszintézis

Vektorizáció
Modellezési transzformáció
Ablak-nézet transzformáció
A modellezési és az ablak-nézet transzformációk összefűzése
2D vágás
Szakaszok vágása
Poligonok vágása
2D raszterizáció
Szakaszok rajzolása
Asszimetrikus DDA szakaszrajzoló algoritmus
Bresenham szakaszrajzoló algoritmus
Terület elárasztás
Területkitöltés
Pixel műveletek
Dither alkalmazása
Interaktív 2D grafikus rendszerek
A kiválasztási művelet
Program: 2D grafikus rendszer

Az árnyalás optikai alapmodellje

A fényerősség alapvető mértékei
A kamerák jellemzése
A fény-felület kölcsönhatás: az árnyalási egyenlet
Az árnyalási egyenlet adjungáltja: a potenciál egyenlet
Az árnyalási illetve a potenciál egyenlet megoldása
BRDF modellek
Klasszikus BRDF modellek
Lambert-törvény
Ideális visszaverődés
Ideális törés
Phong illuminációs modell és változatai
Fényelnyelő anyagok
Program: BRDF modellek

A 3D inkrementális képszintézis

Felületek tesszellációja
Modellezési transzformáció
Kamera definíció
A nézeti transzformáció
Világ-koordinátarendszer --- ablak-koordinátarendszer transzformáció
Ablak-képtér transzformáció párhuzamos vetítés esetén
Ablak-képtér transzformáció perspektív vetítés esetén
Nézeti csővezeték
Vágás homogén koordinátákban
Takarási feladat megoldása
Triviális hátsólap eldobás
Z-buffer algoritmus
Területfelosztó módszerek
Festő algoritmus
Lokális illuminációs algoritmusok
Saját színnel történő árnyalás
Konstans árnyalás
Gouraud-árnyalás
Phong-árnyalás
Program: 3D grafikus rendszer inkrementális képszintézissel

A sugárkövetés

Az illuminációs modell egyszerűsítése
A tükör és törési irányok kiszámítása
A rekurzív sugárkövető program
Metszéspontszámítás egyszerű felületekre
Háromszögek metszése
Implicit felületek metszése
Paraméteres felületek metszése
Transzformált objektumok metszése
CSG modellek metszése
A metszéspontszámítás gyorsítási lehetőségei
Befoglaló keretek
Az objektumtér szabályos felosztása
Az objektumtér adaptív felosztása
Foton követés
Program: Rekurzív sugárkövetés

Globális illuminációs algoritmusok

Integrálegyenletek megoldása
Inverzió
Véges-elem módszer
Expanzió
Monte-Carlo integrálás
Iteráció
Diffúz eset: radiosity
Forma faktor számítás
A lineáris egyenletrendszer megoldása
Progresszív finomítás
Véletlen bolyongáson alapuló algoritmusok
Inverz fényút követés
Fény követés
Kétirányú fényút követés
Foton térkép
Program: Inverz fényútkövetés

Raszteres képek csipkézettségének a csökkentése

Előszűrés
A szakaszok csipkézettségének csökkentése
Utószűrés
Program: sugárkövetés kiegészítése csipkézettség csökkentéssel

Textúra leképzés

Paraméterezés
Explicit egyenlettel definiált felületek paraméterezése
Háromszögek paraméterezése
Textúra leképzés a sugárkövetésben
Textúra leképzés az inkrementális képszintézisben
A textúrák szűrése
A képpiramis
Bucka leképzés
Visszaverődés leképzés
Program: sugárkövetés kiegészítése textúraleképzéssel

Térfogat modellek és térfogat-vizualizáció

Direkt térfogat-vizualizációs módszerek
Térfogat vetítés
Térfogati sugárkövetés
A voxel szín és az opacitás származtatása
Indirekt térfogat-vizualizációs módszerek
Masírozó kockák algoritmusa
Fourier tér módszerek
Program: Masírozó kockák algoritmusa

Fraktálok

A Hausdorff-dimenzió
Fraktális dimenzió nem önhasonló objektumokra
Brown-mozgás alkalmazása
Kaotikus dinamikus rendszerek
Kaotikus dinamikus rendszerek a síkon
Julia-halmazok
A Mandelbrot-halmaz
Iterált függvényrendszerek
Iterált függvényrendszerek attraktorának előállítása
IFS modellezés
Fraktális képtömörítés
Program: IFS rajzoló

Számítógépes animáció

Pozíció-orientáció mátrixok interpolációja
A kameraparaméterek interpolációja
Mozgás tervezés
Dupla pufferelés

CD melléklet

Galéria
3D modellek
POV-Ray sugárkövető program
DOOM shareware változatok
Eagles helikopterszimulátor
Stingray Monte-Carlo sugárkövető program
OpenGL anyagok
DirectX anyagok
MGF formátumelemző
JPEG megjelenítő
Demonstrációs programok a könyv fejezeteihez

Irodalomjegyzék

Tárgymutató

Vissza a lap tetejére ComputerBooks kiadványok