Způsoby uložení grafické informace Rastr (grid, bitmapa …) Vektor
Rastrové formáty
Barva v počítačové grafice
Elektromagnetické vlnění
Vnímání barvy – spektrální funkce
Barevné modely Prostor všech spektrálních funkcí má nekonečnou dimenzi Lidské oko je schopno rozlišit jen asi 10.000 – 50.000 odstínů Pro reálné použití stačí uvažovat dimenzi 3 Potřebuji zvolit 3 základní barvy, například červená (R), zelená (G), modrá (B)
Model RGB
Aditivní skládání barev
RGB – 256 barev 8 x 8 x 4 stupně
RGB True Color 256 x 256 x 256 = 16.777.216 barev
CMY model Model subtraktivní
CMYK model Barva K namíchaná z CMY není přesná Je to levnější
Model HLS
Některé formáty rastrové grafiky BMP – bez komprese PCX – bezztrátová komprese RLE (zastaralé, vhodné pro jednobarevné plochy) PNG – bezztrátová komprese LZW (vhodné pro pravidelné vzory) GIF – bezztrátová komprese LZW + redukce na 256 barev (vhodné pro jednoduchá loga) JPG – ztrátová komprese JPEG (vhodné pro fotografie)
Vektorová grafika
Vektorové entity Úsečka Kružnice, elipsa, kruhový oblouk,… Složitější křivky, splajny, Bézierovy křivky, … Plochy Tělesa Modely
Interpolace Křivka prochází přímo zadanými body
Interpolace polynomem Lineární – 2 body Kvadratická – 3 body Polynom n-tého stupně – n+1 bodů
Lineární interpolace
Kvadratická interpolace
Interpolace polynomem 4 stupně Interpolované body: (-2,4) (-1,0) (0,3) (1,1) (2,-5) Rovnice: 16a -8b +4c -2d + e = 4 a - b + c -d +e = -3 e = 3 a + b + c + d +e = 1 16a +8b +4c +2d +e =-5 Řešení: a=0.458 b=-0.75 c=-2.95 d=1.25 e=3 Funkce: 0.458*x^4-0.75*x^3-2.95*x^2+1.25*x+3
Spline křivka Křivka se skládá z úseků vyjádřených polynom nižšího stupně, než odpovídá počtu bodů. Křivky na sebe v hraničních bodech hladce navazují
Lineární „spline“ Polynomy prvního stupně. V hraničních bodech na sebe navazují spojitě. Není zaručena spojitost ani první derivace. Česky se tomu říká lomená čára
Kvadratický spline Křivka jsou úseky parabol. V hraničních bodech na sebe paraboly hladce navazují – mají spojitou první derivaci. Další derivace nemusí být (a obvykle nejsou) spojité. Je nejpoužívanější, pokud se řekne jen spline, myslí se obvykle kvadratický spline (viz AutoCAD)
Kvadratický spline
Bézierova aproximace (Bézierova křivka) Aproximace polynomem daného stupně n-tý stupeň pro n+1 bodů P0,P1,…,Pn Křivka prochází krajními body P0 a Pn Tečna v počátečním bodě P0 je rovnoběžná s vektorem P0P1. Tečna v koncovém bodě Pn je rovnoběžná s vektorem Pn-1 Pn Celá křivka leží v konvexním obalu bodů P0, … ,Pn
Vyjádření Bézierovy křivky
Lineární Bézierova křivka B(t) = (1-t).P0 + t.P1 Parametrická rovnice úsečky
Kvadratická Bézierova křivka B(t) = (1-t)2P0 + 2t(1-t)P1 + t2P2
Kubická Bézierova křivka B(t) = (1-t)3P0 + 3t(1-t)2P1 + 3t2(1-t)P2 + t3P3
B-spline Úseky Bézierových křivek nižších stupňů (obvykle kvadratické a kubické křivky) budou v krajních bodech na sebe hladce navázány.
Příklad B spline křivky 6 řídících bodů → 2 paraboly (2 Bézierovy křivky 2, stupně)