Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
A számítógépes grafika elméleti alapjai ______ 1
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai
3 D Grafika
A számítógépes grafika elméleti alapjai ______ 2
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Az emberi látás
Az ember számára a fény az elektromágneses sugárzás azon része, melyet a szem érzékelni
képes és amelynek hatására agyában képérzet alakul ki.
Biológiai alapok:
Az emberi szemben kb. 126 millió fényérzékelő receptor található, amelyek az elektromágneses
sugárzást felfogva a keletkezett ingerületet az idegrendszer útján ( a szemben kb. 1 millió
idegszál található ) az agyba továbbítják. A retinában elhelyezkedő receptorok ú.n. csapok ( kb. 6
millió ) és pálcikák ( kb. 120 millió ) lehetnek. A pálcikák ( rodes ) a fényerősséget és a
világosságot érzékelik, a csapok ( cones ) viszont az ember színlátásában játszanak fontos
szerepet.
Az ember a fényt a 380 nm-es ultraibolya és a 780 nm-es infravörös hullámhossz tartományában
képes érzékelni. Ezen belül a színeket a szemben található
P típusú ( vörös fényre érzékeny )
D típusú ( zöld fényre érzékeny )
T típusú ( kék fényre érzékeny )
színérzékelő csapok különböző erősségű ingerlése alapján látjuk.
Színérzékelésünket a P, D, T csapok együttes , "vegyes" ingerületi állapota határozza meg. A
csapok ingerületi állapotának eredője eredményez egy színárnyalatot.
Az emberi szem kb. 200 színárnyalat eltérését képes megkülönböztetni. Ez nem független a
hullámhossztól, szemünk a legnagyobb érzékenységet az 555 nm környékén ( zöld szín
közelében ) mutatja és ez jelentősen csökken , ahogy a látható színtartomány szélei felé
haladunk. Amennyiben a látható spektrumban egyenletesen sugároz egy fényforrás, akkor a P,
D, T csapok ingerületi állapota azonos lesz. Az eredmény a fehér színérzet.
A fényerősség ill. világosság érzését a szemünkbe érkező fényenergia mennyisége határozza
meg. Az emberi szem a nagyon kis teljesítményű, 10-6 lumen alatti fényt nem érzékeli, a 104
lumen feletti teljesítményű fény pedig elvakít minket. A világosságban szemünk kb. 50
A számítógépes grafika elméleti alapjai ______ 3
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
fokozatot képes megkülönböztetni.
A színes képek érzékelését a szín telitettsége is befolyásolja. A színtelitettség a szín fehér színnel
való felhígítottságának , fátyolosságának mértéke. Ha a vörös fény telitettségét csökkentjük,
fokozatosan rózsaszint kapunk. Szemünk egy konkrét színezeten belül kb. 20 telítettségi
fokozatot tud megkülönböztetni.
Összefoglalva: az ember színlátásában az alábbi összetevők játszanak szerepet:
színárnyalat vagy színezet ( hue )
színtelitettség ( saturation )
fényerősség ( brightness )
A számítógépes grafika elméleti alapjai ______ 4
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Kontúrlátás, térlátás és mozgókép érzékelés
A szem felbontó képességének határa a kísérletek szerint 0,4 mm, így ahhoz, hogy két pontot
meg tudjunk különböztetni, legalább ekkora távolságra kell legyenek egymástól. A monitorok és
a nyomtatók felbontóképességénél van ennek nagy jelentősége.
Vizuális emlékezetünk jórészt a kontúrlátáson alapul., azaz egy tárgy felismerésében annak
körvonalaira, főbb vonalaira támaszkodunk. Képesek vagyunk a képből annak lényegét alkotó
részeit kiemelni és azt elraktározni. Gondoljunk a karikatúrákra és nekik megfelelő fotók
alapvető különbségére. Hogy mennyire kontúrlátásunk rabjai vagyunk, itt egy példa:
A feladat, hogy meghatározzuk az oldalnézetet ( a nehézség, hogy agyunk a kocka alakját őrzi )
Ha különböző távolságokban lévő tárgyakat nézünk, ehhez szemünk a szemlencse
fókusztávolságának módosításával automatikusan alkalmazkodik. A pupilla nyílásának
automatikus változtatása pedig a szemünkbe jutó megfelelő fénymennyiséget biztosítja.
Egy kép térhatásúnak tűnik, ha a közelebbi tárgyakat arányosan nagyobb a távolabbiakat
arányosan kisebb méretben ábrázolja, a tárgyak képén árnyalásokat , takarásokat használ. Ez
javarészt tapasztalatainkon alapuló vizuális emlékezetünknek tulajdonítható. Ezeknek a
modellezése, a tárgyak és a fényviszonyok ismeretében kiszámítása valósághű képek
előállításához vezet.
A számítógépes grafika elméleti alapjai ______ 5
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Egy kép tudatos érzékeléséhez legalább 1/15 másodpercig kell látnunk a képet. Ennél
rövidebb időre felvillanó képet nem érzékelünk tudatosan.A tudat alatti érzékeléshez kellő idő
ennél rövidebb. Amerikában betiltották azt a fajta reklámot, amikor a mozifilmek kockái közé
1/15 másodpercnél rövidebb ideig megjelenő képeket eredményező filmkockákat tettek. ( pl. egy
kellemes tengerparti szerelmi jelenet kockái közé üdítőitalok fényképeit csempészték azzal a
céllal, hogy a nézőben kellemes képzettársítás alakuljon ki az üdítőről. )
Az animációknál, filmeknél fontos, hogy egy másodperc alatt legalább 25 teljes állóképet
jelenítsenek meg. Ennyi kell ahhoz, hogy a szem villogásmentes folyamatos mozgóképet lásson.
A TV a váltottsoros vagy interlaced technikát használja, amely másodpercenként 50 félképet
jelenít meg.
A számítógépes grafika elméleti alapjai ______ 6
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Fénytani alapfogalmak
Sugárzási teljesítmény: ( radiant energy )
Pontszerű fényforrás adott idő alatt kisugárzott energiája. / Watt /
Kisugárzás erősség: ( radiant intensity )
Pontszerű fényforrás időegység alatti, egységsugarú gömb egységnyi térszögébe kisugárzott
energiája.
Besugárzás erősség: ( irradiance )
Adott felület besugárzásának mennyisége, amely Lambert távolság és cosinus törvényével
fogalmazható meg.
A távolságtörvény kimondja, hogy pontszerű fényforrásnál , azonos beesési szögnél a besugárzás
erőssége fordítottan arányos a felületnek a fényforrástól mért távolsága négyzetével.
A cosinus törvény szerint a felület besugárzás erőssége akkor a legnagyobb, ha a fénysugár
iránya azonos a felület normálvektorával, azaz először a vállcsúcsunk és az orrunk ég le a napon,
vagy a déli órákban kell tartani jobban az UV sugárzás ártalmaitól.
Sugársűrűség: ( radiance )
Ha egy pontszerű testünk van, akkor a megvilágított testeknek éles árnyékhatáruk van. Kiterjedt
testeknél viszont azt vehetjük észre, hogy az árnyékos terület fokozatosan megy át világosból
sötétbe. Ennek az az oka, hogy felületformájú kisugárzó testeknél a besugárzás erősség nem csak
a sugárzás irányától, hanem a helyétől is függ.Igy a fogalom adott térszögből időegység alatt az
egységnyi felületre eső sugárzási energiát jelenti.
A fenti sugárzásfizikai mennyiségeknek megvan a fotometriai megfelelőjük. A fotometria a
sugárzásfizika alkalmazásában figyelembe veszi az emberi látás törvényszerűségeit is.Igy a
besugárzás erősség fotometriai megfelelője a megvilágitáserősség,melynek közismert
mértékegysége a LUX.
pl.
éjszakai holdsugárzás : 0,2 lux
A számítógépes grafika elméleti alapjai ______ 7
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
déli napfény: 70000 lux
olvasólámpa: 100 lux
munkavégzéshez 500 lux
Fotometriai mennyiségek:
fénymennyiség: quantity of light
fényáram: liminous flux
A számítógépes grafika elméleti alapjai ______ 8
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
fényerősség:liminous intensity
megvilágitáserősség: illuminance
fénysűrűség: luminance
Fényt sugárzó testek: ( emisszió )
A fényt kisugárzó testeket a sugársűrűséggel vagy a fénysűrűséggel jellemezzük. Az
irányfüggetlen fénysűrűség a radiosity fotorealisztikus renderelő eljárásnak legfontosabb
alapfeltevése. Azokat a testeket , amelyek ilyen módon sugároznak ki fényt, Lambert féle
testeknek nevezzük.
Fényvisszaverődés testek felületéről:
A testek felületéről visszavert fénysugárzást legáltalánosabb formában a spektrális
visszaverődési tényezővel tudjuk leírni, amely a visszavert fény sűrűségének és a beeső sugárzás
megvilágítás - erősségének az aránya. Az arányt szolgáltató függvényt a szakirodalomban
"bidirectional reflection distribution function" azaz BRDF elnevezéssel illetik.
A visszeverődésnek három típusát szokták megkülönböztetni:
1. ideálisan diffúz visszaverődés: Ez a matt, ill. a durva felületek jellemzője. A diffúz
visszaverődést szemléletesen úgy képzelhetjük el, hogy a felület - erős nagyítás esetén látható -
mikroszkopikus tükröző felületelemekből áll, amelyeknek síkjai a legkülönbözőbb szögekben
állnak. Ezért bármilyen irányból nézzük a testet, a visszavert fény képe ugyanolyan.
2. ideálisan tükröződő visszaverődés: pl. a síktükör így tükröz vissza.A beeső fény szöge
egyenlő a visszavert fény szögével. A hagyományos raytracing algoritmusok ezt alkalmazzák.
3. irányított diffúz visszaverődés: ( spekulare reflexion ) A fenti kettő a természetben nagyon
ritka. Gyakori viszont , hogy a visszaverődésnek van egy kitüntetett iránya, amely irányban a
felület a legtöbb fényt veri vissza, majd ahogy ettől az iránytól távolodunk, a visszavert fény
mennyisége egyre csökken. Ezt az esetet irányított diffúz visszaverődésnek nevezzük.
A számítógépes grafika elméleti alapjai ______ 9
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Átlátszó testek, fénytörés:
A fénysugár megtörik, ha egy optikailag ritkább anyagi közeg és egy optikailag sűrűbb anyagi
közeg határán halad át. Az átlátszó testeken történő fényáthaladásnak megkülönböztetjük négy
esetét hasonlóan a visszaverődéshez.
1. diffúz áthaladás
2. irányított diffúz áthaladás
3. durva törés
4. ideális törés
Az átlátszó közegek fontos jellemzője a visszaverő és az áteresztő képesség.
A számítógépes grafika elméleti alapjai ______ 10
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
levegő és víz találkozásakor:
visszaverő képesség: 2%
áteresztő képesség: 98 %.
A számítógépes grafika elméleti alapjai ______ 11
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Színterek
A színkeverés alapjai:
A monitoron található képpontok három részből állnak, melyek egy-egy színösszetevőnek
felelnek meg. Minden egyes képpontrészt különböző intenzitással lehet felgyújtani és ezek
általában a vörös ( RED ), zöld ( GREEN ) és a kék ( BLUE ). A színeknek megfelelő
képpontrészeket 256 intenzitásszinten lehet felvillantani. A szem ezeket külön nem érzékeli,
ezek hatása egy egységes színingerré áll össze bennünk. Az intenzitási szintek alapján összesen
2563 színárnyalat megjelenítésére van lehetőség, ez összesen kb. 16 millió különböző
színárnyalatot jelent.
Grassmann - féle színkeverési törvények:
1. A keverékfény színezetét az összetevők szabják meg.
2. Bármely színinger előállítható három szín additív keverésével, ezért minden színezet
megadásának szükséges és elégséges feltétele három független színezeti jellemző megadása.
3. A színérzet a világossággal nem változik. Ez tehát azt is jelenti, hogy a színérzetet
elvonatkoztatva a világosságtól új fizikai jellemzőt nyerünk: ez a színérzet jellemző.
A második törvényből az is következik, hogy a színek egy három dimenziós matematikai
struktúrát alkotnak, azaz megfeleltethetők egy 3D-s vektortér vektorainak. E vektorteret
szintérnek hívjuk, a tér egyes vektorait színvegyértékeknek. A vektorok hossza megfeleltethető
a fénysűrűségnek ( színérték ) a vektorok iránya pedig a szintopust határozza meg. A szintér
három alapszínét elsődleges vegyértékeknek nevezzük pl. Red, Green, Blue.
Az RGB, a CMY, a CMYK és a HSB színterek:
Elsődleges fényforrások, amelyek maguktól kibocsátanak fényt ( Nap, lámpa, gyertya stb. ).
Másodlagosak azok a fényforrások, amelyek nem képesek önállóan fény kibocsátására, csak azt
visszaverhetik, átereszthetik.
A színkeverésnek két alapvető módja van aszerint, hogy elsődleges vagy másodlagos
fényforrásról van -e szó.
A számítógépes grafika elméleti alapjai ______ 12
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Az összeadó , vagy additív színkeverésnél a vörös , a zöld és a kék alapszínekből vett
meghatározott mennyiségeket adunk össze és így kapjuk a színárnyalatokat. Ezzel az ún.
elsődleges fényforrások színeit tudjuk előállítani.
A szubsztraktiv vagy kivonó szinkeverésnél az alapszínek komlementereiből ( ciánkék,
bíborvörös, sárga ) állítjuk elő a színeket. Ezzel lehet modellezni a különböző tárgyak által
visszavert fényt.
Két szín egymásnak komplementere, ha additív keverésükkor fehéret, szubsztraktiv keverésüknél
pedig feketét kapunk.
A színes, például piros felület a fehér fényből csak a pirosat veri vissza, a többi más
hullámhosszú fényt elnyeli, abszorbeálja.
RGB szintér: vörös , zöld, kék ( red, green, blue ) alapszínekből kikeverhető színeket
tartalmazza, az additív színkeverés modellezéséhez használjuk.
CMY szintér: ciánkék, bíborvörös, sárga ( cyan, magenta, yellow ) alapszínekből kikeverhető
színeket tartalmazza, a szubsztraktiv színkeverés modellezéséhez használjuk.
CMYK szintér: megegyezik a CMY szintérrel, csak még hozzáadódik a fekete szín, tekintve,
hogy a CMY alapszínekből csak szürkét tudunk előállítani, a nyomdatechnikában viszont
szükség van a teljesen fekete színre is.
Az RGB és a CMY színterek közötti átszámítás kölcsönösen egyértelmű:
[ C,M,Y] = [1,1,1] - [ R,G,B]
[R,G,B] = [1,1,1] - [ C,M,Y]
Az RGB és a CMYK színterek között nem lehetséges kölcsönösen egyértelmű megfeleltetés. Az
RGB alapszínek intenzitását 0 és 255 közötti értékkel adjuk meg, a nyomdatechnikában pedig
CMYK alapszíneket 0 és 100 közötti fedettségi értékkel jellemezzük.
HSB szintér: ( HUE : színárnyalat, SATURATION: szintelitettség, BRIGHTNESS : világosság
) Az RGB alapszínek mellett a színek előállításához szükséges színtelitettség és világosság
értékeit is felhasználják. Szokás még HLS szintérnek is nevezni. A HSB szintér jobban
alkalmazkodik az emberi érzékeléshez, mint az RGB vagy a CMY.
A számítógépes grafika elméleti alapjai ______ 13
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Indexelt színkezelés palettával:
A színek kódolására kezdetben 8 bitet használtak, ez 256 fajta színárnyalat kezelését teszi
lehetővé. Ekkor egy színnek a kódját egy 256 elemű színtáblázatra , azaz palettára való
hivatkozás jelentette. A programcsomagok általában több paletta kezelését tették lehetővé.
Többcsatornás színkódolás:
A hardver fejlődésével egyre inkább a többcsatornás szinkódolás vált általánossá. Itt a szintér
alapszíneinek intenzitás értékét külön külön adjuk meg.
Ha három alapszínünk van, akkor csatornánként meg kell határozni, hogy hány biten kódoljuk az
adott alapszín intenzitásértékét:
HIGH-COLOR szinmegjelenités: a három alapszín csatornáját összesen! 16 biten tároljuk ,azaz
216 , kb. 32000 különböző színárnyalat megjelenítését tesszük lehetővé.
TRUE COLOR szinmegjelenités: a három alapszín intenzitását 3X8=24 biten tárolják, ami 224,
azaz kb. 16 millió színárnyalat megjelenítését tesszük lehetővé. Az egyes alapszínek intenzitását
itt a felhasználó egy 0 és 255 közti érték megadásával állíthatja be.
A számítógépes grafika elméleti alapjai ______ 14
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 15
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 16
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A vektorgrafika általános jellemzői
A vektorgrafika egy 3D-s lebegőpontos világ-koordináta-rendszert használ, ezáltal lehetővé teszi
a geometriai pontosságú szerkesztést és transzformációkat.
A vektorgrafika absztrakt modelltérbeli tárgyakkal dolgozik. Ezek az önálló objektumok /
entitások / , melyekkel műveleteket lehet végezni a képernyőn való megjelenéstől függetlenül is.
A vektorgrafikában a grafikus objektumokat adatbázisban tárolják, mely lehetővé teszi az egyes
testek, tárgyak modelljeinek egyedi visszakeresését és az ezek közötti kapcsolatok rögzítését és
kimutathatóságát.
A modelltér és a vektorgrafikus adatbázis kapcsolata
Vektorgrafikus geometriai objektumok adatbázis adatai
Az adatbázisban nem tárgyak, testek képeit, hanem a megfelelő 3D-s világtérbeli geometriai
objektumok matematikai és strukturális adatait dolgozzuk fel. Ezeknek az adatoknak a konkrét
tartalma és megjelenési formája ( pl. csak egy poliéder csúcsainak koordinátáit tároljuk , vagy
emellett még lapjainak normálvektorát is ) a kiválasztott geometriai modellezési eljárástól függ.
A számítógépes grafika elméleti alapjai ______ 17
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A vektorgrafikus objektumok kapcsolatrendszere
A geometriai objektumok közötti kapcsolatok lehetnek:
1. alá-fölérendeltségi hierarchikus viszonyok, melyek jellemző változata a tartalmazás ( pl. ház-
tetőszerkezet-tetőablak )
2. mellérendeltségi viszonyok
-szerkezeti jellegű kapcsolatok ( a hierarchia azonos szintjén lévő objektumok közötti
kapcsolatok )
-illeszkedési jellegű kapcsolatok, amikor az objektumok valamilyen formában csatlakoznak
egymáshoz ( egy kocka csúcsából kiinduló 3 él )
-megjelenités jellegű kapcsolatok, amikor több objektum egy megjelenítéshez ( scene ) tartozik.
A vektorgrafikus geometriai objektumokhoz rendelt tulajdonságok
Az objektumoknak nem csak a strukturális adatait, hanem kifejezetten megjelenés-orientált
jellemzőit is csatolhatjuk az adatbázishoz.
szín,
vonalstílus,
felületi jellemzők : textúrák, fényvisszaverőképesség, érdesség stb.
szövegek.
A számítógépes grafika elméleti alapjai ______ 18
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 19
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 20
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A modelltér geometriai objektumaihoz hozzárendelt mennyiségi és szervezési információk
Jó példa ide a vektorgrafikus térkép, amelyben az úthálózat gráfjához hozzárendeljük az egyes
útszakaszokhoz tartozó sebességkorlátozást is.
A számítógépes grafika elméleti alapjai ______ 21
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A geometriai modellezés alapjai A geometriai modellezés lehet:
1. adatorientált
2. eljárás-orientált
Adatorientált esetben a térbeli alakzat jellemző adatait tároljuk a számítógépes rendszerben ( pl.
háromszög esetében a csúcspontokhoz vezető vektorok koordinátáit ) míg eljárás-orientált
esetben a térbeli alakzat generáló programját ( pl. körgeneráló rutin a kör egyenlete a középpont
és a sugár paraméterei alapján ) .
A vektorgrafikai geometriai modellek az alábbi adatokkal jellemezhetők:
1. a modell neve, azonosítói, a geometriai alakzatot felépítő geometriai építőelemek fajtái,
2. az építőelemek kapcsolódására vonatkozó információk, adatok,
3. a geometriai alakzatra vonatkozó méret-, nagyságadatok,
4. a geometriai alakzatra vonatkozó hely- és helyzetadatok a modellezési világkoordináta-
rendszerben,
5. a geometriai alakzat tulajdonság adatai,
6. a geometriai alakzat megjelenítésének adatai.
Azokat az építőelemeket, melyek tovább már nem bonthatók fel geometriai primitivek nevezzük.
A legtöbb vektorgrafikus rendszerben a geometriai alakzatokat primitívek összeépítésével
hozzák létre.
Primitívek:
2D:
- a vonal ( szakasz )
- a téglalap ( négyzet )
A számítógépes grafika elméleti alapjai ______ 22
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
- az ellipszis ( kör )
- a sokszög
3D:
- hasáb ( beleértve a téglatestet és a kockát is )
- gúla ( csonka gúla )
- henger
- kúp ( csonka kúp )
- gömb
- tórusz
A számítógépes grafika elméleti alapjai ______ 23
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Egyszerűbb modellezőrendszerek a térbeli íveket és felületeket szakasz ill.
háromszögközelitéssel modellezik. Ennél hatékonyabb módszer ,ha paraméteres köbös ívdarab
és kétparaméteres köbös felületfolt primitívekkel állítják elő a térbeli íveket és felületeket ( B-
Spline és NURBS felületek) .
A vektorgrafikában többféle geometriai modellezőrendszert használunk, a legelterjedtebbek:
- huzalvázas ( drótváz ) modellezés
- palástfelületekkel való modellezés ( b-rep )
- tömör testmodellezés ( CSG ).
- térfogat-modellezés / csak az utóbbi időben terjedt el a számítógépek
teljesítménynövekedésének köszönhetően /
Fontos, hogy a különböző modellezési módszerek kombinált alkalmazását a konkrét
vektorgrafikus rendszerek általában megengedik, és ezeket az adatbázis-kezelés szintjén
összekapcsolják. Így például lehetőségünk van egy palástfelületekkel modellezett test huzalvázas
megjelenítésére.
A számítógépes grafika elméleti alapjai ______ 24
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Görbe és felület modellezési módszerek
A görbék és a felületek modellezésénél a felhasználó szemléletes, geometriai adatokat közöl /
kijelöli a nézeten egy pont helyét az egérrel / a vektorgrafikus rendszerrel , mely ez alapján
generálja / állítja elő / a megfelelő görbét vagy felületet. A leggyakrabban olyan térbeli pontokat
adunk meg, amelyeken a az előállítani kivánt görbének vagy felületnek át kell haladnia.
Interpoláció és approximáció
A térbeli görbék és felületek közül azok kiválasztását, amelyek a tér előre adott P1 ... Pn pontjain
áthaladnak, egy interpolációs feladat megoldásának nevezzük. Például legyen adott a P0, P1, P2,
P3 pont az r0, r1, r2, r3 vektorokkal. Keressük azt az r = r(t) vektor skalár függvényt, mely
kielégíti a következő feltételt: található olyan t0, t1, t2, t3 paraméter, hogy r0 = r(t0), r1=r(t1),
r2=r(t2), r3=r(t3) teljesül. Ebben az esetben az r(t) vektor skalár függvényt interpolációs
görbének, a P0, P1, P2, P3 pontokat pedig az interpolációs görbe kontrollpontjainak nevezzük.
A térbeli görbék és felületek modellezésének másik elterjedt módszere az approximáció. Ebben
az esetben egy görbecsaládból ( pl. n-edfokú polinomok ) azt a görbét választjuk ki, mely az
A számítógépes grafika elméleti alapjai ______ 25
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
előre megadott pontokat a lehető legjobban megközelíti. Az approximáció esetén a közelítő
görbe kontrollpontjainak csak egy része helyezkedik el a görbén.
A számítógépes grafikában a térgörbék és felületek modellezésére a harmadfokú polinomokat
választották. A harmadfokú polinomokkal modellezhetők olyan geometriai tulajdonságok, mint
az önmetszés, csúcspont, vagy az inflexiós pont ( ahol az érintő átmetszi a görbét) . Tehát a
görbéket az r=a0+a1.t+a2
.t2+a3.t3 alakú köbös paraméteres ívekkel , a felületeket pedig
kétparaméteres köbös felületekkel közelítjük ( a felületeknél x(u,v), y(u,v), z(u,v) u és v
harmadfokú polinomja).
A spline és a köbös kétparaméteres felületfolt
Az interpolálással és approximálással képzett görbék és felületek előállítására két eltérő módszer
létezik.
1. Az össze interpolálandó vagy approximálandó pontot figyelembe véve egyetlen görbét vagy
felületet határozunk meg.
2. Az interpoláló vagy approximáló görbét vagy felületet egymáshoz folytonosan kapcsolódó
részekből állítjuk össze.
A számítógépes grafika elméleti alapjai ______ 26
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítástechnikában a második módszer vált egyeduralkodóvá, mert egy kontrollpont
változtatása kihat az egész görbére. Ha a modellezendő térgörbét több egymáshoz folytonosan
kapcsolódó ívből állítjuk össze, akkor ezt a görbét spline-nak nevezzük. A ma leggyakrabban
használt NURBS szabvány is ilyen. A spline-ok tehát polinomivdarabokból álló görbék, mely
ívdarabokat a paramétertartomány t0 <= t1 <= t2 <= ... <=tn felosztásával képzünk minden [ ti, ti+1
] intervallumban külön külön. Az ívdarabok összeillesztése folytonosan, differenciálisan / érintő-
meghatározás / történik. Ha a paramétertartományt azonos közökre osztjuk fel , azaz ti+1-ti értéke
minden i-re azonos, akkor a spline-t uniformnak nevezzük.
Ha egy modellezendő felületet részekből állítunk össze, akkor ezt spline-felületnek nevezzük. A
spline felületek részeit leggyakrabban köbös polinomokkal generáljuk, ezeket két paraméteres
köbös felületfoltoknak ( bicubic patch ) nevezzük.
Fontos, hogy a görbékhez , a spline-okhoz léteznek olyan eljárások, amelyek görbékhez
poligonokkal, felületekhez háromszöglapokból álló összefüggő poliéderfelületekkel közelítenek.
A videokártyák chipkészlete alapvetően a háromszögekkel modellezett felületek megjelenítésére
van felkészítve.
A számítógépes grafika elméleti alapjai ______ 27
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 28
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Vektorgrafikus geometriai modellezés
Típusok:
- Huzalvázmodellezés
- Palástmodellezés ( b-rep )
- konstruktív tömör testmodellezés
- térfelosztással való modellezés
Huzalvázmodellezés
A műszaki rajzok szabványain alapuló 2D-s vektorgrafikus rendszerek vonalas ábrázolásának a
háromdimenziós általánosítása. A huzalváz modell a 3D-s alakzatot csúcsaival és éleivel
jellemzi, ennek megfelelően a modell csak a csúcsokat és az ezekhez rendelt összekötő éleket
tartalmazza.
A huzalváz modellek legnagyobb előnye, hogy a számítógépes megvalósításuk algoritmusigénye
a többi modellező módszernél lényegesen kisebb, így viszonylag kis erőforrású számítógépen is
A számítógépes grafika elméleti alapjai ______ 29
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
használhatók.
A huzalvázmodellek legnagyobb problémája, hogy egy huzalvázmodellnek több test is
megfelelhet. Nem mindig tehető különbség a tömör és üreges test között a modell alapján, és a
testet határoló felületek görbültségét sem tudjuk kezelni. A huzalvázmodellezés a nem teljes
értékű modellezések csoportjába tartozik, ami azt jelenti, hogy a modell nem tartalmazza a valós
test leírásához szükséges összes geometriai és csatlakoztatási ( topológiai ) információt.
A számítógépes grafika elméleti alapjai ______ 30
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A huzalvázmodell adatstruktúrájának lényege a csúcs, az él és az él-csúcs táblázatok együttese,
amelyeket a relációs adatbázis-kezelés szabványainak megfelelően építenek fel. Itt a
csúcstáblázat tartalmazza a modellezett objektum egyes csúcsaihoz tartozó azonosítót és
koordinátaértékeket, az él-csúcstáblázat meghatározza, hogy egy él milyen azonositójú csúcsokat
köt össze és hivatkozik az éltáblázatra, mely az élek generálásához szükséges információkat
tartalmazza.A műszaki tervezés gyakorlatában a huzalvázmodellezést alkalmazzák, mivel
gyorsan kiszámítható az eredmény pl. egy transzformációnál és gyorsan láthatóvá is tehető. A
szemléltetési és egyértelműségi problémák kezelésére egyes CAD rendszerekben a modellezést
továbbfejlesztették és a görbült felületeket felületvonalakkal szemléltetik. Ezt felületvonalas
huzalváz modellnek nevezzük.
Palástmodellezés:
A palástmodellezésnél a geometriai objektumokat a vektorgrafikus modelltérben
határolófelületeikkel ( beleértve e felületek csatlakoztatására vonatkozó adatokat is ) jellemzzük.
Ez a műszaki gyakorlatban előforduló testek esetében teljes értékű geometriai modellezést jelent,
mivel a testeket határoló felületeik vagy palástjuk pontjainak összessége a szükséges
pontossággal és egyértelműséggel leírja. A módszer neve az angol szakirodalomban
A számítógépes grafika elméleti alapjai ______ 31
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
BOUNDARY-REPRESENTATION, vagy röviden B-REP.
A palástmodellezés részét képezi a huzalvázmodellezésnél megismert csúcs, él együttes, de ez
kiegészül a testhatároló lapok felületfoltjaival és ezek geometriailag pontos csatlakoztatására
vonatkozó algoritmusokkal. A palástmodellező eljárásokat a lapok geometriai jellemzői szerint
szokták osztályozni:
1. ha a palástot képező lapok síkbeli sokszögekből állnak , akkor poliédermodelleket kapunk,
2. ha a palástot képező lapok változó görbületű felületfoltok is lehetnek, akkor valósághű
palástmodellezésről beszélünk.
Palástmodelleket létrehozhatunk lépésenkénti szerkesztéssel. Ekkor a test határoló felületeit
egyenként definiáljuk a térbeli felületek csatlakoztatási lehetőségeinek függvényében. A
lépésenkénti szerkesztés legegyszerűbb elemi lépéseit Euler-operátoroknak nevezik. Ezek pl. a
következők lehetnek:
- képezz csomópontot, élet és palástot,
- kapcsolj ki ( törölj ) csomópontot, élet.
Ezekkel az operátorokkal az Euler féle poliéder tétel miatt "konvex poliéderekhez hasonló"
testek létrehozása egyértelműen leírható. Minden B-REP test létrehozható az Euler operátorok
véges számú sorozatával, amely eleget tesz az alábbi feltételeknek:
1. A véges számú felületfolt egyesítése a test határfelületét adja,
2. Éleit mindig két csúcs zárja le,
3. Az él két ( vagy páros számú ) határoló felületfolt találkozásakor keletkezik,
4. Minden felületfoltot élek véges számú , záródó sorozata határol,
5. konvex.
Ekkor igaz a b-rep testekre Euler poliéder tétele:
lapszám+csúcsszám = élszám + 2
A számítógépes grafika elméleti alapjai ______ 32
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Ezt először konvex poliéderekre bizonyították, de ez a gömbbel homeomorf topológiai
alakzatokra is általánosítható. Ezért az Euler féle operátorokkal felépíthetünk görbült
felületfoltokat tartalmazó b-rep testeket is.
A műszaki gyakorlatban azonban különböző üreges elemek, térbeli "lyukak" képzésére is
szükségünk van. Ehhez úgynevezett kiegészítő operátorokat alkalmaznak, melyek az
egyszeresen vagy többszörösen lyukas ( tórusz vagy többszörös tórusszal egyenértékű ) testek
létrehozását is biztosítják.
A lépésenkénti szerkesztés mellett a B-REP modellek létrehozásának fontos eszköze a már
tárgyalt "pásztázás" ( SWEEP).
A műszaki tervezőrendszerek fejlettebb változatai már alkalmazzák a "valósághű
palástmodellezés" címszó alatt a B-Spline, a Bézier és a NURBS felületfoltokat is.
A palástmodellek lényegi, egyszerűsített adatstruktúrájának relációs modellje:
Az egyes entitások N:M kapcsolatban állnak, így az adatstruktúra ennek megfelelő számú csúcs-
él, él-lap stb. kapcsoló táblát is tartalmaz. Az adatbázis szerkezete egyben a b-rep modellezés
lényegét is kifejezi: a felületfoltokat nem egyszerűen egymás mellé rakjuk a modellben, hanem
ezek kapcsolata is beépül az adatbázisba.
A palástmodellezést elterjedten a CAD rendszerekben alkalmazzák, mivel a 3D-s műszaki
tervezésben szükséges testek teljes körű geometriai leírását biztosítja és lehetővé teszi a
felhasználó számára a modellezés során a testek "kényelmes", interaktív szerkesztését.
Elterjedését a poliéder modellek parametrizálhatósága is elősegítette valamint az is, hogy a
palástmodellek huzalvázmodellé való konvertálásához szükséges algoritmusok rendelkezésre
állnak. A felületek teljes értékű leírása különösen előnyös lehet az NC ( számjegyvezérlésű )
A számítógépes grafika elméleti alapjai ______ 33
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
automaták programozásában.
Konstruktív tömör test modellezés: Constructive Solid Geometry CSG
A CSG az összetett testeket primitív testekből halmazműveletek ( UNION, DIFFERENCE,
INTERSECTION ) / egyesítés, negáció, metszet / alkalmazásával építi fel. Az elfajulások
elkerülése érdekében regularizált halmazműveleteket használunk, azaz először kivesszük a
halmazokból a határfelületeket, elvégezzük a belső pontokra a halmazműveletet majd a
keletkező halmazt lezárjuk, azaz hozzávesszük annak határpontjait.
A CSG továbbfejlesztéseként jött létre a testpalást modellezés vagy Constructive Shell
Representation: CSR, amely a CSG és a B-REP palástmodellezés előnyös tulajdonságait próbálja
ötvözni:
- a modellezésben részt vevő testeket fa struktúrával írja le,
- a levelek b-rep modellek is lehetnek.
A műszaki tervezés során szükséges testek döntő része előállítható néhány egyszerű geometriai
test ( primitív ) megfelelő kombinációjából.
A számítógépes grafika elméleti alapjai ______ 34
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Térfogatmodellezés elemi sejtekkel / 2D pixel helyett 3D voxel /:
A térfogat-modellezésnél egy tömör tárgyat több egymáshoz csatlakozó, de egymást nem metsző
kisebb tömör tárgyra, azaz sejtekre bontunk fel. A sejteknek két típusa van:
1. A sejtek azonos típusú alakzatok ( pl. hasábok ) , de méretük egy paramétertől függően
változhat,
2. A sejtek azonos típusú és méretű alakzatok, ekkor ezeket voxelnek ( volument element )
nevezzük.
Az azonos formátumú és méretű voxelekkel való kitöltése a modellezendő testnek, ha a
voxeleket elegendő kis méretűre választjuk, a test relatíve pontos leírását eredményezi. A
leggyakoribb voxeltipus a kocka. A modellezendő objektumokat a voxelekkel úgy írjuk le, hogy
minden egyes a testhez teljes egészében vagy csak részben hozzátartozó voxel adatait
hozzárendeljük a testhez. Pontos közelítést minél kisebb voxelekkel tudunk elérni, így azonos
térfogatra kisebb voxelek azok nagyobb számát jelentik. Nagy teljesítményigényű számítógépet
igényel a módszer, ugyanakkor a gépek teljesítményének exponenciális növekedésével a
módszer a jövőben nagy szerepet tölt majd be. Pl. a CT vizsgálat során a berendezés
anyagsűrűséget mér és ez alapján a hozzákapcsolt számítógépben egy térbeli "köd" adatai
jelennek meg. Ha az azonos sűrűségnek megfelelő térrészek modelljét voxelekkel töltjük ki,
megkaphatjuk pl. bármely belső szerv 3D - s képét. Egyenlőre a térfogat-modellezéssel kapott
adatokat hagyományos modellezési eljárásokban használható adatokká konvertálják át.
A számítógépes grafika elméleti alapjai ______ 35
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Műveletek a modelltér vektorgrafikus objektumaival
Művelettípusok:
- új objektum létrehozása,
- egy létező objektum transzformálása, másolása, törlése
- meglévő objektumokkal végzett halmazalgebrai műveletek
- struktúra képzés
- jelenetek ( scene ) megjelenítése
Új objektum létrehozása:
- primitívpéldányokra való hivatkozással,
- szerkesztéssel,
- pásztázással.
Objektum létrehozása szerkesztéssel:
A felhasználó adja meg a vektorgrafikus rendszer számára az összes információt, amely alapján
a térbeli test összeállítható. A módszer tipikusan jellemző a testek palástfelületekkel való
modellezésére ( b-rep ), amikor a felhasználó egyenként meghatározza az egyes fedőlapok,
felületek jellemzőit és ezek csatlakozására vonatkozó adatokat.
Objektum definiálása pásztázással / SWEEP / :
Pásztázásnál egy 2D felületelemet mozgatunk egy vezérgörbe mentén, és ennek során a
felületelem által "súrolt" térbeli pontok egy testet határoznak meg.
A pásztázásnak két speciális esete van :
- a kihúzás ( EXTRUDE )
- a forgatás ( ROTATE )
A számítógépes grafika elméleti alapjai ______ 36
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 37
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Másolás , törlés , transzformáció
A másolás a kijelölt vektorgrafikus objektum egy eltérő nevű ( azonositójú ) példányát hozza
létre a világkoordinátarendszer egy másik helyén.
A törlés egy korábban definiált struktúrába nem beépített objektumot szüntet meg, ami
azonosítójának törlését és a megfelelő adatbázisrész felszabadítását jelenti.
A számítógépes grafika elméleti alapjai ______ 38
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Transzformációk: eltolás, elforgatás ( tükrözés is ), léptékváltás / scale / ( nagyítás, kicsinyítés,
összenyomás, széthúzás ).
Objektumokkal végzett halmazalgebrai műveletek:
Két test között Bool algebrai műveleteket végezve egy új testet kapunk.
- egyesítés ( UNION )
- kivonás ( DIFFERENCE v. SUBSTRACT )
- metszet ( INTERSECTION )
Az objektumok között strukturális kapcsolatok létesítése és megszüntetése
A csoportképzéssel ( GROUP ) objektumokat összefoghatunk egy egységbe, illetve ezt meg is
szüntethetjük. A csoportok általában több szinten hierarchiában is felépíthetők és
rendszerparancsok egy része a csoportokra is értelmezett.
A csoportok közül népszerű a rétegek vagy fóliák ( LAYER ) használata, amelynél a az
objektumok a felhasználó által megadott csoportosításban külön fóliákra kerülhetnek, melyek a
rendszerben külön kezelhetők. Egymásra rakva a fóliákat , láthatjuk a teljes rajzot is. Az egyes
fóliák "lefagyaszthatók" , ekkor tartalmuk például a képernyőn nem jelenik meg. Amennyiben
viszont később a lefagyasztott fóliára szükségünk van, azt elővehetjük és így többcélúan
felhasználhatjuk.
A fóliák segítségével például egy ház építészeti terveit épületgépészeti vagy belsőépítészeti
célokra is felhasználhatjuk.
A számítógépes grafika elméleti alapjai ______ 39
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Kivágás és leképezés
Képgenerálási pipeline:
1. Meg kell adni a modelltér objektumait megvilágító fényforrásokat a
világkoordinátarendszerben.
2. Rögzítenünk kell a nézőpontot vagy a kameraállást a világkoordinátarendszerben.
3. El kell döntenünk, hogy a modelltér milyen objektumait kívánjuk szerepeltetni a generálandó
képben. Ehhez egy ablakot kell definiálni a világkoordinátarendszerben, amelyen keresztül a
jelenetet látjuk.
4. A jelenetben szereplő objektumokat a világkoordinátarendszerből affin és perspektiv
transzformációval egy normalizált ábrázolási térbe kell leképeznünk.
5. Az ábrázolási térben meg kell határozni az objektumok takarási viszonyait, azaz a nézőpontból
látható éleket és felületeket. Ez a látható kép meghatározó algoritmusokkal történik.
6. A látható felületelemek képpontjaihoz ezt követően hozzárendeljük a fényviszonyoknak és a
textúráknak megfelelő színeket.
7. A raszteres képernyőn kiválasztott ablaknak megfelelő pixelekre "vetítjük" a felületelemek
képpontjainak színértékeit a monitor fizikai eszközkoordináta - rendszerében.
A jelenet nézőpontjának definiálásához nyilván meg kell adni annak a pontnak a koordinátáit a
világkoordinátarendszerben, ahova a "fényképezőgépet" elhelyezzük. Szükség van még a
fényképezőgépben lévő film síkjának és az objektív térbeli irányának meghatározására is.
A számítógépes grafika elméleti alapjai ______ 40
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
xf,yf,zf a kamera koordinátarendszer origójának koordinátái a világkoordinátarendszerben
u,v sík a keletkező kép síkja
n az objektív iránya ( a fényképezőgépbe eső fénysugarak "fő iránya" )
A számítógépben a fényképezőgép egy program, a vele felvett tárgyak pedig vektorgrafikus
adatállományok. A jelenet képét az ( u,v ) síkban definiált ablakra történő vetítéssel állítjuk elő.
Ez lehet középpontos vagy párhuzamos vetítés.
A számítógépes grafika elméleti alapjai ______ 41
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 42
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Látható kép meghatározó algoritmusok
A modelltér elemeinek láthatóságát meghatározó algoritmusoknak nyilvánvalóan a 3D-s
látótérben kell működniük, mivel a megjelenítő eszköz 2D-s koordináta-rendszerére való vetítés
megsemmisíti a takarási viszonyokat.
Hátsó felületek eltávolítása: ( Back Face culling )
A zárt , sokszögekből álló objektumokat teljesen körbezárják a felületüket alkotó poligonok. Ha
a poligonok normálvektorait úgy állítjuk be, hogy az objektumból kifelé mutassanak, akkor azok
a poligonok, melyek normálvektorai nem a néző felé mutatnak, biztosan takarva lesznek az
objektum közelebbi felülete által. Ezeket a takarásba kerülő, úgymond hátrafelé néző
poligonokat back face poligonoknak nevezzük és az objektumot leíró adatbázisból való
eltávolításukat eredményező eljárást pedig back face cullingnak. A back face poligonok könnyen
azonosíthatók a normálvektoruk és a vetítés középpontjából a poligonhoz mutató vektor
skalárszorzata által: pozitiv érték esetén a poligon hátrafelé néz.
Ha egy konvex poliédert kell ábrázolnunk , akkor nincs probléma, viszont a front ( elülső )
poligonok is takarhatják egymást.
Az eljárás a poligonok és az őket metsző fénysugár döféspontjainak számát, így a metszés ill. a
döféspontokkal és így a pixelekkel kapcsolatos számításokat megfelezi, tekintve hogy
megközelítőleg annyi poligon van hátul, mint amennyi elöl.
A számítógépes grafika elméleti alapjai ______ 43
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Minimum maximum teszt:
Az objektumok takarási viszonyainak meghatározását segítheti, ha ezeket egyszerűbb testekbe
zárjuk, melyek térbeli elhelyezkedését hatékonyabb algoritmusokkal tudjuk kezelni. Ezeket a
befoglaló testeknek (bounding volume) nevezik.A leggyakrabban használt befoglaló testek a
tégla és a gömb. A renderelési eljárást azért gyorsíthatja, mert azokkal a fénysugarakkal eleve
nem foglalkozik, amelyek nem metszik a befoglaló testet.
a. A két térbeli háromszög nem takarhatja egymást
b. Takarják egymást
c. Nem takarják egymást, de ez min/max teszttel nem dönthető el.
A Z-BUFFER vagy mélységtároló algoritmus:
Az algoritmus két tároló területet használ:
A frame-buffert, amely a képernyő pixeljeihez tartozó színértékeket tárolja, induló feltöltése a
háttérszín.
A Z-buffert, amely az egyes pixelekhez rendelt Z értéket tárolja a normalizált látótérből, kezdeti
értéke a hátsó kivágósik Z koordinátája.
A tér minden egyes normalizált látótérbeli objektumára az alábbi kerül végrehajtásra:
A számítógépes grafika elméleti alapjai ______ 44
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
1. egy (x,y) koordinátájú pixelhez tartozó vetítősugárhoz kiszámoljuk az összes metszett
objektumhoz tartozó z értéket,
2. ha z értéke kisebb, mint egy korábban a z bufferben letárolt érték, akkor ezzel felülírjuk a
korábban letárolt értéket és egyúttal a neki megfelelő színértékkel felülírjuk a frame buffer ( x,y )
koordinátájú tárolóhelyét.
Ezzel kiszámoljuk az egy raszterponthoz tartozó vetítősugárnak az objektumoknak a
nézőponthoz legközelebb fekvő döféspontját.
Teljes megoldást kapunk a takarásra, de nem megoldott az áttetszőség problémája, valamint
tiszta formában alkalmazva rettentő forrásigényes eljárás, tekintve, hogy a raszterpontok száma
milliós nagyságrendű is lehet.
Mélységi rendező algoritmusok ( Depth-Sort):
A megjelenítendő objektumokat a nézőponttól való távolság függvényében sorba kell állítani. A
helyes takarási viszonyok úgy alakulnak ki, hogy a nézőhöz közelebb eső objektum képe
felülírja a távolabbit. Ezek az algoritmusok általában az objektumok poligonokkal, legtöbbször
háromszögekkel való felületi közelítését tételezik fel. Ha egy háromszög z irányban
egyértelműen takarja a másikat, akkor a megjelenítésnél képével felül kell írnia azt, ha nem
dönthető el egyértelműen a takarás, akkor a háromszögeket addig bontjuk részháromszögekre,
A számítógépes grafika elméleti alapjai ______ 45
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
amíg a takarás egyértelműen el nem dönthető. A mélységi rendező algoritmusokat általában
valamilyen képpontosság eljárással pl . (scan line) együtt szokták alkalmazni, mert a
feldarabolást a kép pontossága határozza meg.
Bináris térfelosztó fák ( BSP = Binary Space Partitioning ):
Az ábrázolandó jeleneteket ( scene ) úgy is tekinthetjük, mint objektumcsoportok gyűjteményét.
Ha található olyan sík, amely elválaszt egymástól két objektumcsoportot, akkor az a csoport ,
amelyik oldalán a nézőpont is van, eltakarhatja a másik csoportot, de a másik csoport által
sohasem kerülhet fedésbe. Minden egyes csoport rekurzívan tovább osztható, ha van olyan sík,
amely megfelelően szeparál. Így kellő mélységű szeparálás után egyfajta hierarchiát kapunk,
amely leírja az egész objektumtér takarási és láthatósági viszonyait.A nézőpont változása nem
módosítja a BSP fát , azaz a hierarchiát.
Scan-line algoritmusok:
A scan line algoritmusok pixelsoronként készítik a képet a poligonok ( háromszögek ) frame
bufferbe történő soronkénti konvertálásával. Az objektumokról az algoritmus táblázatokat készít:
1. Képsíkra vetített, nem vízszintes élek táblázata
2. Poligonok fontosabb paramétereinek táblázata
3. az éppen vizsgált azaz aktív él táblázata.
Egy-egy pixelsor vizsgálatakor az él táblázatnak azok az elemei, amelyek metszik a sort,
áttöltődnek az aktív élek táblázatába.
A pixelsor és a háromszögek közös részét szegmensnek nevezzük. Ha a pixelsor szegmense csak
egy háromszöghöz tartozik, akkor ezt egyszerűen meg kell jeleníteni. Ha egy pixel több
szegmenshez tartozik, ekkor a megfelelő háromszögek mélységi vizsgálatával el kell dönteni,
hogy melyik háromszög felületi pontjait kell kirajzolni. / Ezt legcélszerűbben a háromszög
csúcskoordináták interpolációjával oldhatjuk meg. )
A számítógépes grafika elméleti alapjai ______ 46
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Területfelosztó algoritmusok:
Warnock algoritmusa: A képsíkot több képrészre osztjuk. Warnocknál ez 4.
A negyedelést kellő finomság eléréséhez igény szerint rekurzívan folytathatjuk.
1.Ha a képrésznek nincs közös része a poligonnal akkor a háttér szín jelenik meg.
2. A képrészben csak egyetlen poligonnak a darabja található. Ekkor a háttér szín mellett ezt is
meg kell jeleníteni.
3. Az adott képrész a poligon teljesen lefedi, ekkor a poligon színét és jellemzőit kell
megjeleníteni.
4. Több poligon is metszi a képrészt, ekkor pl. z buffer eljárással kapott sorrend szerint egymásra
kell festeni a poligonokat.
Ha olyan esettel találkozunk, hogy nem sorolható a fenti négy eset valamelyikébe ( pl. egymást a
képrészben kölcsönösen metsző háromszögek ) akkor a képrész újranegyedelésével előbb utóbb
eldönthetjük a festés színét.
Sugárkövetéses algoritmusok: ( Raytracing )
A raytracing algoritmusok a felületek láthatóságát a nézőpontból kiinduló , képzeletbeli
fénysugarak követésével határozzák meg. Működésükhöz egy nézőpontot és egy tetszőleges
vetítési síkon felvett ablakot kell definiálni. Az ablak rácsozata a képernyő pixeljeinek felel meg.
A számítógépes grafika elméleti alapjai ______ 47
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A nézőpontból vetítő sugarat indítunk az ablak minden egyes pixelén keresztül a scene
objektumai felé. Az adott pixel színét a sugár által a nézőponthoz legközelebb metszett objektum
színe határozza meg.
A számítógépes grafika elméleti alapjai ______ 48
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Megvilágítás és árnyalás
A modelltér egy objektumának felületén látható színárnyalatokat a következő tényezők
befolyásolják:
a fényforrás típusa ( pontszerű, kiterjedt stb. ),
a fényforrás sugárzásának erőssége
a felület fényvisszaverő képessége
a felület és a fényforrás távolsága
a felület normálisa és a fénysugár által bezárt szög.
Fényforrások modellezése:
Szórt háttérvilágítás ( ambient light ) : A fizikában nem értelmezhető. A számítógépes
grafikában azért vezették be, hogy a felhasználó az ábrázolt jelenet összes objektumának a
megvilágítását szabályozhassa. Hatása jó közelítéssel a nappali fénynek felel meg egy erősen
felhős égbolt esetén, amikor a testek egyenletesen , minden irányból kapnak fényt. A tér minden
objektuma így a tér minden irányából azonos fénnyel lesz megvilágítva. Ehhez általában
háttérvilágítást állítunk be, a jobb láthatóság kedvéért. A háttérvilágítás nem eredményez
árnyékot.
A számítógépes grafika elméleti alapjai ______ 49
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Távoli fényforrások ( Distant light ): Ezek párhuzamos fénysugarakat bocsátanak ki oly módon,
hogy a fényforrástól távolodva sem csökken a megvilágítás intenzitása. Ezzel modellezhetjük pl.
a Napot, ami a nagy távolság miatt gyakorlatilag párhuzamos és változatlan erősségű
fénysugarakat bocsát ki. Hatására árnyék képződik.
Pontszerű fényforrások ( Point or Bulb light ): A pontszerű fényforrás a modelltér minden
irányában azonos intenzitással sugároz. A közeli tárgyak erősebben meg lesznek világítva, mint
a távolabbiak a Lambert féle távolságtörvénynek megfelelően. A fényforrástípus éles árnyékot
eredményez.
A számítógépes grafika elméleti alapjai ______ 50
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Megvilágítási modellek:
A megvilágítási modellekkel írjuk le a modelltér objektumainak és a fényforrásoknak a
kapcsolatát. Mindegyik modell egy -egy speciális fényeffektus figyelembevételét teszi lehetővé.
Egy fotorealisztikus kép elkészítésénél több modellt is használunk.
Ismertebb megvilágítási modellek:
1. Általános háttérmegvilágitás ( ambient light ), amikor az objektumok saját színükkel
sugároznak.
A számítógépes grafika elméleti alapjai ______ 51
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
2. Diffúz fényvisszaverődés ( diffuse reflection ), amely matt felületekre jellemző.
3. Csillogó ( fénylő ) fényvisszaverődés ( specular reflection ), amely fénylő felületekre
jellemző.
4. Tükröződő fényvisszaverődés ( total reflection ), amely tükörként viselkedő felületekre
jellemző.
5. Átlátszóság ( transparency ), mely olyan testekre jellemző, melyeken a fénysugár teljes
egészében vagy részben áthalad.
6. Árnyék ( shadow ).
A realisztikus képek előállitásához az egyes megvilágítási modelleket a testek anyagi
minőségétől függően különböző mértékben használhatjuk fel pl.
Anyagfajta Ambient Diffuse Specular Reflection Transparency
Kréta erős erős - - -
Csiszolt fém - - erős erős -
Üveg - - erős átlagos erős
Biliárdgolyó átlagos gyenge erős átlagos -
A lokális megvilágítási modellekben az objektum színét, világosságát más objektumok nem
befolyásolják, ezek csak az objektumtól, a fényforrástól és a nézőponttól függnek. Ilyenek a
háttérmegvilágitás, valamint a diffúz és a csillogó fényvisszaverődés.
A globális megvilágítási modellekben az objektumok színe nemcsak a fényforrásoktól, hanem
más objektumokon áthaladó, illetve más objektumok által visszavert fénytől is függ.
Ambient light:
Itt nincs fényforrás, az objektumok "saját" fényüket bocsátják ki. Ez megfelel annak, hogy a
jelenetet egy irányfüggetlen, szórt fény világítja meg. A megvilágított felületi pont intenzitását
leíró megvilágítási egyenlet:
A számítógépes grafika elméleti alapjai ______ 52
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
I = ka .Ia
ahol Ia a megvilágított felületelem saját intenzitása, ka a háttér megvilágítás erőssége, mely a
jelenet összes objektumára azonos. A háttér ka megvilágitás erősségének mértékét a felhasználó
állíthatja be. Ha k = 0, akkor az árnyékban lévő objektumok feketék, k növekvő értékével pedig
az objektumok árnyéktere egyre jobban lesz megvilágítva. ( k = 0 érték a világűr viszonyainak
felel meg.
Diffúz visszaverődés ( diffuse reflection ):
A diffúz visszaverődés a matt felületek jellemzője, ezek a Lambert - féle megvilágítási
törvényekkel modellezhetők. Ezért a megvilágítási egyenlet pontszerű, Ip intenzitású fényforrás
esetén:
Ip=fan.Ip.kd.cos(n,l)
ahol:
fan = a fényforrás távolságtól függő gyengülését kifejező tényező.
kd = a felület anyagi minősége szerint beállítandó 0 és 1 közé eső diffúz visszaverődési
együttható.
cos ( n,l ) = a felület felületi normálisa és a fénysugár iránya által bezárt szög
A gyakorlatban a diffúz visszaverődést és a szórt háttérfényt együttesen szokták alkalmazni.
Az eddigiek monokromatikus fényforrásokra vonatkoztak, de a megvilágítási egyenletek
könnyen általánosíthatók színes megjelenítésre is.
Fényes fényvisszaverődés: ( specular reflection ):
A sima felületek produkálnak ilyet, nevezetesen hogy a felületen fényes foltokat látunk és a
nézőpont változtatatásával ezek is elmozdulnak. Más néven irányított diffúz visszaverődésnek,
vagy Phong féle megvilágítási modellnek nevezzük. A Phong féle megvilágítási egyenlet az
alábbi formátumú:
I = fan.Ip.ks.(cos(v,r))n
A számítógépes grafika elméleti alapjai ______ 53
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
ahol
ks = a felület fényvisszaverő képességét jellemző specular visszaverődési együttható
cos (v,r) = az ideális tükrözésnél kilépő fénysugár és a nézőpont iránya által bezárt szög
koszinusza
n = az anyag simaságára jellemző specular visszaverődési kitevő
Lokális megvilágítási algoritmusok:
A megvilágítási modellek alapján a jelenetben szereplő minden egyes objektum minden egyes
pontjára meghatározható a pontnak megfelelő pixel szín és intenzitásértéke. A szín és
intenzitásértékek minden egyes pontra való meghatározása a számítógép számára is túl hosszú
idő lenne.
Ha a test határoló felülete poligonokból áll, akkor ( feltéve, hogy fényfolthatással nem kell
számolnunk ) elegendő a poligon egy pontjához tartozó szín és intenzitásértéket meghatározni és
ezt követően a poligont ezzel a színnel kitölteni. Ebben az esetben a kiszámítás műveleti igénye
nem a felületi pontok számával, hanem a testet borító poligonok darabszámával lesz arányos. Így
a nem poligon határolta testeket a megvilágítás kiszámításához sokszögekkel , leggyakrabban
háromszögekkel szokták közelíteni. A sokszögekre bontott testekre dolgozták ki a lokális
megvilágítási algoritmusokat, amelyekkel elég finom felbontás esetén a görbült felületeket is jól
meg tudjuk jeleníteni. A legfontosabbak:
A számítógépes grafika elméleti alapjai ______ 54
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Flat shading
Gouraud shading
A számítógépes grafika elméleti alapjai ______ 55
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Phong Shading
Flat shading: az objektumok árnyalásának az a legegyszerűbb módja, hogy minden egyes
poligont azonos színnel jelenítünk meg, ez a constant vagy flat shading. Az eljárás a szórt
háttérvilágítás és a diffúz visszaverődés együttes megvilágítási modelljét használja, ezért egy
felületi sokszög színének meghatározásához elegendő a poligon normálvektorának kiszámítása
és a fényforrás jellemzőinek ismerete.
Gouraud shading: Az interpolált árnyalás technikáját először háromszög közelitésű testekre
dolgozták ki, melyet Gouraud általánosított tetszőleges poligonokra. Más néven intenzitás
interpoláló eljárásnak mondjuk.
1. Minden csúcspontban, ahol háromszögek találkoznak, kiszámítjuk a találkozó lapokhoz
tartozó normálisok átlagát , így kapunk csúcspontonként egy ún. "pszeudo-normálist".
2. A szórt háttérvilágítás és a diffúz visszaverődés megvilágítási modellje alapján kiszámítjuk a
modelltérben a csúcsok intenzitásértékét a pszeudo-normálisból.
3. Vetítjük a háromszögeket a képsíkra és itt a csúcsok intenzitás értékeit interpoláljuk az élekre
és lapokra.
Phong shading: A normálvektor interpoláló árnyalásnak is mondott eljárásban a felületi
normálvektorokat interpoláljuk és nem az intenzitásértékeket. Specular visszaverődési modell
A számítógépes grafika elméleti alapjai ______ 56
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
esetén jelentős a különbség a Gouraud és a Phong árnyalás között, az utóbbi sokkal élethűbben
adja vissza a felületeken megjelenő fényfoltokat.
Árnyékok, átlátszóság és tükröződés
A láthatósági algoritmusok azt határozzák meg, hogy mely felületek láthatóak a nézőpontból, az
árnyékokat előállító algoritmusok pedig azt , hogy melyek láthatóak a fényforrásból.
A megvilágítási egyenletben az árnyékhatást úgy fejezhetjük ki, hogy a pontszerű fényforrásokra
vonatkozó részt kiegészítjük egy S árnyékfaktorral, melynek értéke 1, ha a pont a fényforrásból
látható, egyébként 0.
Árnyékképzés scan-line algoritmussal:
Ez a legkorábbi eljárás. A fényforrást vetítési középpontként felhasználva a potenciális
árnyékképző objektumok éleit rávetítjük az aktuálisan vizsgált pixelsort metsző poligonokra.
Amikor a konverziós folyamat elér egy ilyen árnyék élhez, a megjelenített pixelek színét
megfelelően változtatjuk.
Árnyék testeket használó algoritmusok:
Az árnyéktestek a térnek azt a részét töltik ki, melyeket egy-egy objektum eltakar a
A számítógépes grafika elméleti alapjai ______ 57
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
fényforrástól. Az árnyéktestet egy objektum és egy fényforrás definiálja, határait pedig
láthatatlan árnyékpoligonok alkotják. Azok a felületelemek, melyek benne vannak legalább egy
árnyéktestben, árnyékban lesznek. Több fényforrás esetén minden objektumhoz több
árnyéktestet kell készíteni.
A z-buffer algoritmus felhasználása árnyékok meghatározására:
A z-buffer algoritmus kétszeri alkalmazásával ( nézőpontra és fényforrásra ).Az eljárás a
fényforrást használva vetítési középpontként kitölt egy z-buffert, melyben a fényforrástól mért
távolságokat rögzítik. Ezután a sima z-buffer algoritmus meghatározza a látható felületi
pontokat, de az egyes pontok árnyalásakor a pontok térbeli koordinátáit áttranszformálja a
fényforrás középpontú rendszerbe és a z koordinátákat összeveti az árnyék z - bufferben lévő
távolságértékekkel. Ha a transzformált pont z koordinátája nagyobb, mint a bufferben tárolt
érték, akkor a megvizsgált pont távolabb van a fényforrástól, tehát árnyékban van.
Átlátszósági algoritmusok
1. Törésmentes átlátszósági eljárások: interpoláló és szűrő algoritmusok,
2. Törő átlátszósági eljárások: a fénytörés törvényei szerint kezelik a testeken átmenő
fénysugarakat.
Az interpolációt használó algoritmusok az átlátszó felülethez és a mögötte lévő átlátszatlan
felülethez tartozó sokszögekhez tartozó árnyalatokat lineárisan interpolálják.
A szűrt átlátszóság algoritmusai az áttetsző felülethez tartozó sokszögeket szűrőként modellezik,
melyek a különböző hullámhosszú fényt eltérő arányban engedik át.
Több látható felület meghatározó algoritmust is kiegészítettek oly módon, hogy az átlátszóságot
is képesek legyenek kezelni. Ilyen változata létezik a scan-line és a z-buffer algoritmusoknak.
A törő átlátszóságot és a teljes visszaverődést a raytracing algoritmus tudja igazán jól kezelni.
A számítógépes grafika elméleti alapjai ______ 58
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Tükröződést kezelő algoritmusok:
A tükörszerű visszaverődés modellezésére az ún. reflection mapping technikát dolgozták ki.
Ennél a megjelenítendő tükröző objektum köré olyan gömböt definiálnak, amelyre rávetítik az
objektumot körülvevő modelltér képét. A gömb felületét ezután kétdimenziós textúraként
használják fel. Természetesen ez csak közelíti a valódi tükrözést, ennek ellenére jól szemlélteti a
tükrözést.
A számítógépes grafika elméleti alapjai ______ 59
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 60
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Felületek modellezése, textúrák
Felületi részlet poligonok:
Az objektumainkra jellemző fontosabb részleteket legegyszerűbben újabb poligonok , ún. felületi
részlet poligonok felhasználásával tudjuk megjeleníteni. Ezeket egyszerűen felvisszük a
bázisfelület megfelelő oldalára, azzal párhuzamosan elhelyezve. Az árnyalás során ezek
egyszerűen helyettesítik a bázisfelület megfelelő részletét.
Textúra:
Kétdimenziós képek felületekre történő leképezésével a Catmull által kidolgozott texture
mapping néven ismert algoritmus biztosit lehetőséget felületeink megjelenítésének finomítására.
A művelet során felhasznált képet texture map-nek, vagy textúrának, egyes elemeit pedig texel-
nek hívjuk.
A számítógépen a mintázatok adatait textúra-tárolóterületek tartalmazzák. A mintázatok
lehetnek:
1. egyszerű mintázatnak megfelelő bitmap-ok,
2. ciklikusan ismétlődő mintázatok,
3. változó tartalmú mintázatok
4. olyan változó tartalmú képi információkat tartalmazó textúrák, amelyeket speciális képi
effektusok előállítására alkalmazunk ( pl. environment mapping ).
Textúrák alkalmazása esetén a felületnek megfelelő képernyő rész minden egyes pixelje esetén
meg kell vizsgálni, hogy a hozzátartozó színértéket a mintamező ( texture map ) mennyiben
módosítja.
A számítógépes grafika elméleti alapjai ______ 61
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Az (u,v) koordinátarendszerrel jellemzett textúra map leképezését a 3D-s tér pontjaira, görbült
felületek esetén az alábbi példa lehet szemléletes:
Legyen hozzárendelve az (u,v) koordinátarendszer (0,1), (0,0), (1,0) pontjaihoz a felületen
A számítógépes grafika elméleti alapjai ______ 62
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
P1,P2,P3 pont.
a P1, P2, P3 pontoknak megfelelő sík egy pontjához mutató x vektorra:
x = p1+t1(p2-p1)+t2(p3-p1)
válasszuk most t1-nek a textúra map u koordinátáját, t2-nek pedig a v koordinátáját 0<=u.v<=1.
Ekkor:
x(u,v) = p1+u(p2-p1)+v(p3-p1)
megadja az összefüggést sík felület esetén a texture map és a P1, P2, P3 pontokkal meghatározott
paralelogramma pontjai között.
Algoritmikus, "ismétlődő" textúrák esetén a felületre feszített mintázatot programmal adjuk meg.
Szűrő és képjavító eljárások:
A textúráknak a felületre feszítésekor kialakulhatnak torzulások.
Anti-aliasing: A textúra elemekből képzett ferde vonalak lépcsőzetes kialakulásának
megakadályozását célozza az Edge - antialiasing. A vonal széleinek és a vonal melletti textúrák
színét átlagoljuk és ezt az átlagértéket jelenítjük meg a képen. Ezzel a "simítással" elmossuk a
lépcsőket.
A számítógépes grafika elméleti alapjai ______ 63
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Anisotrop Filtering: A feliratok a ferde textúrákon is olvashatók maradjanak.
Bilinear texture filtering: A textúra egy képpontjának színét a függőleges és vízszintes
irányban mellette lévő 4 pixel színértékének átlagából számítjuk ki. Hatására az éles átmenetek
elmosódnak.
Mip-Mapping: A textúrát több különböző felbontásban is letároljuk. Ha közeledünk a
nézőponttal egy textúrázott objektumhoz, akkor a pixelesedés kizárása érdekében egyre
finomabb felbontású változatot feszítünk fel a felületre.A közelebbi textúrák finomabb felbontást
kapnak, a távolabbiak elmosódottak lesznek. A pixelesedés jól megfigyelhető néhány közismert
first person játék esetében.
Perspective correction: A térhatás elérése érdekében a textúrákat kisebbitve, ferdítve visszük
fel a felületre.
A számítógépes grafika elméleti alapjai ______ 64
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Trilinear texture filtering: A bilinear texture filtering és a mip-mapping kombinációja.A
távolság függvényében egy felülethez több textúra tartozik., melyet a bilineáris szűrésnél
megismert átlagolást követően végrehajtott interpolációhoz használunk fel. Ezáltal a tárgyhoz
való közeledésnél a textúra nem ugrásszerűen változik meg.
Speciális effektusok létrehozása textúrákkal:
Alpha Blending: Átlátszó objektumok modellezésére használjuk. Az ún. alpha bufferben
tároljuk az átlátszó textúra mögötti kép textúráját és megjelenítéskor az átlátszó és az alpha
bufferben tárolt textúra színeit átlagoljuk.
A számítógépes grafika elméleti alapjai ______ 65
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Bump mapping: A megvilágítási modellben szereplő normálvektorokat "zavarjuk össze".
Ennek hatására a felület egyes részei kiemelkednek vagy lesüllyednek. Érdes, durva felületek
modellezésénél használjuk.
Environment Mapping, Reflection Mapping: Így modellezzük egy objektum környezetében
lévő tárgyak visszatükröződését az objektum felszínén. A visszatükrözött tárgy textúráját
használjuk fel a tükröződő felülettel rendelkező tárgy textúrájaként.
A számítógépes grafika elméleti alapjai ______ 66
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Lightning Map: Reális fényviszonyok szimulálása. A környezeti fényviszonyoknak megfelelő
intenzitásértékeket tároljuk le textúraként és megjelenítéskor ezzel módosítjuk a pixelek színét.
A számítógépes grafika elméleti alapjai ______ 67
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Fotorealisztikus képek készítése
A megvilágítási modellek mellett arra is szükség van egy valósághű kép elkészítéséhez, hogy a
jelenet objektumainak egymásra gyakorolt optikai hatását is kezelni tudjuk.
1. többszörös fényvisszaverődés
2. többszörös tükrözés
3. fénytöréssel áthaladó fény
4. reális árnyékhatások
Az ezeket a tulajdonságokat is tartalmazó modelleket globális megvilágítási modelleknek
nevezzük.
Két alapvető típusú algoritmus használatos a leggyakrabban:
Nézőpontfüggő sugárkövetéses algoritmus ( RAYTRACING )
Nézőpontfüggetlen sugársűrűségen alapuló algoritmus ( RADIOSITY)
A nézőpontfüggő algoritmusok diszkrét egységekre bontják a képsik ablakát, előállítva ezzel a
pixeleknek megfelelő olyan pontok halmazát, amelyekre azután kiszámíthatják a megvilágítási
értéket.
A számítógépes grafika elméleti alapjai ______ 68
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A nézőpont független algoritmusok a teret osztják fel, majd a fényviszonyokat úgy dolgozzák
fel, hogy elegendő információhoz jussanak bármely pont megvilágítási értékeinek
meghatározásához.
A nézőpontfüggő algoritmusok könnyen kezelik a tükröződéseket, de a diffúz esetek nagy
munkát jelentenek számukra, a nézőpontfüggetlen algoritmusoknak a diffúz esetek mennek
könnyen, a tükröződésekhez hosszabb eljárásokra van szükségük.
Rekurziv raytracing:
A legelterjedtebb algoritmus. A 3D-s modelltérben definiált objektumok és fényforrások leírása
alapján egy nézőpontból a geometriai optika törvényei szerint követve a többszörösen
visszaverődő fénysugarakat egy fotorealisztikus képet számolunk ki és jelenítünk meg.
A nézőpontból minden egyes cellán keresztül egy vetítősugarat indítunk és meghatározzuk ezek
metszéspontját a modelltér objektumaival. Ezeket elsődleges sugaraknak mondjuk. Az
elsődleges sugarak az objektumok felszínéről visszaverődnek, illetve átlátszó testeken töréssel
áthaladnak, így keletkeznek a másodlagos sugarak., melyek újra visszaverődhetnek vagy
megtörhetnek és így tovább. Az eljárás akkor ér véget, ha a fénysugár már nem ütközik egyetlen
objektumba vagy fényforrásba sem, vagy már elértük az általunk is megadható pontosságot egy
lépésszám megadásával.
Ha egy elsődleges sugár visszaverődve egy felület egy pontjáról eltalál egy fényforrást és nem
kell tükröződést ill. fénytörést figyelembe venni, akkor az elsődleges sugár képzésénél
felhasznált cellának megfeleltetett pixel színe a megvilágítási modellből közvetlenül számítható.
Ez azonban a pixeleknek csak az elsődleges színe lesz, mert előfordulhat, hogy a szóban forgó
felületi pontot az algoritmus későbbi lépéseiben újabb sugár is érinteni fogja.
A felületi pontoknak megfeleltetett pixel színének kiszámításához általános esetben több típusú
másodlagos sugarat is nyomon kell követni.
Ezek lehetnek:
visszatükrözött sugarak,
megtörő sugarak,
a fényforrással összekötő sugarak.
Ha a fényforrással összekötő sugarak, melyeket árnyéksugaraknak is neveznek, beleütköznek
A számítógépes grafika elméleti alapjai ______ 69
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
valamilyen objektumba mielőtt a fényforrást elérnék, akkor a felületi pont árnyékban van és a
megfelelő fényforrást is ki kell hagyni a felületi pontot árnyaló megvilágítási egyenletből.
A fentiek miatt az algoritmus tiszta formában nagyon időigényesen lenne alkalmazható, ezért:
Backward Raytracing: Mivel a fényforrásokból kiinduló fénysugarak többsége olyan, hogy
nem jut el az ablakon keresztül a nézőpontba, jelentősen csökken a számításigény, ha ezekkel
nem foglalkozunk. Ezért az algoritmus csak olyan sugarakat vesz figyelembe, amelyek az ablak
celláin keresztül eljutnak a nézőpontba. A fény terjedésével ellentétben nem a fényforrásból
kiinduló fénysugarakat kezeli, hanem azokat a nézőpontból indított vetítősugarakat, amelyek
visszafelé ( backward) eljutnak a fényforrásba.
Bounding Volumes:A raytracing legidőigényesebb része a vetítősugarak és az objektumok
metszéspontjainak kiszámítása. csak azokat a sugarakat vesszük figyelembe, amelyek metszik a
befoglaló ( bounding ) testeket is.
A raytracing, mint képpontossági algoritmus, raszterfüggő ezért a nézőpont minden egyes
változtatása után újra kell az egész képet kiszámítani.
Raytracing képek:
A számítógépes grafika elméleti alapjai ______ 70
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 71
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A radiosity algoritmus:
A felületek közötti fényenergia csere fizikai törvényeire alapozva dolgozták ki. Először a jelenet
összes objektumának felületére meghatározzák a visszavert és a felület saját sugárzásából adódó
fénymennyiséget, melyből származtatható a globális megvilágítási modell. A fényviszonyokat
így csak egyszer kell kiszámítani, igaz ez sok erőforrást igényel. Minden felület fénysugárzónak
tekintendő és a fényforrások sem pontszerűek, hanem véges kiterjedésű felületekkel vannak
modellezve.
Radiosity képek:
A számítógépes grafika elméleti alapjai ______ 72
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 73
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 74
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A számítógépes grafika elméleti alapjai ______ 75
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
A SZÁMÍTÓGÉPES GRAFIKA ELMÉLETI ALAPJAI ............................................................................................................ 1
AZ EMBERI LÁTÁS........................................................................................................ 2
Biológiai alapok: ............................................................................................................................2
Kontúrlátás, térlátás és mozgókép érzékelés ..............................................................................4
FÉNYTANI ALAPFOGALMAK....................................................................................... 6
Fényvisszaverődés testek felületéről: ...........................................................................................8
Átlátszó testek, fénytörés: .............................................................................................................9
SZÍNTEREK.................................................................................................................. 11
A színkeverés alapjai:..................................................................................................................11
Indexelt színkezelés palettával: ..................................................................................................13
Többcsatornás színkódolás:........................................................................................................13
A VEKTORGRAFIKA ÁLTALÁNOS JELLEMZŐI ....................................................... 16
A modelltér és a vektorgrafikus adatbázis kapcsolata.............................................................16
Vektorgrafikus geometriai objektumok adatbázis adatai .......................................................16
A vektorgrafikus objektumok kapcsolatrendszere ..................................................................17
A vektorgrafikus geometriai objektumokhoz rendelt tulajdonságok.....................................17
A modelltér geometriai objektumaihoz hozzárendelt mennyiségi és szervezési információk.......................................................................................................................................................20
A GEOMETRIAI MODELLEZÉS ALAPJAI .................................................................. 21
GÖRBE ÉS FELÜLET MODELLEZÉSI MÓDSZEREK................................................ 24
Interpoláció és approximáció .....................................................................................................24
A számítógépes grafika elméleti alapjai ______ 76
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
VEKTORGRAFIKUS GEOMETRIAI MODELLEZÉS.................................................... 28
Huzalvázmodellezés.....................................................................................................................28
Palástmodellezés: .........................................................................................................................30
Konstruktív tömör test modellezés: Constructive Solid Geometry CSG ...............................33
Térfogatmodellezés elemi sejtekkel / 2D pixel helyett 3D voxel /:...........................................34
MŰVELETEK A MODELLTÉR VEKTORGRAFIKUS OBJEKTUMAIVAL ................... 35
KIVÁGÁS ÉS LEKÉPEZÉS.......................................................................................... 39
LÁTHATÓ KÉP MEGHATÁROZÓ ALGORITMUSOK................................................. 42
Hátsó felületek eltávolítása: ( Back Face culling ) ....................................................................42
Minimum maximum teszt:..........................................................................................................43
A Z-BUFFER vagy mélységtároló algoritmus:.........................................................................43
Mélységi rendező algoritmusok ( Depth-Sort):.........................................................................44
Bináris térfelosztó fák ( BSP = Binary Space Partitioning ): ..................................................45
Scan-line algoritmusok: ..............................................................................................................45
Területfelosztó algoritmusok:.....................................................................................................46
Sugárkövetéses algoritmusok: ( Raytracing ) ...........................................................................46
MEGVILÁGÍTÁS ÉS ÁRNYALÁS ................................................................................ 48
Fényforrások modellezése:..........................................................................................................48
Megvilágítási modellek: ..............................................................................................................50 Ambient light: ..........................................................................................................................51 Diffúz visszaverődés ( diffuse reflection ):.............................................................................52 Fényes fényvisszaverődés: ( specular reflection ): ................................................................52
Lokális megvilágítási algoritmusok: ..........................................................................................53 Flat shading ..............................................................................................................................54 Gouraud shading .....................................................................................................................54 Phong Shading .........................................................................................................................55
ÁRNYÉKOK, ÁTLÁTSZÓSÁG ÉS TÜKRÖZŐDÉS ..................................................... 56
A számítógépes grafika elméleti alapjai ______ 77
___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa
Árnyékképzés scan-line algoritmussal: .....................................................................................56
Árnyék testeket használó algoritmusok: ...................................................................................56
A z-buffer algoritmus felhasználása árnyékok meghatározására: .........................................57
Átlátszósági algoritmusok...........................................................................................................57
Tükröződést kezelő algoritmusok: .............................................................................................58
FELÜLETEK MODELLEZÉSE, TEXTÚRÁK................................................................ 60
Textúra: ........................................................................................................................................60
Szűrő és képjavító eljárások:......................................................................................................62
Speciális effektusok létrehozása textúrákkal: ...........................................................................64
FOTOREALISZTIKUS KÉPEK KÉSZÍTÉSE................................................................ 67
Rekurziv raytracing: ...................................................................................................................68
A radiosity algoritmus: ...............................................................................................................71