BIT Computer Graphics
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
Course Objective
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:
- Implement DDA Line Drawing algorithm
- Implement Bresenham's Line algorithm
- Implement midpoint Circle algorithm
- Implement midpoint Ellipse algorithm
- Implement Area Filling Algorithm: Boundary Fill, Flood Fill
- Implement Scan line Polygon Filling algorithm
- Implement 2D Transformations: Translation, Scaling, Rotation, Reflection, Shear
- Implement Line Clipping Algorithm: Cohen Sutherland / Liang Barsky
- Implement 3D transformation
- Implement Curve: Bezier for n control points, B-Spline
- Perform Animation (such as Rising Sun, Moving Vehicle, Smileys, Screen saver etc.)
