# Computer Graphics Syllabus - BIM (TU)

## Course Objective

This module aims to develop students’ skill in computer graphics. This module should be supported by laboratory experiments to augment the concepts taught in the class.

## Course Description

Introduction of Computer Graphics, Hardware and Software Concept, Two Dimensional Algorithm, Three Dimensional Graph, Visible surface detection method, Illumination models and surface rendering methods, and Trends in Computer Graphics, Areas, Text and Colors

## Course Details

Unit 1: Introduction of Computer Graphics                                                                       LH 2

• Early History
• Application of Computer Graphics

## Unit 2: Hardware and Software Concept                            LH 9

• Input Devices

Mouse, Touch Screen, Light Pen, Data Glove, Tablet (Digitizer), Bar Code Reader

• Output Devices
• Monochromatic & Color CRT
• Raster and Random Scan Display
• Flat Panel Display
• LED
• LCD
• Simple Architecture on Raster, Random Scan System
• Concept of Three Dimension viewing devices
• Graphics Software
• Software standards
• Need of machine independent graphics language
• Color Models
• RGB
• HSV
• Conversion between HSV and RGB color models

## Unit 3: Two Dimensional Algorithm                                         LH 16

• Line Drawing Algorithm
• DDA (With positive and negative slope)
• Bresenham’s Line Algorithm
• for positive slope (m<=1, m>1)
• for negative slope (m<=1, m>1)
• Different Line Styles with Java 2D
• Drawing Thick Lines with Java 2D
• Circle Algorithm
• General circle equation
• Mid-Point circle equation
• 2D Geometric Transformation
• Basic Transformation 11.1.1Translation 1.11.1.2Rotation 1.11.1.3Scaling
• Homogenous Coordinate
• Composite Transformation 11.3.1Successive Translation 1.11.3.2Successive Rotation 1.11.3.3Successive Scaling 1.11.3.4Pivot point rotation 1.11.3.5Fixed point scaling
• Other Transformation 11.4.1Reflection 1.11.4.2Shear
• Two Dimensional Viewing
• Viewing pipeline
• Window to viewport coordinate transformation
• Clipping
• Introduction and application of clipping 12.3.2Line Clipping

1.12.3.2.1 Cohen Sutherland line clipping 1.12.3.3Polygon clipping

1.12.3.3.1 Sutherland Hodgeman polygon clipping

## Unit 4: Three Dimensional Graph                             LH 8

• 3D object representation
• Polygon surface
• Polygon tables
• Plane equations
• Polygon meshes
• Projections
• Parallel Projections 14.1.1Isometric

1.14.1.2Oblique

• Perspectives Projections
• Derivation of projections
• 3D Transformations
• Translation
• Rotation 15.2.1General 3D rotation

1.15.2.2Geometric transformations in Java 3D

• Scaling
• Fixed point scaling
• Reflection
• Shear

## Unit 5: Visible surface detection method                          LH 5

• classification of algorithm
• different types of algorithm
• depth buffer (z-buffer) method
• A-Buffer method
• Scan line method
• Depth sorting method (Painter’s Algorithm)
• Clipping in Java 3

## Unit 6: Illumination models and surface rendering methods                                                                                                                       LH 6

• light source
• basic illumination models
• Ambient light
• Diffuse reflection
• Specular reflection and Phong model
• Intensity attenuation
• Color consideration
• Transparency
• Transparency in Java 3D
• Polygon rendering methods
• Light sources in java 3D
• Constant and Gouraud Shading in Java 3D

## Unit 7: Trends in Computer Graphics                     LH 2

• Concept of Virtual reality & simulation
• Computer animation
• Design of animation sequences
• Computer animation languages
• Morphing and simulating
• Animation in Java 3D Projections in Java 3D

## Unit 8: Areas, Text and Colors

• Filling Areas
• Buffered Images in Java 2D
• Double Buffering in Java 2d
• Textures in Java 2D
• Displaying Text
• Text in Java 2D
• Grey Images and Intensities
• Color models
• Colors in Java 2D
• Color interpolation
• Color interpolation with Java 2D

## Laboratory Work

Lab1: DDA

Lab2: Bresenhams line drawing algorithm Lab3: Circle

Lab4: Basic transformation on 2D

• Translation
• Rotation
• Scaling
• About fixed point Lab5: Simple 3D Object

Lab6: Basic Transformation on 3D object

• Translation
• Rotation
• Scaling

Laboratory work will be carried out using visual or non visual high level languages.

### Text and Reference Books

References

• Computer Graphics, C Versions (Prentice Hall) : Hearne and Baker
• Computer Graphics – Principles and Practices: D. Foley, S.K. Feiner and J.F. Hughes
• Computer Graphics: Principles and Practice, 2nd Edition (3rd would be released around mid 2013) - the book you've mentioned is also called The Bible of CG
• Fundamentals of Computer Graphics, 3rd Edition
• Computer Graphics using OpenGL, 2nd or 3rd Edition*
• Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, 6th Edition*
• 3D Computer Graphics: A Mathematical Introduction with OpenGL*
• Introduction of Computer Graphics: Using Java 2D and 3D, Frank Klawonn, Second Edition, Springer
• Digital Image Processing: An algorithmic Introduction using Java, Wilhelm Burger, Mark, Burge, First edition, Springer
• Fundamentals of Computer Graphics, Peter Shirley, Michael Ashikhmin, Steve Marschner, Third edition, A K Peters/CRC Press