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

- Gady Agam
- Office: SB-228a
- Contact: x7-5834, ,
- Office hours: Tue, Thu 6:30pm - 7:30pm

component | description | weight |

participation | up to 4 unjustified missed classes 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% |

Notes:

- 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.
- Students may be invited to discuss their assignments.
- 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.
- 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.

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.

- Provide understanding of techniques, mathematical concepts and algorithms used in warping/morphing/texturing, geometric modeling, and animation so as to facilitate further study in the area of computer graphics.
- Provide pointers into the literature and exercise the development of a project based on a literature search and one or more research papers.
- Practice software implementation of different concepts and techniques covered in the course.
- Utilize graphics and scientific tools for relevant software implementation.

- Introduction: overview of the course; overview of numerical
tools;
introduction to graphics programming with
*OpenGL*. - 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.
- 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.
- 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.
- Polygonal techniques: representations of polygonal surfaces; simplification, and smoothing; mesh subdivision; local surface geometry estimation; feature point characterization, surface registration, polygonal mesh reconstruction.
- 3D Rotation: quaternions, spherical linear interpolation.
- Kinematic modeling: forward kinematics, articulated object animation, Denavit-Hartenberg notation, inverse kinematics.
- 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.
- 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:

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

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 | AS4 | |

animation | |||

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 | AS5 | |

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) |

Gady Agam 2008-08-21