a szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/a... · a számítógépes...

77
A számítógépes grafika elméleti alapjai ______ 1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 3 3 3 D D D g g g a a a r r r f f f i i i k k k a a a A számítógépes grafika elméleti alapjai 3 D Grafika

Upload: others

Post on 27-Feb-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 2: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 3: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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 )

Page 4: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 5: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 6: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 7: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 8: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 9: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 10: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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 %.

Page 11: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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ó.

Page 12: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 13: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 14: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 14

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 15: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 15

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 16: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 17: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 18: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 18

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 19: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 19

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 20: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 21: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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 )

Page 22: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 23: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 24: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 25: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 26: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 27: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 27

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 28: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 29: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 30: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 31: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 32: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 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ű )

Page 33: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 34: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 35: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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 )

Page 36: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 36

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 37: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 38: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 39: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 40: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 41: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 41

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 42: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 43: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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:

Page 44: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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,

Page 45: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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. )

Page 46: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 47: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 48: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 49: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 50: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 51: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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:

Page 52: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 53: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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:

Page 54: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 54

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Flat shading

Gouraud shading

Page 55: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 56: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 57: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 58: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 59: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 59

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 60: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 61: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 62: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 63: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 64: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 65: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 66: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 67: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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.

Page 68: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 69: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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:

Page 70: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 70

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 71: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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:

Page 72: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 72

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 73: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 73

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 74: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

A számítógépes grafika elméleti alapjai ______ 74

___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ 333 DDD gggaaa rrr fff iii kkk aaa

Page 75: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 76: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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

Page 77: A szamitogepes grafika elmeleti alapjai - people.inf.elte.hue1s/grafika/A... · A számítógépes grafika elméleti alapjai _____ 2

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