220 likes | 462 Views
Farebné modely, osvetlenie a tieňovanie. Farebné modely. 1. Model RGB V tomto modeli vzniká farba zložením troch zložiek – červenej (Red), zelenej (Green) a modrej (Blue).
E N D
Farebné modely 1. Model RGB V tomto modeli vzniká farba zložením troch zložiek – červenej (Red), zelenej (Green) a modrej (Blue). Každá zo zložiek je reprezentovaná svojou intenzitou (0..1, 0..255 a pod.). Minimálna intenzita zodpovedá čiernej, maximálna zase najintenzívnejšej čistej farbe. Čiernu farbu dostaneme, ak sú intenzity všetkých troch zložiek nulové, bielu získame, ak sú intenzity všetkých zložiek maximálne. Ak sú intenzity všetkých zložiek rovnaké, dostaneme odtieň šedej. Model RGB je aditívny – čím viac farieb zložíme, tým svetlejšiu farbu dostaneme. Takýto model je vhodný pre obrazovky počítačov a iných zariadení. R=179 G=179 B=99 R=179 G=179 B=0 R=171 G=171 B=171 R=255 G=255 B=255 R=0 G=0 B=0
Farebné modely 2. Model RGBA • V tomto prípade je k červenému, zelenému a modrému kanálu pridaný ďalší, tzv. alfa-kanál. Ten uchováva informáciu o priehľadnosti. • Alfa-kanál má väčšinou rovnaký rozsah ako ostatné tri kanály a určuje, v akom pomere bude daná farba zmiešaná s farbou na pozadí obrazu: • Hodnota 1 (255) znamená nepriehľadný objekt • Hodnota 0 znamená úplne priehľadný objekt Tieto hodnoty môžu byť v rôznych softvéroch rôzne, prípadne vymenené. A=255 A=155 A=85
Farebné modely 3. Model CMY V tomto modeli vytvárame farby skladaním troch zložiek – tyrkysovej (Cyan), fialovej (Magenta) a žltej (Yellow). Čiernu farbu dostaneme, ak sú intenzity všetkých troch zložiek maximálne, bielu získame, ak sú intenzity všetkých zložiek nulové. Ak sú intenzity všetkých zložiek rovnaké, dostaneme odtieň šedej. Tento model je subtraktívny – čím viac farieb zmiešame, tým je výsledná farba tmavšia. Takýto postup zodpovedá skutočnému miešaniu farieb (napr. pri maľovaní) a tento model sa uplatňuje hlavne v tlači, kde výsledná farba vznikne zmiešaním troch rôznych pigmentov. Prevod RGB do CMY: C=1-R, M=1-G, Y=1-B C=76 M=76 Y=156 C=76 M=76 Y=255 C=84 M=84 Y=84 C=0 M=0 Y=0 C=255 M=255 Y=255
Farebné modely 4. Model CMYK Ak používame model CMY pri tlači, tak farebné pigmenty, z ktorých sa farba skladá, nemôžu byť dokonale krycie, pretože výsledná farba sa tvorí ich prekrytím. Môžu preto vzniknúť problémy – zložením všetkých troch zložiek s maximálnou intenzitou nedostaneme čiernu, ale tmavohnedú. V modeli CMYK, je navyše ešte jedna zložka – kľúčová (Key), čo býva čierna, aby bolo možné hodnoverne reprezentovať všetky farby. Prevod z CMY do CMYK: K=min(C,M,Y) X’=(X-K)/(1-K) resp.X’=255(X-K)/(255-K) C=76 C=0 M=76 M=0 Y=156 Y=114 K=76 C=43 C=0 M=189 M=176 Y=67 Y=29 K=43 C=84 C=0 M=84 M=0 Y=84 Y=0 K=84 C=0 C=0 M=0 M=0 Y=0 Y=0 K=0 C=255 C=0 M=255 M=0 Y=255 Y=0 K=255
G Y W R C B M V S K Farebné modely 5. Model HSV • Aj v tomto prípade sa farba skladá pomocou troch zložiek, ktoré však nezodpovedajú farebným komponentom, ale iným charakteristikám farby. Týmito zložkami sú farebný tón (Hue), sýtosť (Saturation) a jasová hodnota (Value). • Farebný tón určuje prevládajúcu spektrálnu farbu. • Sýtosť udáva, nakoľko je daná farba „čistá”, t.j. bez prímesi iných farieb. • Jasová hodnota určuje, koľko bielej farby je primiešanej k farebnému tónu. • Tento model sa znázorňuje pomocou šesťbokého ihlanu: • Uhol otočenia okoli osi ihlanu určuje farebný tón. • Vodorovná relatívna vzdialenosť od osi určuje sýtosť – najsýtejšie farby sú na plášti. • Vzdialenosť od podstavy určuje jas – najjasnejšie farby sú na podstave, vrchol predstavuje čiernu.
W L G Y R C M B S K Farebné modely 6. Model HLS • Model HLS je založený na podobnom princípe ako model HSV. Zložky, pomocou ktorých sa vyjadruje farba, sú farebný tón (Hue), svetlosť (Lightness) a sýtosť (Saturation). • Na rozdiel od modelu HSV je model HLS reprezentovaný kužeľovým útvarom. Ihlan, ktorý reprezentuje HSV je nesymetrický vo vertikálnom smere a pohyb okolo jeho osi by mal prebiehať po šesťuholníkovej dráhe, nie po kružnici. Kužeľové teleso, ktoré predstavuje HLS, tieto vlastnosti odstraňuje. • HLS je reprezentovaný nasledujúcim spôsobom: • Horný vrchol telesa predstavuje bielu, dolný čiernu. • Farebný tón sa mení pohybom okolo osi. • Sýtosť ja daná relatívnou horizontálnou vzdialenosťou od osi – najsýtejšie farby sú na plášti. Najjasnejšie čisté farby sú rozmiestnené okolo najširšieho obvodu telesa.
Farby v počítači • Informácia o farbe môže mať v počítači rôznu veľkosť. Od toho závisí, aké množstvo farieb dokážeme vyjadriť – čím viac pamäti údaj o farbe zaberá, tým viac rôznych farieb môže reprezentovať. • V praxi sa vyskytujú tieto prípady: • 1-bitová farba – dokáže rozlíšiť len dve farby (väčšinou čiernu a bielu). • 8-bitová farba – dokáže obsiahnuť 256 farieb, bývajú to buď odtiene šedej alebo nejakej inej farby alebo paleta 256 rôznych farieb. • 15/16-bitová farba (high color) – môže uchovať 32768, resp. 65536 farieb. Ak máme 15 bitov, tak pri modeli RGB má každá zo zložiek 5 bitov. Pri 16 bitovej farbe má jedna zo zložiek jeden bit naviac, väčšinou zelená, na ktorú je ľudské oko najcitlivejšie. • 24/32-bitová farba (true color) – dokáže vyjadriť 224 (>16 miliónov), resp. 232 (>4 miliardy) farieb. Pri 24-bitovej farbe zodpovedá každý byte jednej zo zložiek R,G,B, pri 32-bitovej farbe používame model RGBA.
Farby v počítači true color 1-bitová farba 8-bitová farba 8-bitová farba
Osvetlenie objektu • Objekt môže byť osvetlený štyrmi základnými typmi zdrojov: • 1. Bodový zdroj V tomto prípade vychádzajú všetky svetelné lúče z jedného bodu a majú rovnakú intenzitu vo všetkých smeroch. Tento typ svetla sa v počítačovej grafike používa najčastejšie. Môže to byť napr. malá žiarovka. • 2. Zdroj rovnobežného svetla Je daný rovinou, z ktorej vychádzajú rovnobežné lúče, ktoré sú na ňu kolmé. Príkladom je napr. slnečné žiarenie dopadajúce na Zem. • 3. Plošný zdroj Tento zdroj sa najviac podobá reálnym zdrojom (môže to byť napr. žiarivka alebo okno, ktorým vchádza svetlo do miestnosti). Je daný plochou, z ktorej vychádzajú lúče a ich smer nemusí byť rovnobežný. • 4. Reflektor Reflektor je bodový zdroj, ktorý vysiela lúče len v určitom rozmedzí, ktoré je dané nekonečným kužeľom. Intenzita týchto lúčov môže byť na okraji kužeľa menšia ako v jeho strede.
Osvetlenie objektu bodový zdroj rovnobežné svetlo reflektor plošný zdroj
Osvetlenie objektu • Ak dopadá na objekt svetlo určitej farby, tak časť z neho je pohltená a časť odrazená. Odrazená časť svetla určuje farbu objektu, ktorú vníma naše oko. • Pri určovaní osvetlenia daného bodu musíme uvažovať tri zložky svetla: • 1. Zrkadlová (specular) zložka Je to svetlo, ktoré sa od povrchu priamo odrazí. Takéto svetlo vytvára odlesky a zrkadlové efekty. Jeho farba môže byť iná ako farba povrchu objektu. Táto zložka je smerová – smer odrazeného lúča je presne daný a vnímanie odrazu sa mení aj s meniacou sa pozíciou pozorovateľa.
Osvetlenie objektu 2. Difúzna zložka Táto zložka je prítomná vždy, ak povrch telesa nie je dokonale hladký. Ak sú na povrchu drobné nerovnosti, dopadajúce svetlo sa neodrazí len v smere, ktorý je daný zákonom odrazu v makroskopickej mierke, ale aj v smeroch, ktoré sa určia v mikroskopickej mierke. Takéto svetlo je potom rozptýlené všetkými smermi, ktoré sú akoby náhodné. Preto táto zložka nie je smerová – bod sa javí rovnako nezávisle od pozície pozorovateľa. Difúzna zložka určuje farbu povrchu telesa. Čím drsnejší (matnejší) je povrch, tým je táto zložka väčšia. zrkadlový odraz difúzia
Osvetlenie objektu 3. Ambientná zložka V reálnych scénach býva viac svetelných zdrojov alebo rôzne objekty, ktoré svetlo odrážajú. Dochádza k mnohonásobným odrazom a k skladaniu svetla zo všetkých zdrojov, svetlo môže byť navyše rozptýlené molekulami vzduchu a pod., čo má za následok, že je prítomné tzv. ambientné (okolité) svetlo. Toto svetlo prichádza zo všetkých strán a rovnako osvetľuje všetky časti objektov. Prítomnosť ambientného svetla má za následok, že nijaká plocha nebude celkom čierna a čím je ambientné svetlo silnejšie, tým svetlejší je výsledný obraz. Ambientné svetlo býva väčšinou biele, najmä pri zložitejších scénach.
N R L V Phongov osvetľovací model • Tento osvetľovací model je empirický, nie je teda založený na skutočných fyzikálnych zákonoch, ale popisuje správanie svetla tak, aby výsledné osvetlenie bolo blízke realite. • Uvažujeme, že objekt je osvetlený bodovým zdrojom a popíšeme osvetlenie jedného konkrétneho bodu. • V tomto modeli vystupujú 4 dôležité jednotkové vektory: • Normálový vektor N – určuje vonkajšiu normálu k povrchu objektu • Svetelný lúč L (smer, z ktorého prichádza svetlo) • Odrazený lúč R (smer, do ktorého je lúč odrazený) – platí R=2(L.N).N-L • Vektor pohľadu V – určuje smer, v ktorom sa na daný bod pozerá pozorovateľ
Phongov osvetľovací model • Budeme uvažovať farebné svetlo a model RGB. Na ilustráciu postačí, ak podrobne popíšeme určenie červenej zložky výsledného svetla. • Majme danú intenzitu červenej zložky dopadajúceho lúča LR.Táto intenzita je daná hodnotou od 0 do 1, prípadne od 0 do 255. • 1. Zrkadlová zložka ISR Uvažujme červenú zložkufarby odlesku SR. Ďalej vystupuje v modeli koeficient odrazu rS, ktorý je rovnaký pre všetky farebné zložky. Udáva, nakoľko je vo výslednom svetle zastúpený odraz a má hodnoty od 0 do 1. Ďalším parametrom je ostrosť zrkadlového odrazu h, ktorá môže mať hodnoty od 1 do . Čím je táto hodnota vyššia, tým je odlesk menej rozptýlený a ostrejší. Intenzita odrazenej zložky závisí od polohy pozorovateľa voči odrazenému lúču. Najvýraznejšie je odlesk viditeľný, ak sa pozorovateľ pozerá priamo v smere odrazeného lúča. Ak je uhol medzi V a R rovný alebo väčší 90°, odlesk už nie je viditeľný. Platí: ISR=LRSRrS(V.R)h
Phongov osvetľovací model 2. Difúzna zložka IDR Difúzna zložka určuje farbu samotného telesa, teda farbu, ktorú by teleso malo bez odleskov a ambientného svetla. Uvažujme červenú zložku farby telesa DR. Opäť máme daný koeficient difúzie rD, ktorý má hodnotu od 0 do 1 a je rovnaký pre všetky zložky. Udáva, nakoľko je vo výlednom svetle zastúpená difúzna zložka. Difúzna zložka nezávisí od polohy pozorovateľa, lebo svetlo je rozptýlené všetkými smermi. Závisí len od polohy svetelného lúča voči normále plochy v danom bode. Objekt je najviac osvetlený tam, kde lúče naň dopadajú kolmo, teda uhol medzi normálou a lúčom je 0°. Čím je uhol väčší, tým je osvetlenie menej intenzívne a pri uhle väčšom alebo rovnom 90° už bod nie je osvetlený vôbec. Máme teda: IDR=LRDRrD(L.N)
Phongov osvetľovací model • 3. Ambietná zložka IAR Ambientné svetlo prichádza zo všetkých smerov, nezávisí od intenzity uvažovaného svetelného lúča, od normály ani od pozície pozorovateľa. Potrebujeme poznať červenú zložku jeho farby AR a ambientný koeficient rA, ktorý má hodnotu od 0 do 1. Potom platí: IAR=ARrA • Výslednú intenzitu IR vypočítame súčtom týchto troch zložiek: IR=ISR+IDR+IAR • Ak máme v scéne viac svetelných zdrojov, musíme sčítať zrkadlové a difúzne zložky, ktoré sú nimi dané. Ambientná zložka je len jedna. • Pre modrú a zelenú zložku postupujeme úplne rovnako.
Tieňovanie Tieňovanie (shading) je určenie výslednej farby povrchu zobrazovaného osvetleného objektu. Keďže vyhodnocovanie osvetľovacieho modelu v každom bode povrchu je výpočtovo veľmi náročné, v praxi používame metódy, ktoré tento postup len nejakým spôsobom aproximujú. Predpokladajme, že máme teleso aproximované rovinnými plôškami. 1. Konštantné tieňovanie (flat shading) Je to veľmi rýchla a jednoduchá metóda. Vychádza z toho, že každá plôška má jednu normálu. Na základe tejto normály sa vyhodnotí osvetľovací model (Phongov alebo iný) a celá plôška bude mať konštantnú farbu.
D C (x,y) E F A B Tieňovanie 2. Gouraudovo tieňovanie V tomto prípade už plôšky nemajú konštantnú farbu, čím sa zvyšuje realistickosť obrazu. Vychádzame z toho, že máme danú normálu k aproximovanej ploche v každom vrchole. Potom v každom vrchole plôšky (n-uholníka) vyhodnotíme osvetľovací model, každý vrchol teda bude mať svoju farbu. Výslednú farbu v každom bode plôšky určíme bilineárnou interpoláciou.
Tieňovanie 3. Phongovo tieňovanie Pri tomto tieňovaní máme takisto dané normály vo všetkých vrcholoch telesa. Potom ale neinterpolujeme farby v bodoch polygónu, ale priamo normály. Keď už máme určenú normálu v každom bode, vyhodnotíme v ňom osvetľovací model a určíme jeho farbu. Toto tieňovanie je najrealistickejšie, ale výpočtovo najnáročnejšie. Phong Gouraud flat