EECS 487: Interactive Computer Graphics
Course Information
Fall 2007
Topics
The course will address the following topics:
- Mathematics for Computer Graphics:
Points, vectors, matrices, linear algebra, triangles, barycentric
coordinates, interpolation, 2D and 3D rigid transformations, and
3D viewing and perspective.
- Rendering:Scan line and ray tracing
techniques, antialiasing, illumination
and reflection models for surfaces, shadowing, texture mapping,
radiosity, GPU programming.
- Geometric Modeling:
Meshes, modeling hierarchies, splines,
implicit curves and surfaces, procedural models, and user interfaces.
- Animation: Principles of animation. Keyframe animation.
Grading
Each student's final grade will be based on two exams, five programming
projects, three-four homework assignments, and a small class presentation/paper, as follows:
- Midterm exam: 15%
- Final exam: 15%
- Projects (programming assignments): 50%
- Homeworks: 15%
- Class presentation/small paper: 5%
Assignments
Programming projects
There will be four programming projects.
-
Project 1: Raster graphics.
Scan converting lines and triangles. Basic shading and color
interpolation, simple anti-aliasing.
- Project 2: 3D scene rendering. Implement lighting and
shading calculations, and setup perspective scene viewer.
- Project 3: Animation. Create and render an animated scene
with nested transforms. Control animation using splines. Use textured
meshes.
- Project 4: Ray tracing. Implement a ray tracer, including
effects such as hard shadows, reflections, and refraction through
transparent surfaces.
Late policy: We will NOT
accept late submissions. This is a firm policy. If you wait too long to
start work, you risk getting a 0 on the project. Start early, and plan
to have it finished a few days ahead of the due date. Note that many
unexpected
problems arise during programming.
In
addition, the computer labs can become crowded, and computers crash
and networks fail. Extensions will not be given even if these things
happen. Plan for these things to
happen.
They will!
Early policy: There will be
a
bonus for early submissions of the programming projects. Submitting 2
days early will be worth a bonus of 4% of the maximum score. Submitting
1 day early will be worth an added 2%.
Written Homeworks
There will be four written homework assignments, generally based on
the text book material.
Class presentation/small paper
Five percent of your grade will come from either doing a 15-20 minute
presentation in class or a small paper (3-4 pages) on a computer
graphics related topic of your choice (approved by the instructor). We
will be setting up presentation schedule in the first weeks of the
course.
CAEN Account
You are required
to have a CAEN
account to take EECS 487. Among other reasons, you will need it to
access some of the course materials. (Most students will already have
one, because Engineering students and LS&A computer science majors
all have CAEN accounts.) We are providing 100MB of disk space on CAEN
servers for each EECS 487 student to use for course work.
Honor code and policy on cooperation: All
students
taking this class are expected to abide by the Honor
Code of the College of Engineering. This means that all
assignments,
programming
projects, and exams are covered by the Honor Code. In general, all work
is to be that of each individual. Students
must not share code or designs related directly to the content
of a project,
but can discuss questions about the assignment, the support code,
general coding
techniques, and the general
principles
of graphics algorithms. (The class phorum is a
good place to discuss such questions.) Violation of this policy is
grounds to initiate an action
with the Dean's office that may come before the College of
Engineering's
Honor Council. Please do not hesitate to contact me if you have
any questions about this policy.
Getting
Help
A good way to get individualized help is to go to office hours
(listed on the main course web page). In
addition, you can get help online via the EECS 487 phorum.
This is a great way to ask questions and get answers. (You can also
answer other students'
questions -- and get contribution points for doing it!) Lee and Manoj
prefer this to email, because it helps
us avoid
answering the same questions repeatedly. We ask that you do not post
your project-specific code on the phorum. If you have a code-specific
question that
requires we look at your code, come to office hours.
EECS 487 home