Code: 2-MPG-101/00

Continuous assessment: Project work in exercises

Final assessment: Written and oral examination

Learning outcomes: Students will acquire knowledge of algorithmic solutions to fundamental problems in computer graphics.

Course syllabus:

  1. Introductory information
  2. 2D and 3D transformations
  3. 3D rotation and quaternions
  4. Representations of 3D objects
  5. Determining the visible surface
  6. Projections (central and parallel projection)
  7. Intersection calculation
  8. Clipping
  9. Rasterisation and area filling
  10. Antialiasing
  11. Display pipeline

Exercises are led by Mgr. Marcel Makovník. Further information can be found on the exercise website.

Literature:

SK Ružický E., Ferko A.: Computer Graphics and Image Processing, Bratislava: Sapientia, 1995
CZ Žára J., Beneš B., Felkel P.: Modern Computer Graphics, Computer Press, 1998
EN Watt A.: 3D Computer Graphics (3rd edition), Addison Wesley, 1999
EN Schneider P., Eberly D.: Geometric Tools for Computer Graphics, Morgan Kaufmann, 2003
EN Hearn D., Baker M, Carithers, W.: Computer Graphics with Open GL (4th Edition), Pearson, 2010
EN Sederberg T.: Computer Aided Geometric Design, Brigham Young University, 2012
EN Angel E., Shreiner D.: Interactive Computer Graphics: A Top-Down Approach with WebGL (8th Edition), Pearson, 2020

Supplementary materials for lectures:

Additional recommended study literature:

Study material and notes by Dr J. Chalmovianská (pdf + txt):

  1. Affine transformations
  2. Modelling and representation of 3D objects
  3. Determining visible surface
  4. Projections (projection) (txt)
  5. Intersection calculation
  6. Clipping
  7. Rasterisation (txt)
  8. Antialiasing (txt), antialiasing (scan)
  9. Display pipeline

Notes by Assoc. Prof. V. Zaťko (pdf):

  1. Essential geometry
  2. Overview of geometric object representations
  3. Display pipeline
  4. Rasterisation
  5. Filling
  6. Line clipping
  7. Visibility

Interesting videos:

  • Visualising quaternions - a series of short and engaging videos graphically illustrating the use of quaternions for 3D rotation and stereographic projection
  • Gimbal lock - explanation of the Gimbal lock phenomenon (restriction of degrees of freedom) during rotation of objects using Euler angles

Useful websites:

Source codes of selected algorithms (.py):