Computer Science

COSI 155B : Computer Graphics

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

Prerequisites:
Course Objectives: Materials of Instruction:
Textbook:
Computer Graphics: Principles and Practice in C,
by J. D. Foley, A. Van Dam, S. K. Feiner, J. F. Hughes.
Hardcover, 1200 pages, Addison-Wesley 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, Addison-Wesley 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.

Outline:

#
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
B-Splines 
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 POV-Ray Ray Tracer (web page)
- Wireframe modellind for POV-Ray 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:
Grading criteria are prerogative of the instructor and are as follows, unless otherwise noted:
Percent
Component
30%
Assignment
20%
Mid-Term Exam
25%
Final Exam
25%
Final Project


Policies:
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 (781-736-2000). 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.

Acknoledgments:

Images, animations, figures are Copyright (C) of the respective authors.
The teaching material is based on a similar course taught by Yacov Hel-Or  at the Department of Computer Science, Interdisciplinary Center, Herzliya, Israel.
The lecture on Ray Tracing uses slides taken from a similar lecture given by Alon Efrat  at the Department of Computer Science, Univeristy of Arizona.