Instructor:  Giovanni Motta (gim@ieee.org) Office : Volen 255 Office Hours: Mon. 3:00pm  5:00pm or by appointment 
Class Meetings:  Monday and Wednesday, 5:00pm 
6:30pm Location: Abelson 131 
Teaching Assistants:  Anthony Bucci
(abucci@cs.brandeis.edu) Office: Volen 118 Office Hours: Thursday. 2:00pm  4:00pm or by appointment John Langton (bounceme@cs.brandeis.edu) Office: Volen 110 Office Hours: Tuesday. 1:30pm  3:30pm or by appointment Anurag S. Maskey (anurag@cs.brandeis.edu) Office: Volen 136 Office Hours: Wednesday. 2:00pm  4:00pm or by appointment 
Textbook: 
Computer Graphics:
Principles and Practice in C, by J. D. Foley, A. Van Dam, S. K. Feiner, J. F. Hughes. Hardcover, 1200 pages, AddisonWesley Pub Co; 2nd edition, ISBN: 0201848406. Lecture notes, demos and sample programs will be published on the web page 
OpenGL: 
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.2, by M. Woo, J. Neider, T. Davis, D. Shreiner, OpenGL Architecture Review Board. Paperback, 784 pages, AddisonWesley Pub Co; 3rd edition, ISBN: 0201604582. 
Suggested: 
Mathematics for 3D Game
Programming & Computer Graphics, by Eric Lengyel. Hardcover, 400 pages, Charles River Media, ISBN: 1584500379. 
# 
Date 
Topics 
Notes 
1 
Wed Sept 3 
Introduction Application and Examples (Chapter 1) 
Links:  Luxo Jr. animation (Pixar)  Alien Song animation (Vicotr Navone)  Wet Bird picture (Gilles Tran)  Polynomial Texture Mapping web page (HP Labs) 
2 
Mon Sept 8 
2D
Drawing Scan Conversion of Lines and Circles (Chapter 3  3.1, 3.2, 3.3, 3.5, 3.6) 

3 
Wed Sept 10  Hardware
Devices Hardware Devices (Chapter 4) 
HW#1
(Theory) due Wed. Sept 17 
4 
Mon Sept 15  2D
Drawing Line and Polygon Clipping (Chapter 3  3.11, 3.12, 3.13, 3.14, 3.17) 

5 
Wed Sept 17  2D
Viewing and Geometrical Transformations Review of Operations on Matrices and Vectors (Appendix A  A.1, A.2, A.3, A.4, A.5) 
HW#1 (Theory) due HW#1 Solution 
6 
Mon Sept 22  2D
Viewing and Geometrical Transformations Rotation, Reflection, Shear, Scale, Translation (Chapter 5  5.1, 5.2, 5.3, 5.4, 5.5) 
Introduction
to OpenGL Links:  OpenGL web page  OpenGL Utility Toolkit (glut)  C programs from the Redbook  Nate Robin's tutorials 
7 
Wed Sept 24  2D
Viewing and Geometrical Transformations World to Viewport coordinate transformation 3D Geometrical transformations Rotation, Reflection, Shear, Scale, Translation (Chapter 5  5.6, 5.7, 5.8) 
HW#2
(OpenGL) due Tue. Oct 7 Note: Make sure your program runs in the berry patch machines. FAQ 
8 
Mon Sept 29  3D
Viewing Projections and Viewing in 3D (Chapter 6  6.1, 6.2, 6.3, 6.4, 6.5) 

9 
Wed Oct 1  3D
Solid Viewing Viewing Volume 
OpenGL:
Drawing Primitives 
10 
Tue Oct 7  3D
Solid Modeling Curves Representation (Chapter 11  11.2) 
Brandeis Monday HW#2 (OpenGL) due 
11 
Wed Oct 8  3D
Solid Modeling Polynomial Splines 
Links:  Parametric Cubic Curves web page with applet 
12 
Mon Oct 13  Midterm Exam  
13 
Wed Oct 15  Midterm Solution 
HW#3
(Theory) due Mon Oct 27 
14 
Mon Oct 20  3D
Solid Modeling BSplines Volume Representiation (Chapter 11.1, Chapter 12) 
Links:  Bezier splines in Postscript and TrueType fonts (web page) 
15 
Wed Oct 22  3D Solid Modeling Volume Representiation 
HW#4
(OpenGL) due Mon Nov 17 Links:  OpenGL Redbook examples .With description and screenshot 
16 
Mon Oct 27  HW3 (Theory) Solution 
OpenGL:
3D Viewing HW#3 (Theory) due HW#3 Solution 
17 
Wed Oct 29  Colors Color Spaces, Metrics and Transformation (Chapter 13  13.2, 13.3) 
YUV to RGB Conversion (C Program) 
18 
Mon Nov 3  3D
Viewing Visible Surface Algorithm (Chapter 15  15.1, 15.2, 15.3, 15.4) 
Robot Arm Demo (Win32 and Linux
executables) Note: The demo is not complete, will change in the future and includes features that are not requested by the assignment. Use as a reference only. 
19 
Wed Nov 5  3D
Viewing Visible Surface Algorithm (Chapter 15  15.5, 15.7.1) 
OpenGL: Mouse, Keyboard and Menus 
20 
Mon Nov 10  Visualization Light and Shading Models (Chapter 16  16.1, 16.2) 
Default
Final Project (OpenGL) due Mon Dec 8 
21 
Wed Nov 12  Visualization Texture and Bump Mapping (Chapter 16  16.3) 
OpenGL:
Light Sources and Materials Project Proposal due 
22 
Wed Nov 19  Visualization Transparency and Shadows (Chapter 16  16.4, 16.5) 
OpenGL:
Texture Mapping Loading a PPM ASCII Image (C Program) Using a PPM Binary Image as a Texture (C Program) PPM Sample Images (ASCII and Binary) Links:  IrfanView to convert image format (web page) 
23 
Mon Nov 24  Advanced
Topics Ray Tracing (Chapter 15  15.10, Chapter 16  16.12) 
HW#4
due Links:  Persistence of Vision POVRay Ray Tracer (web page)  Wireframe modellind for POVRay MORAY (web page) 
24 
Wed Nov 26  Advanced
Topics Projects Presentations:  Chinese Brush Painting by Ross Girshick 
Suggested
Exercises (It is not necessary to solve them, pick a few and think about a possible solution) 11.2, 11.3, 11.5, 11.7, 11.8 12.2, 12.3 13.8, 13.10, 13.14, 13.20 15.5, 15.7, 15.8, 15.10, 15.11, 15.12, 15.15, 15.19, 15.20 16.1, 16.3, 16.13 
Sun Nov 30 
REVIEW SESSION
Q&A 5:00pm Meeting point: Abelson 131 (classroom) 

25 
Mon Dec 1  Final
Exam REVIEW SESSION  Q&A 11:00am Meeting point: Volen 255 (my office) 

26 
Mon Dec 8 
Project Due Date 
Grading criteria are prerogative of the instructor and are as follows, unless otherwise noted:
Percent
Component
30%
Assignment
20%
MidTerm Exam
25%
Final Exam
25%
Final Project
Academic Honesty: As stated in the Rights and Responsibilities handbook, "Every member of the University community is expected to maintain the highest standards of academic honesty. A student shall not receive credit for work that is not the product of the student's own effort."
Homework: Homework should be submitted both by email (or web page) and in printed format. Email should be received before beginning of class. Assignment have to work and should be well documented (comments); easy to understand (good names for variables and functions); and easy to read (proper use of indention and white space). Readings should be completed before each class.
Late Policy: No late homework is accepted.
Attendance: Students are expected to attend all classes.
Disabilities: If you are a student with a documented disability on record at Brandeis University and wish to have a reasonable accommodation made for you in class, please see me immediately.
Inclement Weather: If inclement weather makes it necessary to cancel classes, announcements will be made on the University's main telephone number (7817362000). This message will usually be changed by 3:00pm
Class Schedule and Cancellations: Classes will be held at the time and place designated in the official Continuing Studies schedule. Students will be notified in the event of a cancelled class. Notification will be by one or more of the following: email, a posted announcement on the classroom door and/or a posting on the web site.