Computer Animation - Algorithms and Techniques

4003-572-01 / 4005-763-01 (Winter 2008-9)

PROJECTS


A list of projects for this quarter can be found here.

The Schedule of project presentations can be found here.


Introduction

This course will investigate a number of programmable algorithms for computer animation.  The field of computer animation is quite broad, far broader than can be covered in a 10 week course.  Some topics will be covered in depth (those being the subject of the assignments), others will not.  The project is a means for a student to investigate one of these other topics by implementing the technique in software. 

The best learning comes from doing, thus the project you choose will be a most important means for getting familiar with one area, aspect, or technique of computer animation.  It is also the primary means on which you will be graded for the course.

The project will require that you implement a given technique or algorithm.  The result of the project should be either

Students will propose projects via a short proposal.  Each project will be individually approved by the instructor by the start of the 4th week of class.

In order that others may view your project, it is required that each student set up a Web site for their project.  The Web site must be set up by the mid-quarter update.  

Note that if you have an idea for a project but are unsure how you might go about doing it, please see the instructor early during the quarter and, together, we can see what we can work out.

Team projects are acceptable, however, the complexity of the project should reflect the number of members of the team and all team members are expected to contribute equally to the final project.  There can be no more than 3 members on a team.

Ultimately, this project will provide an opportunity for each of you to get experience with whatever it was that interested you enough about Computer Animation to sign up for this course.  So choose wisely and have fun!

Project Ideas

Below is a list of animation topics with the extent to which they will be covered in this course.  Topics covered in depth will have a programming assignment associated with them.  Enhancing the assignement to include a more advanced algorithm may be an acceptable project.
In addition, there are a number of topics related to the upcoming Virtual Theatre project that students are encouraged to consider.  Interested students should contact the instructor for more info on these projects.
Note that this is not an exhaustive list.  There are certainly many other areas of computer animation that you might consider.

A list of projects completed for previous offerings of this course can be obtained by clicking on the links below:

Project Description

The project requires the implementation of an animation algorithm or technique.    This means that the project must primarily consist of a strong programming component!    

Implementation of an  algorithm described in a research paper or application of a techniques to a particular application domain are excellent examples of good projects.

Although there are many good tools available to animators for creating animation (e.g. Maya, SoftImage, 3D Studio Max), the focus of this course is in the techniques and algorithms that underlie these packages and not learning how to use these packages.  (Students interested in the use of these tools should check out the computer animation offerings in the School of FIlm and Animation).     Thus, projects that simply use these tools to create an animation will not be acceptable.

That being said, this course will not cover any modeling techniques.  Thus, the use of these tools for creating 3D models that will be used in your animation project is entirely acceptable as the focus of the project is in animation, not modeling.

It can be very tempting to spend a good deal of time making your animation / system "look good".  However, remember that this is a Computer Science and not an art course.  Projects will be graded on how well they demonstrate the programming of an animation technique.  Thus, functionality should be emphasized over production value.    A project that shows a complex animation algorithm with a cheesy model will be looked upon more favorable than a project that uses a complex model performing a simple animation algorithm.

Project Deliverables

  • Proposal - The proposal is a short document that describes the project to be undertaken.   It should include:
  • Summary of the project  including the technique, algorithm, or application on which your project will  focus and the means by which you will be approaching your implementation.
  •  
  • A Work plan - An indication of how you will be going about the project.  This will include the Renderer/API that you plan on using for your system, the hardware platform that you plan on using, etc.
  • If this is a group project, the work plan will also outline the responsibilities of each member in the group.

  • Final Presentation  - A indication of how you plan to demonstrate or present the project during the last week of the course.
  • With the proposal, students should set up a Web page for posting documents, schedules, and statuses associated with the project. Submission of the URL for the Web page should be included wth the proposal.

    Proposals are due on December 19 and will be approved the first week after the Winter Break
     
    The Web site creation is due on January 7th (once the proposal is finalized)

  • Mid-Quarter update - A simple 1-2 page document that indicates your progress in completing your project.  It is appropriate to include any unexpected problems you have run into, and any changes in the project scope based on these problems.   
  • The mid-quarter update is due January 19th
     

  • Project Code  / Final Report - This is a the bulk of your work.  The report should be written as if you were going to pass the work on to another person.   The report should have enough details so that one, upon reading it, will have a clear idea of what you set out to do, how you went about doing it, and what you didn't get to.   It should be detailed enough so that the reader will be able to knowledgably start working on your code base after reading it.  
  • The final report and code submission are due  during finals week
     
  • Presentation / Demonstration - During the last week of the quarter, each individual/group will make a presentation to the class and/or instructor on their project.  The presentation should give a description of the project as well as a demonstration.  Use of visuals in giving the presentation (either Powerpoint, HMTL, or PDF)  is preferred.  For non interactive projects where the final result is a static animation, the animation should be shown during the presentation.   For projects that are applications, a demo of the system should be included.  (Please see the instructor in advance to set up whatever hardware may be required for the demo).
  • Students will also be given the opportunity to review each presentation via Peer Review.

    Presentation time slots will be distributed on a first come,first served basis.  Students are encouraged to sign up early for their presentation slot.

  • Team Member Evaluations   - For team projects, each member of the team will have the opportunity to rate the effectiveness of the other team members and give feedback on the effectiveness of the team as a whole.    Teammate evaluation forms will be available via mycourses.

  • Project Grading

    The project will be graded on a 100 point system with the various parts of the project having the following weights:


    Points Due Date:
    Proposal / Web Site
    10 Dec 19
    Mid-Quarter Update 5 Jan 19
    Documentation/Report 25 Finals week
    System 25 Finals week
    Presentation
    25 Feb 18th - Finals Week
    Peer Reviews
    10
    Feb 18th - Finals Week
    Team Evaulations
    +/- bonus points Finals Week

    As it is extremely important to continue to make progress as the course progresses...
    If you forsee any problems with meeting deliverable deadlines, and see the instructor well in advance (at least one week) of the deadline that might be missed we can attempt to work out alternate arrangements.

    last updated 01/05/09