next_inactive up previous

CS-511 Topics in Computer Graphics

Fall 2008 (Tue, Thu 5:00pm - 6:15pm, SB-239)

Administrative information



component description weight
participation up to 4 unjustified missed classes $\Rightarrow$ full credit 5%
assignment 1 2D rendering 5%
assignment 2 3D rendering 5%
assignment 3 warping/morphing 5%
assignment 4 surface modeling 5%
assignment 5 animation 5%
project presentation (15%) project (15%) 30%
final exam open notes (one paper notebook/binder) 40%
total   100%


  1. There is an additional mandatory assignment (assignment 0) which does not carry any credit. There is a penalty of 5% for not submitting this assignment.
  2. Students may be invited to discuss their assignments.
  3. Late days: there is a total of 4 ``late days'' for all the assignments. After that 1 late day = -10%. Late days do not include weekends and university holidays. The final project can not be late. Assignments can not be submitted after classes end.
  4. Each member of this course bears responsibility for maintaining the highest standards of academic integrity. All breaches of academic integrity must be reported immediately. Copying of programs from any source (e.g. other students or the web) is considered to be a serious breach of academic integrity.

Course outline

What to expect from this course

Computer graphics can be covered at different levels. The focus of this course is the understanding of algorithms and techniques used in computer graphics. Students in the course are expected to write computer programs implementing different techniques taught in the course. The course requires mathematical background and some programming experience. This course does not intend to teach how to use a specific graphics application software such as 3D-Studio. While a graphics API (OpenGL) is used in the course it is by no means the primary goal of this course.



  1. Introduction: overview of the course; overview of numerical tools; introduction to graphics programming with OpenGL.

  2. Spatial transformations: homogeneous representations of lines and points, ideal points and the line at infinity, projective planes, duality principle; Euclidean, affine, perspective, bilinear, and polynomial transformations.

  3. Warping and morphing: plane and spatial warping; warping and morphing of images; parameter and feature-based warping; control-lines based warping; texture mapping, image mosaics, and image-based rendering; scanline algorithms, incremental algorithms, separable mappings, two-pass transforms, thin-plate splines.

  4. Surface interpolation: intrinsic, explicit, implicit, parametric representations; conic curves and quadric surfaces; linear interpolation; barycentric coordinates; surface patches; bilinear, lofted, and Coons surfaces; biquadratic and bicubic surface patches; Catmull-Rom surfaces; tensor product patches; DeCasteljau algorithm; Blossom; Bernstein form; Bezier surfaces; B-spline surfaces.

  5. Polygonal techniques: representations of polygonal surfaces; simplification, and smoothing; mesh subdivision; local surface geometry estimation; feature point characterization, surface registration, polygonal mesh reconstruction.

  6. 3D Rotation: quaternions, spherical linear interpolation.

  7. Kinematic modeling: forward kinematics, articulated object animation, Denavit-Hartenberg notation, inverse kinematics.

  8. Particle dynamics: integral curves, phase space, cloth and fur energy functions, velocity-free techniques; rigid body dynamics, orientation and angular velocity, rigid body motion equations.

  9. Final presentations: students present selected topics and develop software implementation of related techniques based on the review of relevant literature. The work is then summarized in a concluding report. A list of possible topics will be provided.


There is no required textbook. Some relevant material will be handed in class during the course. The following books will be used in part:

  1. Warping and Morphing of Graphical Objects, J. Gomes, L. Darsa, B. Costa, and L. Velho, Morgan Kaufmann, 1999.
  2. Computer Graphics and Geometric Modeling, D. Salomon, Springer-Verlag, 1999.
  3. Subdivision Methods for Geometric Design: A Constructive Approach, J. Warren and H. Weimer, Morgan Kaufmann, 2001.
  4. Computer animation: algorithms and techniques, R. Parent, Morgan Kaufmann, 2002.
  5. OpenGL 1.2 Programming Guide, 3rd ed. M. Woo, J. Neider, et al. Addison - Wesley, 1999.

Tentative schedule

class date topic assignment

introduction to graphics programming
1 08/21 introduction AS0
2 08/26 introduction to 2D graphics programming
3 08/28

4 09/2 introduction to 3D graphics programming AS1
5 09/4

warping and morphing
6 09/9 warping and morphing AS2
7 09/11

8 09/16 projective transformations
9 09/18

10 09/23 polynomial transformations
11 09/25

12 09/30 No class AS3
surface modeling

13 10/2 polygonal techniques
14 10/7

15 10/9 No class
16 10/14 subdivision and simplification
17 10/16 No class (Fall break) PROJ
18 10/21

19 10/23 Bezier and B-spline surfaces
20 10/28

21 10/30 rotation and quaternions
22 11/4

23 11/6 particle systems
24 11/11

25 11/13 velocity-free representations
26 11/18
final presentations
27 11/20 project presentations
28 11/25 project presentations
29 11/27 No class (Thanksgiving)
30 12/2 project presentations
31 12/4 project presentations
32 12/9 Final exam: 5:00pm-7:00pm (SB-239)

next_inactive up previous
Gady Agam 2008-08-21