CMPE 163 INTRODUCTION
TO COMPUTER GRAPHICS
CLASS:
MW, 5:30 – 6:45 PM, BC 218
OFFICE
HOUR:
MW, 10:00 AM – 11: 20 AM
COURSE DESCRIPTION:
Introductory
Computer Graphics is an undergraduate computer graphics course which covers a
broad subjects in both two-dimensional computer graphics and three-dimensional
computer graphics. The topics includes vector graphics fundamentals, 2D and 3D
graphics transforms, graphics primitive drawing enhancement algorithms,
transformation pipeline, linear and non-linear decoration algorithms, texture
mapping, rendering techniques, wire frame models, hidden line/surface removal
algorithms, and shading models.
PEREQUISITES:
CMPE 130
with C or better grade and MATH 129A.
TEXTBOOKS AND/OR OTHER REQUIRED MATERIAL:
OpenGL Programming Guide, the 2nd edition, the official guide to learning OpengGL, Version 1.1, by M. Woo, J. Neider, T. Davis, and published by Addison-Wesley Developers Press, 1997.
OpenGL Super Bible, The Complete Guide to OpenGL Programming for Windows 95/NT, by R.S. Wright, Jr., and M. Sweet, published by Waite Group Press, 1996.
COURSE OBJECTIVES:
The objectives of this course are to teach the fundamental principles of computer graphics with the emphasis on vector based, three-dimensional computer graphics which covers from basic transformation pipelines, wire-frame model, to hidden line and hidden surface removal, and photo-realistic graphics rendering techniques. The objectives also include the hands-on programming implementation of 5 graphics projects using the industrial standard graphics libraries, OpenGL.
TOPICS COVERED:
(1)
Vector
definitions for two dimensional computer graphics, including vector line
equations, DDA drawing algorithms, Bresenham algorithms for circles, arcs, etc.
(2)
Two dimensional transformations, for two dimensional computer graphics
manipulations including rotations, reflections, inter-section points,
enlargement, translation, etc.
(3)
Three dimensional vector graphics including the mathematical description
of 3D straight lines, planes, etc.
(4)
Transformation pipelines, world-to-viewer transformation, perspective
projection.
(5)
Hidden line and hidden surface removal algorithms.
(6)
Linear decoration algorithms.
(7)
Shading
models, and rendering techniques.
CLASS SCHEDULE:
1.
Week
1: Introduction and organizational meeting, as well as the information on
the general requirement of the course.
2.
Week
2: Brief
discussion of computer graphics hardware, display devices, PC and TV
convergence. Review of vectors, matrices, and definition of vector graphics.
3.
Week
3: Tow
dimensional vector graphics, line equations, and intersections, angles, vector
dot product in two graphics applications.
4.
Week
4-5: Two
dimensional transformations, translation, rotation, magnification, reduction,
rotations.
5.
Week
6: Graphics
primitive drawings, and solving gaps problems and efficient implementations.
Bresenham algorithms, DDA algorithm etc.
6.
Week
7 and 8: Three-dimensional
computer graphics, transformations, translation, rotations, reflections, world
coordinate system.
7.
Week
9 and 10: Three-dimensional
computer graphics, World-to-Viewer coordinate transform, Perspective Projection.
Transformation Pipeline.
8.
Week
11: Hidden line
removal hidden surface removal algorithms, based on vector cross product,
optional material on z-buffer algorithm.
9.
Week
12: Decoration
algorithm, linear decoration algorithm, non-linear decoration algorithm.
10.
Week 13: Shading
models, diffuse reflection, ambient light, rendering techniques.
11. Week 14 and 15:Further discussion of Ray Tracing algorithm, and in-class demo of the final project.
NUMBER OF SECTIONS PER WEEK AND DURATION PER SESSION:
There are 2 lecture sessions per week, each session lasts one hour and 20 minutes.
Homework and Projects:
There
will be 5 mandatory projects and 1 optional project. The
Quiz and Midterm Exams:
Five
minute quiz will be given on every Monday class, and
Grading Policy:
Five
projects weights 50% of the class (each project counts about 10
Lecture Notes:
1. Project 1
2. Project 2