Detail předmětu
Základy počítačové grafiky
IZG Ak. rok 2021/2022 letní semestr 6 kreditů
Přehled základních principů počítačové grafiky (vektorová, rastrová) a jejich důsledků pro tvorbu reálných grafických aplikací. Specifikace základních operací rovinné (2D) a prostorové (3D) počítačové grafiky. Specifikace principů a použití hlavních grafických rozhraní. Metody a algoritmy pro: rasterizaci úseček, kružnic a křivek (Bezier, NURBS), ořezávání polygonů, vyplňování vektorových i rastrových uzavřených oblastí. Metody a algoritmy pro: transformaci objektů ve 2D a 3D, řešení viditelnosti, osvětlení, stínování, texturování. Základní principy metod fotorealistického zobrazení 3D scén. Metody geometrické reprezentace 3D objektů. Problematiku vzniku aliasu a metody jeho odstranění.
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 12 hod. pc laboratoře
- 14 hod. projekty
Bodové hodnocení
- 52 bodů závěrečná zkouška (písemná část)
- 10 bodů půlsemestrální test (testová část)
- 18 bodů laboratoře
- 20 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Karas Matej, Ing.
Kohút Jan, Ing. (UPGM)
Milet Tomáš, Ing., Ph.D. (UPGM)
Munzar Milan, Ing.
Polášek Tomáš, Ing. (UPGM)
Vlnas Michal, Ing. (UPGM)
Získané dovednosti, znalosti a kompetence z předmětu
- Studenti porozumí základním principům rovinné (2D) a prostorové (3D) počítačové grafiky.
- Seznámí se s 2D algoritmy pro rasterizaci a ořezávání objektů a vyplňování oblastí.
- Seznámí se s 3D algoritmy pro transformace objektů, řešení viditelnosti, osvětlení, stínování a texturování.
- Seznámí se s metodami pro fotorealistické zobrazení 3D scén.
- Seznámí se s metodami geometrické reprezentace 3D objektů.
- Porozumí principům vzniku aliasu a metodám antialiasingu.
- Studenti porozumí základním principům a použití hlavních grafických rozhraní.
- Naučí se vytvářet grafické aplikace pro zobrazení rastrových i vektorových dat.
- Student se naučí řešit jednoduché problémy, individuálně i v týmu, formou domácích úkolů.
- Zdokonalí se v praktickém užívání programátorských a ladících nástrojů jakož i v praktickém užívání programovacího jazyků C/C++.
Cíle předmětu
Získat přehled v oblasti základních principů rovinné (2D) a prostorové (3D) počítačové grafiky. Seznámit se základními algoritmy a metodami tvorby grafického zobrazení vektorových objektů ve 2D a 3D scénách, především: rasterizace 2D objektů; ořezávání a vyplňování 2D oblastí; transformace objektů; řešení viditelnost, osvětlení, stínování a texturování 3D objektů. Seznámit s principem a použitím hlavních 2D a 3D grafických rozhraní. Naučit se získané znalosti implementovat a používat v reálných grafických aplikacích.
Proč je předmět vyučován
S počítačovou grafikou se dnes setkáváme dennodenně od sledování filmů a hraní her (3D modelování, vizualizace) až po grafická uživatelská rozhraní. Grafické vyjádření je totiž velmi efektivní způsob předání informace mezi počítačem a člověkem.
Ať už se počítačové grafice budete věnovat na plno, nebo jen občas budete potřebovat 'něco vykreslit', je důležité pochopit základní principy a metody grafiky z pohledu programátora.
Ano, existuje množství grafických knihoven, které Vám usnadní práci, ale bez těchto základních znalostí s nimi efektivně pracovat nelze.
Přednášky se tak věnují teoretické stránce algoritmů a metod 2D i 3D grafiky (jak to funguje, co je problém, jak to řešit, atd.) a cvičení společně s projektem se věnují praktické implementaci přednášených algoritmů a metod (jak se to dělá, jak se to napíše, atd.).
Požadované prerekvizitní znalosti a dovednosti
- Je nezbytné mít základní znalosti programování v jazyku C.
Technické vybavení
volně dostupné
- Překladač jazyka C - GCC (MinGW for Windows) nebo MS Visual C++
- Knihovna SDL - https://www.libsdl.org/
- Knihovna OpenGL
Literatura studijní
- Hughes, John F., et al., Computer Graphics: Principles and Practice, Third Edition, Addison-Wesley, 2014
- Lengyel, E.: Mathematics for 3D Game Programming and Computer Graphics, Third Edition, 3rd Edition, 2012
- Watt, Alan H., 3D Computer Graphics, 3rd Edition, Addison-Wesley, 1999.
- Gomes J., et al., Computer Graphics: Theory and Practice, CRC Press, 2012.
- Sellers, G., et al., OpenGL Superbible: Comprehensive Tutorial and Reference, 7th Edition, 2015.
- Materiály k přednáškám a video záznamy přednášek
Literatura referenční
- Beneš, B., Sochor, J., Felkel, P., Žára, J.: Moderní počítačová grafika, 2. vydání, ComputerPress, 2005
Osnova přednášek
- Rastrová a vektorová grafika. Barvy a barevné modely. Redukce barevného prostoru, barevný a monochromatický obraz.
- Generování základních objektů v rastru.
- Vyplňování uzavřených oblastí.
- Transformace ve 2D a 3D.
- Základy vykreslování 3D scény, 3D transformace a projekce.
- Základní principy 2D grafických API, minimalistické 2D kreslítko.
- Antialiasing. Ořezání ve 2D a 3D.
- Křivky v počítačové grafice.
- Reprezentace 3D objektů.
- Lokální osvětlovací modely a spojité stínování ploch. Úvod do OpenGL.
- Řešení viditelnosti 3D objektů.
- Textury a texturování. Moderní počítačová grafika a 3D grafická API.
- Základy fotorealistického zobrazování, raytracing a radiozita.
Osnova počítačových cvičení
- Redukce barevného prostoru.
- Generování základních objektů v rastru.
- Vyplňování uzavřených objektů ve 2D.
- 3D Transformace.
- Zobrazování 2D křivek v rastru.
- Zobrazování 3D scény a základy OpenGL.
Osnova ostatní - projekty, práce
Samostatně řešený projekt vztahující se k problematice předmětu.
Průběžná kontrola studia
- Projekt - 20 bodů.
- Plnění úkolů na cvičeních, 6 x 3 bodů - 18 bodů.
- Půlsemestrální test - 10 bodů.
- Závěrečná písemná zkouška - 52 bodů.
- Minimum pro závěrečnou písemku je 20 bodů.
- Hranice pro úspěšné absolvování předmětu podle pravidel ECTS - 50 bodů.
Kontrolovaná výuka
- Bodovaný projekt studenti odevzdávají elektronicky prostřednictvím informačního systému a je hodnocen na konci semestru.
- Počítačová cvičení jsou hodnocena v jejich průběhu.
- Písemná půlsemestrální a závěrečná písemka.
- V odůvodněných případech lze cvičení nahradit v jiném, než zapsaném termínu a půlsemestrální zkoušku rozšířením závěrečné zkoušky.
Podmínky zápočtu
Pro získání zápočtu a tím pro připuštění ke zkoušce musí student získat celkově nejméně 20 bodů dohromady z projektu, cvičení a půsemestrální písemky. Pokud však bude odhalena nedovolená spolupráce na projektech (plagiátorství), zápočet nebude udělen a dále bude zváženo zahájení disciplinárního řízení.
Zařazení předmětu ve studijních plánech