Detail předmětu

Základy počítačové grafiky

IZG Ak. rok 2019/2020 letní semestr 6 kreditů

Aktuální akademický rok

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

česky, anglicky

Zakončení

zápočet+zkouška (písemná)

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)
  • 12 bodů půlsemestrální test (písemná část)
  • 18 bodů laboratoře
  • 18 bodů projekty

Zajišťuje ústav

Přednášející

Cvičící

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.
  • Studenti porozumí základním principům a použití hlavních grafických rozhraní.
  • 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.
  • 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
  • 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

  1. Rastrová a vektorová grafika. Barvy a barevné modely. Redukce barevného prostoru, barevný a monochromatický obraz.
  2. Generování základních objektů v rastru.
  3. Antialiasing. Ořezání ve 2D.
  4. Vyplňování uzavřených oblastí.
  5. Transformace ve 2D a 3D.
  6. Základní principy 2D grafických API, minimalistické 2D kreslítko.
  7. Křivky v počítačové grafice.
  8. Základy vykreslování 3D scény, 3D transformace a projekce.
  9. Reprezentace 3D objektů.
  10. Lokální osvětlovací modely a spojité stínování ploch. Úvod do OpenGL.
  11. Řešení viditelnosti 3D objektů.
  12. Textury a texturování. Moderní počítačová grafika a 3D grafická API.
  13. Základy fotorealistického zobrazování, raytracing a radiozita.

Osnova počítačových cvičení

  1. Grafické formáty, redukce barevného prostoru obrazu.
  2. Generování základních objektů v rastru.
  3. Zobrazování 2D spline křivek.
  4. Vyplňování uzavřených objektů ve 2D.
  5. 3D transformace.
  6. 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 - 18 bodů.
  • Plnění úkolů na cvičeních, 6 x 3 bodů - 18 bodů.
  • Půlsemestrální písemka - 12 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ů.


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í.

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

  • Program BIT, 2. ročník, povinný
  • Program IT-BC-3, obor BIT, 2. ročník, povinný
Nahoru