Computer Graphics

This course introduces the fundamental concepts, techniques, and applications of computer graphics, including 2D and 3D object representation, geometric transformations, rendering, clipping algorithms, and animation. Students will explore both theoretical foundations and practical implementations using OpenGL and high-level programming languages.

Instructor: Jubair Ahmed Nabin

Term: Spring

Location: CET Campus (Rooms 912, 903, 604)

Time: Saturday, Sunday & Wednesday, 04:25–05:25 PM

Course Overview

This course provides a comprehensive introduction to computer graphics, covering both theoretical concepts and practical applications. Students will learn how images are generated, manipulated, and displayed using computer systems. The course emphasizes algorithmic approaches to drawing primitives, geometric transformations, clipping techniques, and rendering processes. Additionally, students will gain hands-on experience using OpenGL to develop graphical applications and simple animations.

By the end of this course, students will be able to:

  • Explain fundamental concepts of computer graphics and display systems
  • Apply algorithms for drawing primitives, transformations, and clipping
  • Implement graphics programs using OpenGL and high-level languages
  • Design simple animated graphical applications

Prerequisites

  • Programming in C++ (CSC 283)
  • Numerical Analysis (MAT 247)

Textbooks

  • Primary: Computer Graphics (C Version) by Donald Hearn and M. Pauline Baker
  • Reference: Fundamentals of Computer Graphics by Peter Shirley and Steve Marschner

Teaching and Learning Methods

  • Lectures and interactive discussions
  • Problem-solving sessions
  • Programming demonstrations using OpenGL
  • Group discussions and project-based learning

Grading

  • Class Tests: 10%
  • Midterm Exam: 25%
  • Final Exam: 50%
  • Assignment/Project/Presentation: 10%
  • Attendance: 5%

Course Outcomes

At the end of the course, students will be able to:

  • CO1: Explain key concepts of computer graphics
  • CO2: Apply algorithms for drawing, transformation, and clipping
  • CO3: Develop graphical and animated solutions using OpenGL

Schedule

Week Date Topic Materials
1 Course Introduction & Fundamentals

Overview of course policies, introduction to computer graphics, classification, and application areas.

2 Graphics Hardware Basics

CRT, raster scan systems, frame buffer, resolution, random scan displays, and color CRT methods.

3 Display Technologies

Flat panel displays including LCD, LED, OLED; graphics system architecture and video controller.

4 Image Formation & OpenGL Basics

Human visual system, pixels, image representation, and introduction to OpenGL with primitive drawing.

5 Line Drawing Algorithms

DDA algorithm and Bresenham’s line drawing algorithm with problem-solving exercises.

6 Circle Drawing Algorithms

Midpoint circle algorithm and implementation techniques.

7 2D Transformations

Translation, scaling, rotation, and composite transformations with examples.

8 Transformation in OpenGL

Implementation of transformations using OpenGL and pivot-based transformations.

9 Advanced Transformations & Color Models

Scaling techniques and introduction to RGB, CMY, and color mapping.

10 Clipping Algorithms

Cohen-Sutherland and Liang-Barsky line clipping algorithms with applications.

11 Polygon Clipping & Project Work

Weiler-Atherton polygon clipping algorithm and project progress discussion.

12 Graphics Pipeline & Rendering

Graphics pipeline stages, rendering techniques, rasterization, texture mapping, and anti-aliasing.

13 Course Review & Final Preparation

Comprehensive review of all topics and preparation for final examination.

14 Final Exam

Comprehensive assessment covering all course materials.