Detail předmětu
Základy počítačové grafiky
IZG Ak. rok 2023/2024 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
- 10 bodů půlsemestrální test
- 18 bodů laboratoře
- 20 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Kubík Tibor, Ing. (UPGM)
Milet Tomáš, Ing., Ph.D. (UPGM)
Reich Bořek, Ing. (UPGM)
Šilling Petr, Ing. (UPGM)
Španěl Michal, Ing., Ph.D. (UPGM)
Vaško Marek, Ing. (UPGM)
Cíle předmětu
Studenti získají přehled v oblasti základních principů rovinné (2D) a prostorové (3D) počítačové grafiky.
- Seznámí se 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ámí se s metodami geometrické reprezentace 3D objektů.
- Porozumí principům vzniku aliasu a metodám antialiasingu.
- Seznámí se s metodami pro fotorealistické zobrazení 3D scén.
- Porozumí principům použití hlavních 2D a 3D grafických rozhraní (např. OpenGL) a naučit se vytvářet grafické aplikace pro zobrazení ve 2D a 3D.
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ů.
- Projekt studenti odevzdávají elektronicky prostřednictvím informačního systému a je hodnocen na konci semestru.
- 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ů.
- 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í.
Způsob kontaktu s vyučujícím
- Prostřednictvím emailu, diskusního fóra v Moodle nebo zpráv v IS VUT.
Zařazení předmětu ve studijních plánech
- Program BIT, 2. ročník, povinný
- Program BIT (anglicky), 2. ročník, povinný
- Program IT-BC-3, obor BIT, 2. ročník, povinný