{{predmet|Počítačová grafika I|Josef Pelikán|PGR003}}

# Témy #

## úvod, grafický hardware, kreslení v rovine ##

vektorova a rastrova vystupni zarizeni, displeje, prokladani, palety, urychlovace, kreselni usecky (DDA, Bresenham)

## kreslicí algoritmy v rovine (úsecky, krivky, vyplnování) ##

kruznice a elipsy (Bresenham), kresleni kubicke krivky (diferencni celociselny algoritmus), vyplnovani n-uhelnika, srafovani

## vyplnování (souvislá oblast), kreslení písma, anti-aliasing ##

vyplnovani souvisle oblasti (seminkovy algoritmus, radkove vyplnovani), reprezentace a kresleni pisma, "font-cache", vyhlazovani, vicenasobne vzorkovani (supersampling) 

## orezávání orezavani usecek pomoci kodu oblasti (Cohen-Sutherland), parametricke orezavani ##

(Cyrus-Beck, Liang-Barsky), proudove orezavani n-uhelnika (Sutherland-Hodgman)

## monochromatické zobrazování, úvod do rozptylování a púltónování ##

vnimani a zobrazovani sedych odstinu, pultonovani vs. rozptylovani, inkrementalni rastr reprezentovany matici, pravidelny a teckovy rastr, maticove rozptylovani 

## rozptylování a pultónování, úvod do barevného videní ##

rozptylovaci techniky: nahodne rozptylovani, metody distribuce chyby, vice vystupnich odstinu, prakticke ukazky, svetelne spektrum, fyziologie a psychologie videni 

## barevné videní, barevné systémy ##

vlastnosti a vady barevneho videni, doporuceni pro pouzivani barev, virtualni barevna primitiva XYZ, barevny gamut monitoru, barevne systemy CIE-xy, RGB, CMY(K), HSV, aditivni a subtraktivni skladani barev, prevody RGB<->HSV, 

## zobrazování barev ##

true-color zarizeni, barevne palety: univerzalni a adaptovane na konkretni obrazek, vypocet adaptovane palety shlukovou analyzou, \[metodou 'octree'], Heckbertovym algoritmem ('median cut'), ruzna kriteria spojovani a rozdelovani barevnych boxu, barevne palety: typy barevnych palet, topologicke palety pro vyhlazovani ('anti-aliasing'), negraficke informace v palete (bitova maska), 

## barevné palety a jejich speciální pouzití, kódování obrazu, grafické formáty (strucne) ##

\[barevne rozptylovani a pultonovani, barevny tisk,] vice obrazku soucasne ve VideoRAM, animace pomoci palety, RLE kodovani, kvadrantovy strom: kodovani (zdola-nahoru), mnozinove operace s QT, spolecne vetve, linearni ulozeni; 'X-transition list': mnozinove operace; vektorove a rastrove graficke formaty, graficke formaty PCX, Targa, GIF (strucne)

## 3D grafický systém, lineární transformace, slozitejsí transformace, promítací metody ##

schema 3D grafickeho systemu, linearni geometricke transformace, maticove transformace, homogenní souradnice, konstrukce slozenych zobrazeni, vzájemný prevod souradných systému, klasifikace linearnich projekci, rovnobezne promitani (Mongeovo, axonometrie, kosouhle) a perspektiva 

## promítací metody, reprezentace 3D scén, oktantový strom, CSG model ##

implementace projekcnich transformaci, objemove a povrchove reprezentace 3D scen, bunecny model, rychle zobrazovani bunecneho modelu, oktantovy strom, CSG reprezentace, implementace CSG, test bod x CSG strom, zobrazovani metodou vrhani paprsku (ray-casting) 

## povrchové reprezentace, výpocet viditelnosti ##

povrchove reprezentace: VHS(T), okrídlená hrana, Eulerovy operatory, hierarchicky model, algoritmus plovouciho horizontu 

## algoritmy na výpocet viditelnosti I ##

Appeluv algoritmus (carova viditelnost), maliruv algoritmus a hloubkove trideni 

## algoritmy na výpocet viditelnosti II ##

Z-buffer, Watkinsuv algoritmus (radkovy rozklad), Warnockuv algoritmus (rekurzivni deleni obrazovky), viditelnost pri kresleni "zepredu-dozadu"

# Obecné informace k předmětu #

*[Josef Pelikán Homepage](http://cgg.mff.cuni.cz/%7Epepca/)

*[Obecné informace k přednášce NPGR003](http://cgg.mff.cuni.cz/lectures/npgr003.cz.html)
*[Slidy k přednášce NPGR003 ve formátu PDF](http://cgg.mff.cuni.cz/%7Epepca/lectures/pdf/)

*[Aktuální informace ke cvičení](http://cgg.mff.cuni.cz/%7Epepca/lectures/cv/)
*[Témata pro zápočtové úlohy](http://cgg.mff.cuni.cz/JaGrLib/doc/zapocty.html)

*[Výuková knihovna JaGrLib](http://cgg.mff.cuni.cz/JaGrLib/)

# Podmínky získání zápočtu #

## [[JaGrLib]] ##

Grafická knihovna, ve které se píšou zápočty

## Teoretické úlohy ##

* Nalezení vstupních podmínek pro algoritmus, V nichž má algoritmus nejhorší paměťové nároky
    * např. Hranice pro FloodFill v osmi směrech

## Referáty ##

* student si připraví a odprezentuje referát na cvičení

# Otázky ke zkoušce #

Zkouška je ústní, dostanete 2 otázky - např.

1. Půltónovaní a rozptylování

2. Rozdělení projekcí

3. Ořezávání, Cyrus-Beck

4. Vyplňování oblastí

5. Barevné systémy

6. Redukce barev

7. Kreslení křivek - obecně + ukázat na kružnici

8. CSG reprezentace

9. Quadrant tree

10. Malířův algoritmus

11. Watkinsnův algoritmus

12. Plovoucí horizont

13. Z-Buffer

...

{{Stub}}

[Category:Grafika](Category:Grafika)
