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 Open GL.
Course Objectives
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
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 System
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.
Basic transformations: Translation, Scaling, Rotation, Matrix representation and Homogeneous Coordinates, Composite transformation, Other transformations: Reflection and Shear
Viewing transformation pipeline and Window to Viewport coordinate transformation, Clipping operations: Point clipping, Line clipping algorithms: CohenSutherland, Liang- Barsky, Polygon Clipping Algorithms: Sutherland Hodgeman
3D Transformations: Translation, Rotation, Scaling, Reflection and Shear, Composite transformations: Rotation about an arbitrary axis, Projections – Parallel, Perspective. (Matrix Representation)
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
Image Space and Object Space techniques, Back Face Detection, Z-Buffer, A-Buffer, Scan-Line method, Painter's Algorithms, Area Subdivision method
Introduction, Ambient, Diffuse and Specular reflections illumination Model, Constant, Gouraud and Phong shading models
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
Introduction to OpenGL, Callback Functions, Color Commands, Drawing Pixels, Lines, and Polygons using OpenGL, Viewing, Lighting
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 experiment are:
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.)
References:
1. Hearn & Baker, "Computer Graphics C version", 2nd Edition, Pearson Publication
2. James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes, "Computer Graphics Principles and Practice in C", 2nd Edition, Pearson Publication
3. D. Rogers, "Procedural Elements for Computer Graphics", Tata McGraw-Hill Publications
4. Zhigang Xiang, Roy Plastock, "Computer Graphics", Schaum's Outlines McGraw-Hill Education
5. Rajesh K. Maurya, "Computer Graphics", Wiley India Publication
6. F. S. Hill, "Computer Graphics using OpenGL", Third edition, Pearson Publications