Course: Introduction to Computer Graphics

« Back
Course title Introduction to Computer Graphics
Course code KIV/UPG
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study not specified
Semester Winter and summer
Number of ECTS credits 5
Language of instruction Czech
Status of course Compulsory, Compulsory-optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Kohout Josef, Doc. Ing. Ph.D.
  • Lobaz Petr, Ing. Ph.D.
Course content
1. Introduction to 2D vector graphics: graphic primitives (lines, polygons, conics, arcs) and their use, drawing of curves using line segments and arcs, Bezier curve - properties and its use, pen (stroke) and fill, effects with strokes and hatches. 2. Introduction to 2D vector graphics II: OpenType fonts, font attributes, font size and metrics, text alignment, printing on a printer. 3. Advanced 2D vector graphics: affine transformation in 2D, Boolean operations with graphic primitives, storing a vector image into a file - common vector formats (SVG). 4. Interactive 2D vector graphics: hit detection, application examples of analytic geometry, simple animations, time axis, and triggers. 5. Introduction to 2D bitmap graphics: intensity perception, properties of colour models RGB, CMY and HSV, colour management, ICC profiles, representation of pixel, palette, using raster objects in vector graphics, basic manipulation with a raster image, properties of common bitmap formats (BMP, PNG, JPEG, GIF). 6. Advanced 2D bitmap graphics: image resizing options, convolution, rendering into an image, double buffering, transparency, and watermarking. 7. Introduction to scientific visualization: volume representation, slice-by-slice visualization of volume data, scalar and vector fields, colour mapping, glyphs, and streamlines. 8-9. Introduction to information visualization: the importance of information visualization, visual manipulation, visualization using tables, graphs, diagrams and maps, colour scales. 9-10. Advanced information visualization: visualization of multidimensional data, visualization of hierarchies and workflows, overview and detail. 11. Multimedia: fundamental definitions (clip resolution, HD format, frame rate, codec, container, stereo vs. mono sounds), fundamental methods for video processing, properties of common multimedia formats (e.g., MPEG-2, MPEG-4, MP3). Using multimedia in standalone applications and on the internet. 12. Introduction to 3D graphics: geometry primitives, camera and light models, affine transformation in 3D, 2D textures, creating models in modellers, and common formats for 3D scene description (e.g., X3D). 13. Invited talk (reserve).

Learning activities and teaching methods
Interactive lecture, Lecture with practical applications, One-to-One tutorial, Individual study, Practicum
  • Contact hours - 65 hours per semester
  • Individual project (40) - 40 hours per semester
  • Preparation for an examination (30-60) - 30 hours per semester
prerequisite
Knowledge
popsat principy programování v imperativních jazycích, tj. řídící struktury, cykly, metody, aj
popsat principy objektově orientovaného programování
orientovat se v primitivních datových typech
orientovat se v problematice dynamické alokace paměti, tj. reference, pole, apod
orientovat se v matematických pojmech na úrovni středoškolské matematiky
Skills
implementovat jednoduchý objektově orientovaný program v libovolném progr. jazyce (např. Java), který dokáže načíst strukturovaná data ze souboru do dynamicky zvětšovaného pole objektů
implementovat jednoduchý objektově orientovaný program v libovolném progr. jazyce (např. Java), který dokáže provést nad daty jednoduchý výpočet (např. průměr věků všech osob ženského pohlaví)
implementovat jednoduchý objektově orientovaný program v libovolném progr. jazyce (např. Java), který dokáže vypsat výsledek do konzole, resp. textového souboru
vytvořit v tabulkovém editoru typu MS Excel tabulku obsahující vedle hodnot rovněž vzorce, přičemž buňky dokáže podmíněně formátovat, seřadit a filtrovat
používat prakticky středoškolskou mamatiku, zejména látku týkající se analytické geometrie
Competences
N/A
N/A
learning outcomes
Knowledge
charakterizovat vektorovou a bitmapovou grafiku a jejich nejčastěji používané formáty (SVG, X3D, BMP, GIF, PNG, JPEG, ...)
charakterizovat digitální video a audio a jejich nejčastěji používané formáty (např. MPEG-4, MP3)
vysvětlit rozdíl mezi kresebně orientovaným a objektově orientovaným přístupem pro tvorbu grafiky
orientovat se v přístupech použivaných pro vytváření modelů geom. objektů ve 2D i 3D, tj. cesta, region, sweep, revolve
orientovat se v základních transformacích grafických objektů ve 2D i 3D (translace, rotace, změna měřítka)
popsat nejčastěji používané barevné modely a způsoby ukládání barvy v počítači
popsat prvky scény ve 3D (modely objektů, kamery, světel) vzhledem k zamýšlené formě vizualizace (drátěný model, jednobarevný ploškový model, konstatní a Gouraud stínování, fotorealistický přístup)
popsat základní metody interpolace dat: nejbližší soused, lineární interpolace a (bi)kubická v kontextu změny měřítka bitmapového obrazu a časově proměnlivých parametrů vektorové grafiky (animace)
popsat základní principy úpravy rastrového obrazu: přenosová křivka, konvoluce
popsat nejčastěji používané metody kombinování pixelů více obrazů, tj. alfa-blending, operátory min, max, mul
orientovat se v základních metodách pro vizualizaci skalárních a vektorových polí, tj. barevná mapa, kontury, šipky, streamlines
orientovat se v základních metodách pro vizualizaci číselné i nečíselné informace, hierarchií a vztahů, tj. různé grafy (plot, chart), pavučina, paralelní souřadnice, Senkeyův diagram, mapa, grafy (graph) a stromy, apod.
Skills
vybrat a realizovat vhodný způsob vizualizace dané konkrétní informace a jistých technických parametrů (např. velikost obrazovky) s využitím dostupných nástrojů (např. tabulkový editor typu MS Excel, editor obrázků typu Adobe Photoshop) nebo prostřednictvím vlastní jednoduché aplikace (napsané např. v progr. jazyce Java s využitím dostupných vizualizačních knihoven), např. vizualizace preferencí volebních stran v jednotlivých krajích, prodejnosti zboží internetového obchodu, nebo závislosti stability tenkovrstvého materiálu na teplotě a tlaku, realizované např. barevnou mapou, okomentovaným grafem, apod.
vybrat a realizovat vhodný způsob vizualizace v čase měnící se konkrétní informace, např. vývoj počasí (teplota, srážky, vítr) přes den v celé Evropě realizovaný animovanou, resp. interaktivně se měnící, barevnou mapou teplot s šipkami udávající směr a velikost rychlosti větru
uložit vizualizaci do standardního rastrového nebo vektorového formátu případně do videa prostřednictvím nástrojů (např. InkScape, ffmpeg) nebo vlastní jednoduché aplikace (s využitím dostupných vizualizačních knihoven, např. JFreeSVG, ffmpeg)
zobrazit uloženou vizualizaci prostřednictvím vlastní jednoduché aplikace (s využitím dostupných vizualizačních knihoven) dle charakteru vizualizace
Competences
N/A
rozsáhlejší SP, která není přesně nalinkovaná, takže studenti mají rámcové zadání, byť hodně detailní, a musí se rozhodovat
teaching methods
Knowledge
Interactive lecture
One-to-One tutorial
Skills
Practicum
Individual study
Competences
Interactive lecture
Individual study
One-to-One tutorial
assessment methods
Knowledge
Written exam
Combined exam
Skills demonstration during practicum
Project
Skills
Skills demonstration during practicum
Project
Competences
Project
Recommended literature
  • Chalupa, Radek. Programování v GDI+ v příkladech - grafika a fotografie ve Visual C++. Praha : BEN - technická literatura, 2007. ISBN 978-80-7300-217-6.
  • Navrátil, Pavel. Počítačová grafika a multimédia. Computer Media, 2007. ISBN 80-86686-77-9.
  • Telea, Alexandru C. Data visualization : principles and practice. Wellesley : A K Peters, 2008. ISBN 978-1-56881-306-6.
  • Tufte, Edward R. Beautiful evidence. Cheshire : Graphics Press, 2006. ISBN 0-9613921-7-7.
  • Ward, Matthew; Grinstein, Georges G.; Keim, Daniel. Interactive data visualization : foundations, techniques, and applications. Natick : A K Peters, 2010. ISBN 978-1-56881-473-5.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester