Bsc Csit Nepal

Computer Graphics

Course Description:

The course covers concepts of graphics hardware, software, and applications, data structures for representing 2D and 3D geometric objects, drawing algorithms for graphical objects, techniques for representing and manipulating geometric objects, illumination and lighting models, and concept of virtual reality.

Course Objectives:

The objective of this course is to understand the theoretical foundation as well as the practical applications of 2D and 3D graphics.


Course Contents:

Unit 1: Introduction of Computer Graphics (3 Hrs.)

  • 1.1. A Brief Overview of Computer Graphics, Areas of Applications.
  • 1.2. Graphics Hardware: Display Technology, Architecture of Raster-Scan Displays,Vector Displays, Display Processors, Hard copy device. Input Devices.
  • 1.3. Graphics Software: Software standards, Need of machine independent graphics language.

Unit 2: Scan Conversion Algorithm (6 Hrs.)

  • 2.1. Scan Converting a Point and a straight Line: DDA Line Algorithm, Bresenham’s Line Algorithm
  • 2.2. Scan Converting Circle and Ellipse :Mid Point Circle and Ellipse Algorithm
  • 2.3. Area Filling: Scan Line Polygon fill Algorithm, Inside-outside Test, Scan line fill of Curved Boundary area, Boundary-fill and Flood-fill algorithm

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

  • 3.1. Two-Dimensional translation, Rotation, Scaling, Reflection and Shearing
  • 3.2. Homogeneous Coordinate and 2D Composite Transformations. Transformation between Co-ordinate Systems.
  • 3.3. Two Dimensional Viewing: Viewing pipeline, Window to viewport coordinate transformation
  • 3.4. Clipping: Point, Lines(Cohen Sutherland line clipping, Liang-Barsky Line Clipping), Polygon Clipping(Sutherland Hodgeman polygon clipping)

Unit 4: Three-Dimensional Geometric Transformation (5 Hrs.)

  • 4.1. Three-Dimensional translation, Rotation, Scaling, Reflection and Shearing
  • 4.2. Three-Dimensional Composite Transformations
  • 4.3. Three-Dimensional Viewing: Viewing pipeline, world to screen viewing transformation, Projection concepts(Orthographic, parallel, perspective projections)

Unit 5: 3D Objects Representation (7 Hrs.)

  • 5.1. Representing Surfaces: Boundary and Space partitioning
    • 5.1.1. Polygon Surface: Polygon tables , Surface normal and Spatial orientation of surfaces, Plane equations, Polygon meshes
    • 5.1.2. Wireframe Representation
    • 5.1.3. Blobby Objects
  • 5.2. Representing Curves: Parametric Cubic Curves, Spline Representation, Cubic spline interpolation, Hermite Curves, Bezier and B-spline Curve and surface
  • 5.3. Quadric Surface: Sphere and Ellipsoid

Unit 6: Solid Modeling (4 Hrs.)

  • 6.1. Sweep ,Boundary and Spatial-Partitioning Representation
  • 6.2. Binary Space Partition Trees (BSP)
  • 6.3. Octree Representation

Unit 7: Visible Surface Detections (5 Hrs.)

  • 7.1. Image Space and Object Space Techniques
  • 7.2. Back Face Detection, Depth Buffer (Z-buffer), A-Buffer and Scan-Line Algorithms.
  • 7.3. Depth Sorting Method (Painter’s Algorithm)
  • 7.4. BSP tree Method, Octree and Ray Tracing

Unit 8: Illumination Models and Surface Rendering Techniques (5 Hrs.)

  • 8.1. Basic Illumination Models: Ambient light, Diffuse reflection, Specular reflection and Phong model
  • 8.2. Intensity attenuation and Color consideration ,Transparency, Shadows
  • 8.3. Polygon Rendering Methods : Constant intensity shading, Gouraud shading , Phong Shading and Fast Phong Shading

Unit 9: Introduction to Virtual Reality (2 Hrs.)

  • 9.1. Concept of Virtual reality
  • 9.2. Virtual Reality Components of VR System, Types of VR System, 3D Position Trackers, Navigation and Manipulation Interfaces
  • 9.3. Application of VR

Unit 10: Introduction to OpenGL (3 Hrs.)

  • 10.1. Introduction, Callback functions, Color commands, Drawings pixels, lines, polygons using OpenGL, Viewing and Lighting

Laboratory Works:

The laboratory course consists of implementing following algorithms using high level languages and OpenGL.

  1. DDA Line Algorithm
  2. Bresenham’s line drawing algorithm
  3. Mid Point Circle Algorithm
  4. Mid Point Ellipse Algorithm
  5. Basic transformation on 2D including Translation, Rotation and Scaling
  6. Simple 3D Object with basic transformations including Translation, Rotation and Scaling
  7. Clipping
  8. Hidden surface removal
  9. Basic Drawing Techniques in OpenGL

Text Books:

  1. Donald Hearne and M. Pauline Baker, “Computer Graphics, C Versions.” Prentice Hall

Reference Books:

  1. J.D. Foley, S.K. Feiner and J.F. Hughes, “Computer Graphics – Principles and Practises” (Second Edition in C)
  2. R.K. Maurya, “Computer Graphics with Virtual Reality”, Wiley India
  3. F.S. Hill, Stephen M.Kelley, “Computer Graphics using Open GL” Prentice Hall