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. |