Logo

BIT Computer Graphics

bitsemester 5

Computer Graphics

Subject Code: BIT304

Course Title: Computer Graphics

Course No: BIT304

Nature of Course: Theory & Practical

Full Marks: 100

Pass Marks: 40

Credit Hours: 3

Course Description

This course covers the basic concepts of Computer Graphics, various algorithms for basic graphics primitives, 2-D geometric transformations on graphical objects, various Clipping algorithms on graphical objects, 3-D geometric transformations, curve representation techniques and projections methods, object surface modeling, visible surface detection, application of illumination and rendering algorithms, virtual reality and animation technique along with basic concept of OpenGL.

Course Objective

The main objective of this course is to equip students with the fundamental knowledge and basic technical competence in the field of Computer Graphics, to emphasize on implementation aspect of Computer Graphics Algorithms and to prepare the student for advance areas and professional avenues in the field of Computer Graphics.

Course Contents

Unit 1: Introduction and Overview of Graphics System (3 Hrs.)

Definition and Representative uses of Computer Graphics, Computer Graphics vs. Image Processing, Application Areas, Overview of Coordinate System, Definition of Scan Conversion, Rasterization and Rendering, Raster Scan & Random Scan Displays, Architecture of Raster Graphics System with Display Processor, Architecture of Random Scan Systems.

Unit 2: Output Primitives (6 Hrs.)

Scan conversions of point, line, circle and ellipse: DDA algorithm and Bresenham algorithm for line drawing, midpoint algorithm for circle, midpoint algorithm for ellipse drawing (Mathematical derivation for above algorithms is expected), Filled Area Primitive: Scan line Polygon Fill algorithm, inside outside tests, Boundary Fill and Flood fill algorithm.

Unit 3: Two Dimensional Geometric Transformations (3 Hrs.)

Basic transformations: Translation, Scaling, Rotation, Matrix representation and Homogeneous Coordinates, Composite transformation, Other transformations: Reflection and Shear.

Unit 4: Two-Dimensional Viewing and Clipping (3 Hrs.)

Viewing transformation pipeline and Window to Viewport coordinate transformation, Clipping operations: Point clipping, Line clipping algorithms: Cohen-Sutherland, Liang-Barsky, Polygon Clipping Algorithms: Sutherland-Hodgeman.

Unit 5: Three-Dimensional Graphics (6 Hrs.)

3D Transformations: Translation, Rotation, Scaling, Reflection and Shear, Composite transformations: Rotation about an arbitrary axis, Projections – Parallel, Perspective (Matrix Representation).

Unit 6: Three-Dimensional Object Representation and Curve Modeling (6 Hrs.)

Boundary Surface Representation Vs Space Partitioning Representation, Polygon Surface Representation: Polygon Table and Polygon Meshes, Wireframe and Sweep Representation, Octree Representation, Bezier Curve, B-Spline Curve, Fractal-Geometry: Fractal Dimension, Koch Curve.

Unit 7: Visible Surface Detection (6 Hrs.)

Image Space and Object Space techniques, Back Face Detection, Z-Buffer, A-Buffer, Scan-Line method, Painter's Algorithms, Area Subdivision method.

Unit 8: Illumination and Surface Rendering Methods (6 Hrs.)

Introduction, Ambient, Diffuse and Specular reflections illumination Model, Constant, Gouraud and Phong shading models.

Unit 9: Virtual Reality and Animation (3 Hrs.)

Virtual Reality: Concept of Virtual Reality, Components of VR System, Types of VR System, 3D position Tracker, Navigation and Manipulation Interface, Application of VR. Animation: Introduction to Animation, Traditional Animation Techniques, Principles of Animation, Key framing: Character and Facial Animation, Deformation, Motion capture.

Unit 10: Introduction to OpenGL (2 Hrs.)

Introduction to OpenGL, Callback Functions, Color Commands, Drawing Pixels, Lines, and Polygons using OpenGL, Viewing, Lighting.

Reference Books

  • Hearn & Baker, "Computer Graphics C Version", 2nd Edition, Pearson Publication.
  • James D. Foley, Andries van Dam, Steven K Feiner, John F. Hughes, "Computer Graphics Principles and Practice in C", 2nd Edition, Pearson Publication.
  • D. Rogers, "Procedural Elements for Computer Graphics", Tata McGraw-Hill Publications.
  • Zhigang Xiang, Roy Plastock, "Computer Graphics", Schaum's Outlines, McGraw-Hill Education.
  • Rajesh K. Maurya, "Computer Graphics", Wiley India Publication.
  • F. S. Hill, "Computer Graphics using OpenGL", 3rd Edition, Pearson Publications.

Lab Works

Scan conversions: lines, circles, ellipse, filling algorithms, clipping algorithms, 2D and 3D transformation, Curves, Visible surface determination, Simple animations, Application of these through exercises using appropriate programming languages. List of experiments:

  1. Implement DDA Line Drawing algorithm
  2. Implement Bresenham's Line algorithm
  3. Implement midpoint Circle algorithm
  4. Implement midpoint Ellipse algorithm
  5. Implement Area Filling Algorithm: Boundary Fill, Flood Fill
  6. Implement Scan line Polygon Filling algorithm
  7. Implement 2D Transformations: Translation, Scaling, Rotation, Reflection, Shear
  8. Implement Line Clipping Algorithm: Cohen Sutherland / Liang Barsky
  9. Implement 3D transformation
  10. Implement Curve: Bezier for n control points, B-Spline
  11. Perform Animation (such as Rising Sun, Moving Vehicle, Smileys, Screen saver etc.)