Course objectives
To present and practice the basic techniques used in computer graphics systems.1.0 Purpose of Computer Graphics: (5 hours)
1.1 Early history of computer graphics
1.2 Engineering applications: CAD, schematic capture
1.3 Data visualization in medicine, art and engineering

2.0 Hardware Concepts: (8 hours)
2.1 Mouse, keyboard, light pen, touch screen and tablet input hardware
2.2 Raster and vector display architectures
2.3 Architecture of simple non-graphical display terminals
2.4 Architecture of graphical display terminals including frame buffer and colour manipulation techniques
2.5 Graphical architecture bottlenecks and interaction with the operating system
2.6 Specialized graphical processors and future development directions

3.0 Two-Dimensional Algorithms: (8 hours)
3.1 Direct and incremental line drawing algorithms
3.2 Bresenham algorithm
3.3 Two-dimensional world to screen viewing transformations
3.4 Two-dimensional rotation, scaling and translation transforms
3.5 Current transform concepts and advantages
3.6 Data structure concepts and CAD packages

4.0 Graphical Language: (6 hours)
4.1 Need for machine independent graphical languages
4.2 Discussion of available languages
4.3 Detailed discussion of graphical languages to be used in projects

5.0 Project Management: (4 hours)
5.1 Review of project management techniques
5.2 Review of program debugging techniques

6.0 Three-Dimensional Graphics: (10 hours)
6.1 Three-dimensional world to screen perspective viewing transform
6.2 Extension of two-dimensional transforms to three dimensions
6.3 Methods of generating non-planar surfaces
6.4 Hidden line and hidden surface removal techniques
6.5 Need for shading in engineering data visualization
6.6 Algorithms to simulate ambient, diffuse and specular reflections
6.7 Constant, Gouraud and phong shading models
6.8 Specialized and future three-dimensional display architectures

7.0 Project Development: (4 hours)
7.1 Project planning and description
7.2 Project development
7.3 Project report and presentation

Laboratory:
Computer graphics is best understood with “hands-on” experience. The laboratory exercises should consequently be directed toward introductory software concepts and familiarization with the graphical systems hardware architecture. Exercises might involve the development and comparison of various drawing algorithms or colour map animation. Exercises could be performed in either a high level language like c or a low level language like assembler.

Further exercises should familiarize the students with a high level graphics language which would then be used in the later laboratory periods in the development of a graphics project. This group project would be on an engineering topic preferably with both software and hardware aspects. The topic could be either initiated by the students or selected from a list provided by the instructor. An oral presentation with a demonstration should be part of the laboratory project report.

References:
1.0 J. D. Foley, S. K. Feiner and J. F. Hughes, “Computer Graphics – Principles and Practices”, 2nd Edition, Addison-Wesley publishing Company, Don Mills, Ontario, Canada, 1989.
2.0 M. R. Smith and L. E. Turner, “EPLOT – A Machine Independent Graphical Interface”, Department of Electrical and Computer Engineering, The University of Calgary. Documentation, example programs and diskette can be provided.

 

Related articles suggested by Google