about
schedule
assignments
readings
Announcements
17 December:
The time and place for the final: Upson B-17 from 12:00 to 2:30.
4 November:
Pet Chean Ang will be moving his office hours from 4:00 pm to 5:45 pm
for Tuesday only.
4 November:
There will be a help session starting at 6:30 in 110 Hollister
as a review for the prelim.
20 October:
There is an update to
hw4a with a correction and some
clarifications.
20 October:
We need all your Prelim 1 exam books back to
check on some grading consistency issues. We will do this in such a way that
grades can only go up, not down. If you haven't already, please turn in your
exam book in class on Wednesday or bring it to Andy's office (5162 Upson) any
afternoon (other than class time) by Thursday.
6 October:
The first prelim will be tomorrow (Tuesday,
October 7), from 7:30 pm–9:00 pm in Thurston 205. There will be a help
session an hour before tentatively in the same room. If the room is occupied
during the hour before the exam, check the nearby classrooms for the review
session.
3 October:
Take a look at the schedule; we've removed one assignment and re-figured all
the deadlines.
2 October:
I (Prof. Marschner) will not have office hours on Friday afternoon (3 Oct).
If you'd like to talk to me before my Wednesday office hours, just send email
to set up an appointment.
30 September:
By popular demand, Homework 3a is now due on Monday 6 October (the day before
the first prelim).
11 September:
Many people have had some trouble accessing the ACM Digial Library so I have
made a local copy of Porter and
Duff, and I'll do the same with any future DL articles. The file is only
accessible to Cornell IP addresses.
8 September:
I have received a lot of questions in the last couple of days that indicate
that many students have been confused by the wording of problem 2 on Homework 1a. Because of
this I'll spend some class time today clarifying this question, and I'll waive the late penalty for
anyone who would like to revise and turn in on Wednesday. Part b is still due
on Monday.
29 August:
The time listed in the Course Roster, MW 2:55–4:10, is incorrect. The correct
time is MWF 2:30–3:20. The roster will be corrected
soon, but since many students will not yet know
we are meeting on Fridays, today's class meeting will be brief.
25 August:
Welcome to CS465! Be sure to check this space regularly, because we'll use it
for announcements you won't want to miss.
Assignments
We will have seven assignments, one every two weeks. Each one (except the
last one) will have a written component and a programming component. The
written part is due in about a week and the programming part is due in about
two weeks. You can see on the schedule when
assignments will be available and due. On the about
page there is more information about the requirements and policies that apply
to the assignments.
These assignments are subject to change up until they are released. For
assignments that are still in the future, the descriptions here are just to
let you in on my plans.
hw1: Images and painting
You will learn basic image processing and compositing by creating a simple
image editing and painting tool, like a miniature version of Photoshop.
assignment page
hw2: Math and parameterizations
This assignment is to help you learn the basic mathematical tools you will
need for the rest of the course. You will implement parameterizations of
several three-dimensional shapes, with the help of a shell that will show you
the results of your efforts in 3D.
assignment page
hw3: Ray tracing
You will build a simple rendering program using the ray tracing algorithm.
This will allow you to make rather nice pictures of a few very simple
geometric shapes we have discussed so far: spheres, cubes, and triangles.
assignment page
hw4: Geometric transformations
You will implement geometric transformations in the two contexts of point
transformation and ray tracing, testing your code using a shell that renders
transformed objects for you.
assignment page
hw5: Rasterization and graphics pipeline
You will implement a simple graphics pipeline with transformation, lighting,
and texturing. We provide code for rasterizing triangles and putting an image
on the screen, and you do the rest. You will verify your implementation by
comparing against the output of graphics hardware.
assignment page
hw6: Splines
You will create a 2D spline editor that can be used to define 3D surfaces of
revolution. We provide user interface code and you provide the code to
implement the spline and to triangulate the surface of revolution.
assignment page
Steve Marschner (srm@cs.cornell.edu)