Graduate Computer Graphics, Spring 98

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 1.0, and you will put your results (but not your source code) on the Web. (we aren't using Java 1.1 this semester because I cannot yet guarantee enough browser support for it).

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. List Price: $68.95 U.S. You can also use any good book on Java as a language reference. One of my favorites 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, starting in the third week. 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 3-5pm on Wednesdays. My office is at 719 Broadway, Rm 1224 (on the 12th floor).

The grader is Hua Wang (

The entire text of Flatland is published here.

Course Outline (arranged by lecture):

week 1:
What is computer graphics?
Course overview
Basic introduction to ray tracing
homework 1 due Monday, Feb 2, before class
homework 1 grades

week 2:
2D linear transformations
3D linear transformations
introduction to perspective
homework 2 due Monday, Feb 9, before class
homework 2 grades

week 3:
Introduction to shape modeling
Introduction to user interaction
homework 3 due Monday, Feb 23, before class
homework 3 grades

week 4:
Polygons: representation, interaction, clipping
homework 4 due Monday, Mar 2, before class
homework 4 grades

week 5:

homework 5 due Monday, Mar 9, before class

week 6:
Creating hierarchical motion descriptions
Implementing a motion machine
homework 6 due Monday, Mar 23, before class

week 7:
Animating over the Web No homework this week

week 8:
Introduction to the rendering pipeline
The lumigraph
Painter's and Z-buffer Algorithms
homework 7 due Monday, Apr 6, before class

week 9:
Shading and lighting
homework 8 due Monday, Apr 13, before class

week 10:
Building the viewing/perspective module
homework 9 due Monday, Apr 20, before class

week 11:
homework 10 due Monday, Apr 27, before class

week 12:
More Textures
homework 11 due Monday, May 4, before class

week 13:
Other topics of interest
homework 12 due Monday, May 11, before class

week 14:
Ray tracing revisited