Title:  Computer Graphics Principles 

Code:  IZG 

Ac.Year:  2018/2019 

Sem:  Summer 

Curriculums:  Programme  Field/ Specialization  Year  Duty 
BIT    2nd  Compulsory 
ITBC3  BIT  2nd  Compulsory 


Language of Instruction:  Czech 

Private info:  http://www.fit.vutbr.cz/study/courses/IZG/private/ 

Credits:  6 

Completion:  credit+exam (written) 

Type of instruction:  Hour/sem  Lectures  Seminar Exercises  Laboratory Exercises  Computer Exercises  Other 

Hours:  39  0  0  12  14 

 Exams  Tests  Exercises  Laboratories  Other 

Points:  52  12  0  18  18 



Guarantor:  Španěl Michal, Ing., Ph.D. (DCGM) 

Deputy guarantor:  Milet Tomáš, Ing. (DCGM) 

Lecturer:  Milet Tomáš, Ing. (DCGM) Španěl Michal, Ing., Ph.D. (DCGM) 
Instructor:  Bobák Petr, Ing. (DCGM) Chlubna Tomáš, Ing. (DCGM) Kišš Martin, Ing. (DCGM) Milet Tomáš, Ing. (DCGM) Teuer Lukáš, Ing. (DCGM) Tomešek Jan, Ing. (DCGM) 

Faculty:  Faculty of Information Technology BUT 

Department:  Department of Computer Graphics and Multimedia FIT BUT 

Substitute for:  

Schedule: 

  Learning objectives: 

  To provide overview of basics principles of 2D and 3D computer graphics. To get acquaint with the vector based object representation and drawing. To learn methods of 2D objects rasterisation and clipping, 2D closed areas filling, 2D and 3D transformations, visibility problem solutions, lighting, shading and texturing. To get acquaint with the basic principles of main 2D and 3D graphical interfaces. To overrule the implementation issues in real graphical applications.  Description: 

  Overview of fundamental principles of computer graphics (vector and raster based) and his consequence for real graphical applications. Basic operations to be performed in 2D and 3D computer graphics. Specification of principles and usage of main graphical interfaces. Methods and algorithms for drawing lines, circles and curves (Bezier and NURBS) in 2D. Principles of closed areas clipping and filling. Methods and solutions for: 2D/3D object transformations, visibility problem, lighting, shading and texturing. Basics of photorealistic rendering of 3D scenes. Different methods of 3D geometry representation. Alias in computer graphics and antialiasing methods.  Knowledge and skills required for the course: 

   It is essential to have basic knowledge of programming in C language.
 Subject specific learning outcomes and competencies: 

 
 Student will get acquaint with the basic principles of 2D and 3D computer graphics.
 Student will learn the fundamentals of using main graphical programming interfaces.
 He/she will get acquaint with algorithms for rasterisation and clipping of 2D graphic primitives and filling of closed regions.
 He/she will learn algorithms for 2D and 3D transformations, visibility solution, lighting, shading and texturing.
 Student will learn the fundamentals of photorealistic rendering of 3D scenes.
 He/she will get acquaint with different techniques of 3D objects geometry representation.
 He/she will get acquaint with sources of alias and basics of antialiasing methods.
 He/she will practice implementation of vector and raster based graphic algorithms.
 Generic learning outcomes and competencies: 

 
 The students will learn how to solve simple problems, individually or in small teams.
 They will also improve their practical programming skills and knowledge of development tools.
 Why is the course taught: 

  Nowadays computer graphics is everywhere. We meet it daily while watching movies and playing games (3D modeling and rendering) or using graphical user interfaces of different SW applications. This is because graphical expression is a very effective way of passing information between computer and human. Whether you are going to do computer graphics professionaly, or you would just need to 'draw something', it's important to understand basic principles and methods of computer graphics from the perspective of the programmer. Yes, there are many high level graphical libraries however, without this basic knowledge, you can not work effectively with them. The lectures are dedicated to the theoretical aspects of 2D and 3D graphics principles and algorithms (how it works, what are the problems, how to solve them, etc.) and the laboratories together with the project are dedicated to the practical implementation of the algorithms and methods (how to do it, how to implement it in your code, etc.).  Syllabus of lectures: 


 Introduction to computer graphics  raster vs. vector graphics. Colors and color models, color space reduction, black&white images.
 Rasterisation of basic vector primitives
 Antialiasing. 2D clipping.
 Closed area filling.
 2D and 3D transformations.
 Introduction to 2D graphics API and minimalistic 2D graphic application.
 Curves in computer graphics.
 Basics of 3D scene visualization, 3D transformations and projections.
 3D object representations.
 Lighting models and smooth surface shading. Introduction to the OpenGL library.
 Visibility problem.
 Textures and texturing. Modern computer graphics, principles of 3D graphics API, rendering pipeline, etc.
 Basics of photorealistic rendering, raytracing and radiosity.
 Syllabus of computer exercises: 

  Graphical image formats and color space reduction.
 Basic object rasterisation.
 Visualization of 2D spline curves.
 Filling of 2D closed regions.
 3D transformations.
 Basics of OpenGL.
 Syllabus  others, projects and individual work of students: 

 Thematically oriented individual project.  Fundamental literature: 


 Foley, J., D., et al., Computer Graphics: Principles and Practise, AddisonWesley, 1992
 Watt, A., 3D Computer Graphics, AddisonWesley, 1993
 Watt, A., Watt, M., Advanced Animation and Rendering Techniques: Theory and Practise, AddisonWesley, 1992
 Thalmann, N., M., Thalmann, D., Computer Animation: Theory and Practise (Second Revised Edition), SpringerVerlag, 1990
 Study literature: 

  Beneš, B., Sochor, J., Felkel, P., Žára, J.: Moderní počítačová grafika, 2. vydání, ComputerPress, 2005
 Lengyel, E.: Mathematics for 3D Game Programming and Computer Graphics, Third Edition, 3rd Edition, 2012
 Course slides and lecture recordings
 Controlled instruction: 

   Project needs to be submitted to the faculty information system and is evaluated at the end of the semester.
 Laboratory tasks are evaluated during them.
 Midterm and final written exams.
 In justified cases, it is possible to accomplish laboratories in other date, and the midterm exam by extending the final exam.
 Progress assessment: 

   Project  18 points.
 Evaluated laboratory tasks, 6 x 3 bodů  18 points.
 Midterm written exam  12 point.
 Final written examination  52 points.
 Minimum for the final written exemination is 20 points.
 Minimum to pass the course according to the ECTS assessment  50 points.
 Exam prerequisites: 

  Student has to get at least 20 points from the project,
laboratories and the midterm exam for receiving the credit and then for
entering the exam. Plagiarism will cause that involved students
are not classified and disciplinary action can be initiated.  
