Graduate Computer Graphics, Fall 2000

This is a programming intensive course. There is no midterm or final, but be warned: homeworks count. Some assignments will be tricky, others time intensive. In one semester we will be building computer graphics systems pretty much from the ground up, and many assignments build on previous ones, so you are well advised to hand things in promptly.

All programming will be in Java, and you will put your results (but not your source code) on the Web.

The reference textbook will be: Computer Graphics: Principles and Practice, C version by James Foley, et al, ISBN: 0201848406 Pub: ADDISON-WESLEY, 1996, 1174 pp. You can also use any good book on Java as a language reference. One possibility among many is: Java in a Nutshell, 2nd Edition, by Flanagan, D., O'REILLY, 1997.

You will need to maintain a web page from which to post your homeworks for this class. If you don't already have a computer account that you are comfortable using for this class (which may be the case for some undergraduates or students from other departments) then please get an account now by going to the 4th floor of the Computer Science Department building (the same building where our class is) and filling out a class account form.

My office hours are 5-7 on Mondays. My office is at 719 Broadway, Rm 1202 (on the 12th floor).

The grader is Lizhong Su (email:

The course outline below is subject to change, but reflects the general flow the course will take this semester.


Course Outline (arranged by lecture):

week 1:
What is computer graphics?
Course overview
Some cool examples

week 2:

Introduction to linear transformations
Homework 1 (due Monday, September 25).

week 3:
Continuing on linear transformations
Introduction to polygons
Introduction to ray tracing
Homework 2 (due Monday, October 2).

week 4:

Inverting the view camera
Cool inspirational examples
Homework 3 (due Monday, October 16).

week 5:

Visible surface algorithms
Painter's algorithm
Z-buffer algorithm
Homework 4 (due Monday, October 30).

week 6:
Splines and subdivision surfaces

week 7:
Parametric surfaces
Homework 5 (due Monday, November 13).

week 8:
Shading and lighting

week 9:
Kinematic machines

week 10:
More Kinematics
Homework 6 (due Monday, December 4).

week 11:
Inverse kinematic, dynamics

week 12:

week 13:
Fractals and other topics of interest

week 14:
More special topics