COMP175-01 - Fall 2008
Lectures: T 6:00-7:15 - Halligan Hall 111A
Lectures/Labs: Th 6:00-7:15 - Halligan Hall 122
Instructor: Alexandre R.J. François
(alex@cs.tufts.edu)
Office: Halligan Hall E011
Office hours: T+Th 5:00-6:00pm
TA: Matthew L. Knowles
E-mail: tuftscomp175ta (at) gmail.com
Office hours: T 4:30-5:45pm
Location: Halligan Hall 120
l2r: alex - aj - jessie - nada - wanyu - gerhard - matt - doria
Project deliverables due December 18, 2008 (posted 12/03)
Project code and publicity material (120x120 icon and 1 paragraph
summary) are due on December 18. Project websites must be completed
by the same date.
This course explores the fundamentals of computer graphics, including representing digital images, 2D rasterization and anti-aliasing, 3D rendering via ray casting, ray tracing and radiosity, viewing transformations, 3D shape representation, and an introduction to modeling and computer animation. Assignments and projects require a good working knowledge of the C programming language. (From Tufts CS course description)
Prerequisites: Comp 15, Math 13, and Math 46 or consent of instructor.
No required textbook, see resources section for some recommended textbooks and other useful material.
Programming assignments are posted on Thursdays, due the following Thursday by 11:59pm using Provide. The written part is due in class on Thursday.
Programming language: C/C++
Grading: approximately 40% for working code, 40% for quality of the resulting images, 20% for quality of documentation.
There will be one midterm
There will be one individual final project
Do:
Ask questions of the Professor and TA
Talk to other students about ideas and approaches
Get ideas from books and online sources
Always cite the source of the ideas you use in your assignments
Do not:
Share code with other students
Use ideas or code from other sources without referencing them
Presenting someone else's ideas or work as your own is a violation of academic integrity, is absolutely unacceptable, and may result in severe disciplinary action for all parties involved. See the Academic Integrity booklet from the Dean of Students' office.
This course makes extensive use of material developed (and graciously provided) by Sarah Frisken.
Always in motion is the future. -- Yoda
Tuesday September 2:
Welcome, course overview
Thursday September 4:
1. Introduction, images, displays, color [pdf]
Assignment 1 posted (due 09/11 at 11:59pm)
Tuesday September 9:
2. 2D drawing: lines, midpoint algorithms [pdf]
Thursday September 11:
2. 2D drawing: circles
[pdf]
3. Drawing and filling 2D shapes: seed fill
[pdf]
Assignment 1 due at 11:59pm
Assignment 2 posted (due 09/18 at 11:59pm)
Tuesday September 16:
4. Raster-based filling of general polygons - fill rules
[pdf]
5. Raster-based filling algorithms - x-intersection array algorithm
[pdf]
September 16:
Last day for AS&E students to add classes
Thursday September 18:
5. Raster-based filling algorithms - edge list algorithm
[pdf]
Assignment 3 posted (due 10/02 at 11:59pm)
Assignment 2 due at 11:59pm
Tuesday September 23:
6. Coloring and texturing polygons
[pdf]
Thursday September 25:
7. Aliasing, sampling theory, anti-aliasing
[pdf]
Assignment 4 posted (due 10/16 at 11:59pm)
Tuesday September 30:
Points, vectors and matrices
[pdf]
2D transformations
[pdf]
Thursday October 2:
2D and 3D transformations
[pdf]
Polygonal models
[pdf]
Assignment 3 due at 11:59pm
Tuesday October 7:
Triangular meshes
[pdf]
October 7:
Last day for AS&E students (except first-year undergraduates) to drop courses without record of enrollment
Last day for all undergraduates (including first-years) to select pass/fail option
Thursday October 9:
Model and view transforms
[pdf]
Camera transforms
[pdf]
Tuesday October 14:
Camera transforms
[pdf]
The graphics pipeline
[pdf]
October 14:
Last Date for AS&E students to make up incomplete grades from Spring 2008
Thursday October 16:
Review + project ideas
Assignment 4 due at 11:59pm
Tuesday October 21:
midterm
16 - Thursday October 23:
Interactive graphics (6:45-7:15pm)
Assignment 5 posted (due 10/30 at 11:59pm)
17 - Tuesday October 28:
Interactive graphics
Ray tracing
[pdf]
18 - Thursday October 30:
Illumination
[pdf]
More ray tracing
[pdf]
Assignment 5 due at 11:59pm
Project proposals finalized
19 - Tuesday November 4:
Parametric curves and surfaces
[pdf]
20 - Thursday November 6:
Parametric curves and surfaces
[pdf]
An Interactive Introduction to Splines (external) [link]
21 - Tuesday November 11:
Veteran's Day - no class
November 12:
Last date for undergraduate first years to drop courses without record of enrollment
22 - Thursday November 13:
Tufts CS Seminar (2:50-4:00pm Halligan 111)
[announcement]
Subdivision surfaces
[pdf]
23 - Tuesday November 18:
Implicit surfaces
[pdf]
24 - Thursday November 20:
Project checkpoint (mid-project demos)
Volume rendering
[pdf]
25 - Tuesday November 25:
Animation
[pdf]
26 - Thursday November 27:
Thanksgiving - no class
27 - Tuesday December 2:
Project presentations and demonstrations on the Visualization Wall in Anderson Hall
[pictures]
28 - Thursday December 4:
Course wrap-up
December 8:
Classes end
Last day for AS&E undergraduates to withdraw from courses and receive a grade of W
1. Introduction, images, displays, color
[pdf]
2. 2D drawing: lines, circles
[pdf]
3. Drawing and filling 2D shapes - seed fill [pdf]
4. Raster-based filling of general polygons - fill rules
[pdf]
5. Raster-based filling algorithms
[pdf]
6. Coloring and texturing polygons, procedural textures
[pdf]
7. Aliasing and anti-aliasing
[pdf]
8. Points, vectors and matrices
[pdf]
9. 2D and 3D transformations
[pdf]
10. Polygonal models
[pdf]
11. Model and view transforms
[pdf]
12. Camera transforms
[pdf]
13. The graphics pipeline
[pdf]
14. Ray tracing
[pdf]
15. Illumination
[pdf]
16. Parametric curves and surfaces
[pdf]
17. Subdivision surfaces
[pdf]
18. Implicit surfaces
[pdf]
19. Volume rendering
[pdf]
20. Animation
[pdf]
Assignment 1: Creating and displaying 2D images
[html]
Assignment 2: Drawing 2D lines
[html]
Assignment 3: Filling Polygons and Triangles
[html]
Assignment 4: Anti-aliasing
[html]
Assignment 5: Graphics pipeline - geometry
[html]
Assignment 6: Graphics pipeline - lighting
Note: project descriptions and websites will be finalized in the next few weeks.
|
|
Real-time physically-based modeling and rendering of fire
In this project, fire is rendered using a model based on relationships from physics. This requires treating fire as a fluid and numerical solutions to differential equations. Whereas the physical model of fire gives the flames their characteristic flicker, a model of the cone responsivities of the eye provides the characteristic colors. [website] |
|
|
Surface reconstruction of vasculature using marching cubes
The goal of this project is blood vessels visualization, using Marching Cubes surface reconstruction. [website] |
|
|
Real-time music visualization
This project aims to unite human auditory and visual sensory inputs by exploring various graphical representations of sound, and animating the generated imagery in response to audio input. [website] |
|
|
Realistic 3d terrain generation
The goal of this project is to be able to generate three-dimensional terrains, with hills and valleys, and realistic-looking lighting and texture. [website] |
|
|
3D clock using OpenGL
This project used OpenGL to implement a clock that has a 3D shape and can rotate when the user press some key. The clock has a background, which is implemented by upload multiple bmp images to make texture for the clock. There are two 3D clock hands, that can rotate at the same time when the clock rotate. [website] |
|
|
Ray tracing
For this project, I implement ray tracing. In computer graphics, ray tracing is a technique for generating an image by tracing the path of light through pixels in an image plane.The technique is capable of producing a very high degree of photo realism; usually higher than that of typical scan line rendering methods, but at a greater computational cost. And ray tracing is capable of simulating a wide variety of optical effects, such as reflection and refraction, scattering, and chromatic aberration. [website] |
An Interactive Introduction to Splines (external) [link]