Unit – I | Introduction Computer Graphics and Primitive Algorithms:Introduction to Image and Objects, Image Representation, Basic Graphics Pipeline, Bitmap and Vector-Based Graphics, Applications of Computer Graphics, Display Devices, Cathode Ray Tubes, RasterScan Display, Random-Scan Display, Flat Panel Display, Input Technology, Coordinate System Overview, Scan-Conversion of graphics primitives: Scan-Conversion of a Lines (Digital Differential Analyzer Algorithm, Bresenham’s LineDrawing Algorithm, Scan-Conversion of Circle and Ellipse (Bresenham’s Method of Circle Drawing, Midpoint Circle Algorithm), Drawing Ellipses and Other Conics. |
Unit- II | Two Dimensional Transformation: Introduction to transformations, Transformation Matrix, Types of Transformations in TwoDimensional Graphics: Identity Transformation, Scaling, Reflection, Shear Transformations, Rotation, Translation, Rotation about an Arbitrary Point, Combined Transformation, Homogeneous Coordinates, 2D Transformations using Homogeneous Coordinates |
Unit-III | Three-dimensional transformations, Objects in Homogeneous Coordinates, Three-Dimensional Transformations: Scaling, Translation, Rotation, Shear Transformations, Reflection, World Coordinates and Viewing Coordinates, Projection, Parallel Projection, Perspective Projection. |
Unit-IV | Viewing and Solid Area Scan-Conversion: Introduction to viewing and clipping, Viewing Transformation in Two Dimensions, Introduction to Clipping, Two-Dimensional Clipping, Point Clipping, Line Clipping, Introduction to a Polygon Clipping, Viewing and Clipping in Three Dimensions, Three-Dimensional Viewing Transformations, Text Clipping Introduction to Solid Area Scan-Conversion, Inside–Outside Test, Winding Number Method and Coherence Property, Polygon Filling, Seed Fill Algorithm, Scan-Line Algorithm, Priority Algorithm, Scan Conversion of Character, Aliasing, Anti-Aliasing, Halftoning, Thresholding and Dithering |
Unit –V | Introduction to curves, Curve Continuity, Conic Curves, Piecewise Curve Design, Parametric Curve Design, Spline Curve Representation, Bezier Curves, B-Spline Curves, Fractals and its applications. Surface Design: Bilinear Surfaces, Ruled Surfaces, Developable Surfaces, Coons Patch, Sweep Surfaces, Surface of Revolution, Quadric Surfaces, Constructive Solid Geometry, Bezier Surfaces, B- Spline Surfaces, Subdivision Surfaces Visible Surfaces: Introduction to visible and hidden surfaces, Coherence for visibility, Extents and Bounding Volumes, Back Face Culling, Painter’s Algorithm, Z-Buffer Algorithm, Floating Horizon Algorithm, Roberts Algorithm. |
Unit-VI | Object Rendering: Introduction Object-Rendering, Light Modeling Techniques, Illumination Model, Shading, Flat Shading, Polygon Mesh Shading, Gaurand Shading Model, Phong Shading, Transparency Effect, Shadows, Texture and Object Representation, Ray Tracing, Ray Casting, Radiosity, Color Models. Introduction to animation, Key-Frame Animation, Construction of an Animation Sequence, Motion Control Methods, Procedural Animation, Key-Frame Animation vs. Procedural Animation, Introduction to Morphing, Three-Dimensional Morphing |
Practical:
Should contain at least 10 programs development in C++. Some Sample practical are listed below.
1. Write a program with menu option to input the line coordinates from the user to generate a line using Bresenham’s method and DDA algorithm. Compare the lines for their values on the line.
2. Develop a program to generate a complete circle based on
a. Bresenham’s circle algorithm b. Midpoint Circle Algorithm
3. Implement the Bresenham’s/DDA algorithm for drawing line (programmer is expected to shift the origin to the center of the screen and divide the screen into required quadrants).
4. Write a program to implement a stretch band effect. (A user will click on the screen and drag the mouse/arrow keys over the screen coordinates. The line should be updated like rubber-band and on the right-click gets fixed).
5. Write program to perform the following 2D and 3D transformations on the given input figure
a. Rotate through θ.
b. Reflection
c. Scaling
d. Translation.
6. Write a program to demonstrate shear transformation in different directions on a unit square situated at the origin.
7. Develop a program to clip a line using Cohen-Sutherland line clipping algorithm between
(x_{1},y_{1})(x_{2}, y_{2}) against a window (x_{min} , y_{min})(x_{max} , y_{max}).
8. Write a program to implement polygon filling.
9. Write a program to generate a 2D/3D fractal figures (Sierpinski triangle, Cantor set, tree etc).
10. Write a program to draw Bezier and B-Spline Curves with interactive user inputs for control polygon defining the shape of the curve.
11. Write a program to demonstrate 2D animation such as clock simulation or rising sun
12. Write a program to implement the bouncing ball inside a defined rectangular window.
Books:
Computer Graphics, R. K. Maurya, John Wiley.
Mathematical elements of Computer Graphics, David F. Rogers, J. Alan Adams, TATAMCGRAW-HILL
Procedural elements of Computer Graphics, David F. Rogers, Tata McGraw-Hill.
Reference:
Computer Graphics, Donald Hearn and M. Pauline Baker, Prentice Hall of India
Computer Graphics, Steven Harrington, McGraw-Hill
Computer Graphics Principles and Practice, J.D. Foley, A. Van Dam, S.K. Feiner and R.L. Phillips, Addision Wesley
Principles of Interactive Computer Graphics, Willaim M. Newman, Robert F. Sproull,
TATAMCGRAW-HILL Introduction to Computer Graphics, J.D. Foley, A. Van Dam, S.K. Feiner, J.F. Hughes and R.L. Phillips, Addision Wesley
Download Ebook – Computer Graphics [PDF]