1 Syllabus S.Y.B.Sc. (IT) SEMESTER - III, PAPER - II COMPUTER GRAPHIC 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, Raster-Scan 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 Two-Dimensional 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-Lino Algorithm, Priority Algorithm, Scan Conversion of Character, Aliasing, Anti-Aliasing, Halftoning, Thresholding and Dithering
2 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. Books : Computer Graphics, R. K. Maurya, John Wiley. Mathematical elements of Computer Graphics, David F. Rogers, J. Alan Adams, Tata McGraw-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, William M. Newman, Robert F. Sproull, Tata McGraw-Hill. Introduction to Computer Graphics, J.D. Foley, A. Van Dam, S. K. Feiner, J.F. Hughes and R.L. Phillips, Addision Wesley.
3 Practical (Suggested) : Should contain at least 10 programs developed using 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 transformations on the given input figure 2D and 3D 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 X1, Y1 X 2 , Y2 against a window X min , Ymin X max , Ymax . 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.
4 1 COMPUTER GRAPHICS FUNDAMENTALS Unit Structure 1.0 Objectives 1.1 Introduction 1.2 Introduction to Image and Objects 1.3 Image Representation 1.4 Basic Graphics Pipeline 1.5 Bitmap and Vector-Based Graphics 1.6 Applications of Computer Graphics 1.7 Display Devices 1.7.1 Cathode Ray Tubes 1.7.2 Raster-Scan Display 1.7.3 Random-Scan Display 1.7.4 Flat Panel Display 1.8 Input Technology 1.9 Coordinate System Overview 1.10 Let us sum up 1.4 References and Suggested Reading 1.5 Exercise 1.0OBJECTIVES The objective of this chapter is To understand the basics of computer graphics. To be aware of applications of computer graphics. To know the elements of computer graphics. 1.1 INTRODUCTION Computer graphics involves display, manipulation and storage of pictures and experimental data for proper visualization using a computer. It provides methods for producing images and animations (sequence of images). It deals with the hardware as well as software support for generating images.