HCI320 -- Computer Graphics


Lecture timings

Monday: 1.20 - 3:10 pm
Tuesday: 11:20 - 12:10 pm
Wednesday: 11:20 - 1:10 pm

Instructor

Umar Kalim
Address: R#15, AB#3, St#8.
E-mail: umar [dot] kalim [at the rate] niit.edu.pk
Tel: 9280439 x 134


Course objective & description | Lecture Notes | Ideas for Term Papers | Miscellaneous

Course description

This course is planned to inculcate the understanding of how computer graphics systems are constructed, and the underlying mathematics, physics, algorithms, and data structures needed in the construction of these systems.

In this course we will deal primarily with the task of producing a single image from a 2- or 3-dimensional scene model. The graphic-object transformations shall be covered at length, along with advanced topics such as hidden surface removal, graphic object clipping etc. Upon completion of the course, students will have a thorough understanding of the basics and projection techniques. If time permits, some of the advanced topics listed below will also be covered.

Course objectives

Few topics, but subject to change, to be covered are the following:

  1. Graphics systems and models
  2. Draw in OpenGL: GLUT
  3. Draw in OpenGL: Drawing and viewports
  4. Draw in OpenGL: Transformations
    1. 2D Transformations (scaling, rotation, translation, reflection, shearing etc)
    2. 3D Transformations (scaling, rotation, translation, reflection, shearing etc)
  5. Primitive algorithms
  6. Geometry and geometric programming
  7. Coordinate frames and homogeneous coordinates
  8. Geometric operations and applications
  9. Scan conversion
  10. Clipping
  11. 3D Viewing and orthogonal projections
  12. Perspective
  13. Perspective in OpenGL
  14. Texture mapping
  15. 3D Modelling: Constructive solid geometry
  16. Hidden surface removal
  17. Half-tone approximation

Text book

Computer graphics by Donald Hearn and M. Pauline Baker (Third Edition)

Reference books

The OpenGL redbook
Computer Graphics using OpenGL by F.S.Hill
Computer graphics by Donald Hearn and M. Pauline Baker (Second Edition)

Grading Criteria

One Hour Tests (OHT) : 30%
Assignments : 10%
Quizzes : 10%
Survey report : 10%
End Semester Examination (ESE) : 40%

Assignments (at least 3)

At least one assignment will be given after completion of each major topic.
Late assignments will not be accepted / graded.
All assignments will count towards the total.

OHT/ESE Grading Policy

Relative marking, standard deviation based on the class average.

One Hour Test policy

There will be 2 one hour tests.
The portion of syllabus covered in 1st one-hour test will not be tested in the 2nd one hour test.

Quiz policy (at least 3)

Quizzes will be un-announced as well as announced.
Missed quizzes cannot be retaken.
All quizzes will count towards the total.

Group Mail Address

cg_niit_bit5@yahoogroups.com


Lecture notes

- (notes and lab* assignments) Available for download from the file-server.
Topic
Date (2006)
Lecture topic (the text book is to be consulted)
Miscellaneous Reading
2
02/20
Orientation and what is computer graphics? What is CG about?
2
02/21
Computer Graphics Systems, Elements (polylines, text, filled areas, raster images) and Rester Displays (methods and devices), colours and halftoning  
2
02/22
[lab] Setting up the environment for development in OpenGL & compiling a sample program instructions
3
02/27
Scan conversion, Line drawing algorithms - Digitial Differential Analyzer (DDA), Bresenham's Line drawing algorithm demo*
3
02/28
Drawing polylines & accessing frame buffers arrays  
3
03/01
[lab] Implementation of DDA Line drawing algorithm code*
4
03/06
Drawing in OpenGL - Viewports and Eventdriven Programming in OpenGL handouts*
4
03/07
Revisiting Bresenham's line drawing algorithm handouts*
4
03/08
[lab] Implementation of Bresenham's Line drawing algorithm code*
5
03/13
Circle generating algorithms, 8-way symmetry, mid-point algorithm for circle drawing handouts*
5
03/14
Conic sections  
5
03/15
[lab] Implementation of circle drawing algorithms using 8 way symmetry code*
6
03/20
Filled areas, Surface tessellation, polygon classification, identification, simplification & polygon rasterization demo*
6
03/21
Revisiting Filled Areas, Boundary Fill Algorithms, Flood Fill Algorithms demo*
6
03/22
[lab] Implementation of flood fill & implementation of sprites code* & demo*
1st one hour test
7
04/03
Active Edge Table algorithm for Area fill handouts*
7
04/04
Revisiting the Active Edge Table algorithm handouts*
7
04/05
[lab] Implementation of Boundary fill algorithms code*
8
04/10
Geometric transformations, 2D transformations (translation, rotation, scaling, reflection and shearing) using homogeneous coordinates & matrix representations demo*
8
04/12
[lab] Implementing 2D Geometric transformations using matrices code*
9
04/24
Using matrices for geometric transformations code*
9
04/25
Composite 2D transformations using matrices  
9
04/26
[lab] Implementing composite matrix transformations code*
10
05/02
3D Geometric transformations  
10
05/03
[lab] Implementing 3D geometric transformations code*
11
05/08
Viewports and Clipping windows, Cohen-Sutherland line clipping algorithms demo, code*
11
05/09
Revisiting cohen-sutherland line clipping algorithms demo
11
05/10
[lab] Discussion on problems in course contents covered to date  
2nd one hour test
12
05/22
Liang-Barsky Line Clipping Algorithm  
12
05/23
Polygon Fill Area Algorithms demo*
12
05/24
[lab] Polygon Fill Area Algorithms code*, demo*
13
05/29
3 Dimensional Viewing demo*
13
05/30
Revisiting 3 Dimensional Viewing  
13
05/31
[lab] Polygon Fill Area Algorithms code*
14
06/05
3 Dimensional Coordinate parameters  
14
06/06
Projection Transformations (orthogonal, perspective) demo*
14
06/07
[lab] 3 Dimensional Viewing code*
15
06/12
Seminar ~ 3D Studio MAX ® demo*
15
06/13
Revisiting Projection Transformations demo*
15
06/14
Term papers code*
16
06/19
Visible Surface Detection  
16
06/20
Revisiting Visible Surface Detection demo*
16
06/21
[lab] Texture Mapping code*
16
06/26
Queries  
end semester exam

 


Ideas for term papers


Tips on research


Last updated: 23rd of May, 2006.