Charles Explorer logo
🇬🇧

Introduction to Computer Graphics

Class at Faculty of Mathematics and Physics |
NPGR003

Syllabus

-

1. graphic hardware: vector and raster displays, color palettes, frame-buffers, printers and plotters -

2. 2D drawing: line drawing - DDA algorithm, Bresenham algorithm, circle, ellipse, polygonal curve -

3. 2D filling: polygon filling - scanline algorithm, flood fill, seed fill, scanline algorithms, hatching -

4. clipping: line-clipping algorithms, polygon clipping -

5. halftoning and dithering: patterns and their matrix representations, incremental patterns, ordered dither, cluster dither, random dither, error distribution - Floyd-Steinberg, modifications for more output values and color images -

6. colors: human color perception, use of color in human-computer interaction, color spaces RGB, HSV, CMY(K), color mixing, RGBHSV and RGB->grayscale conversions -

7. color reproduction: 'true-color' devices, colormaps, 3-3-2 colormap, topological colormaps, color quantization - Heckbert's median cut algorithm, special colormap effects, colormap animation -

8. 2D raster image representation: RLE coding, quadtree - coding and decoding algorithms, 'X-transition list', set operations, raster graphic formats -

9. linear transformations: homogeneous coordinates, matrix transformation, elementar (atomic) transformations, construction of complex transformations -

10. projections: parallel projection - orthogonal and oblique projection, perspective projection, implemetation of projections -

11. 3D scene representation: enumeration - cell model, octree, volume representation - CSG tree (rendering by ray-casting), boundary representations - VEFS model, winged edge -

12. hidden surfaces removal: floating horizont method, back-face culling, Z-buffer, painter's algorithm, scanline algorithms (Watkins), ..

Annotation

Basic course of 2D and 3D computer graphics - topics: 2D drawing, filling and clipping, introduction to color science, rendering of color images, raster image coding and simple compression methods, raster graphic formats, linear 2D and 3D transformations, projections, 3D scene representation, algorithms for hidden line/surface removal, introduction to OpenGL

Labs: programming in C#.

Computer graphics curicullum continues with Computer Graphics II (PGR004), Real-time Graphics (PGR019) and Advanced 2D Computer Graphics (PGR007).