CIS 563: Physically Based Animation (Spring 2010)

Time:  MW 1:30-3pm
Moore 212

  Alla Safonova

Email: alla at
Office: Levine 303
Office Hours: by appointment (email me anytime to schedule a meeting)


TA: Benjamin Sunshine-Hill

Office Hours: Mon. 4-5pm and Friday 1-2pm in Moore 100


TA: Aline Normoyle

Office Hours: Tues. 4:30-5:30pm and Thurs. 4:30-5:30pm in Moore 100



Detailed Course Syllabus (will change, check regularly)


Class Handouts




Student Feedback


New Announcements:

         Movie day results are here (RESULTS)

        Final project grade breakdown added below (see grading)

        Final project presentations are due by 11am (not later!!!) on Wednesday April 28(instructions are here)

        Final report is due at midnight on Friday May 7

        Final written homework is canceled (in order to let you concentrate on your final projects)


Old Announcements:

         First Assignment out (Cloth Simulation) 

         Please note small change in office hours on Tuesday for Aline

         Office Hours Poll link (please participate!):

         Second Assignment out (Smoke Simulation) 

         Due to snow last week you will have one more late day (now you have 6 total)

         Schedule change (lecture swap): On Monday March 1 we will have motion capture demo that was initially scheduled for March 31st

Class will meet in SIG lab at 1:30

         Third Assignment out (Rigid Body Simulation) 

        Final project proposal due on Monday April 5th (instructions are here)

        Final project mid-review presentations are due by midnight on Tuesday April 13(instructions are here)




Course Description
This course introduces students to common physically based simulation techniques for animation of fluids and gases, rigid and deformable solids, cloth, explosions, fire, smoke, virtual characters, and other systems. Physically based simulation techniques allow for creation of extremely realistic special effect for movies, video games and surgical simulation systems.We will learn state of the art techniques that are commonly used in current special effect and animation studios and in video game community. To gain hands-on experience, students implement basic simulators for several systems. The course is appropriate for both upper level undergraduate and graduate students.


Students should have a good knowledge of object oriented programming and basic familiarity with linear algebra and physics. Some background in computer graphics is helpful.


List of Topics

  • Simulating Deformable Objects
    • Particle Systems
    • Mass spring systems
    • Deformable Solids & Fracture
    • Cloth
    • Explosions and Fire
    • Smoke 
    • Fluids
    • Deformable active characters
  • Simulating Rigid bodies
    • Rigid bodies dynamics
    • Collision detection and handling
    • Controlling rigid bodies simulation
  • Simulating Articulated Bodies
    • Simulated characters in games
    • Optimization for character animation
    • Data driven approaches
    • Dynamic Response for Games
  • Numerical Methods that will be covered

o        Finite Element Methods

o        Finite Difference Methods

o        Collision Detection & Response

o        Stability and Implicit Integration

o        Level Set Methods

o        Smoothed Particle Hydrodynamics

o        Model Reduction Techniques

o        Simulation Control


Grading will be based on a number of programming assignments and participation.

Very preliminary grading distribution (can change):

Projects (54%)

Cloth Simulation (18%)

Fluid or Smoke Simulation (18%)

Rigid body simulation (18%)


Final project of your choice (36%)

         Mid-review report and presentation 10% (you all did very well)

         Final project presentation 20% (quality of your presentation and results on Wednesday, April 28)

         Final report 10% (quality of the report)

         Project outcome 60% (technical achievement of the project)


Answers to class presentation questions (5%)


Class Participation (5%)



There is no required text book for this class. Lecture notes will be provided for each class. Also supplemental reading material is linked from the syllabus.

Good resources:
Physically Based Deformable Models in Computer Graphics by Andrew Nealen, Mathias Muller, Richard Keiser, Eddy Boxerman and Mark Carlson  (Nice survey paper of the field)
Physically Based Modeling (The 2001 course notes by Baraff and Witkin)
Fluid simulation (SIGGRAPH 07 course notes on by Bridson et. al.)
Computer Animation Information Page (Rick Parent's page with large number of links)
Hecker Articles(Rigid body dynamics)

Useful Books (not required):

Fluid Simulation for Computer Graphics (Robert Bridson, A K Peters, 2008)

Physics Based Animation (Book by Erleben, Sporring, Henriksen, Dohlmann)


Code of Academic Integrity

Since the University is an academic community, its fundamental purpose is the pursuit of knowledge. Essential to the success of this educational mission is a commitment to the principles of academic integrity. Every member of the University community is responsible for upholding the highest standards of honesty at all times. Students, as members of the community, are also responsible for adhering to the principles and spirit of the following Code of Academic Integrity.

Academic Dishonesty Definitions

Activities, that have the effect or intention of interfering with education, pursuit of knowledge, or fair evaluation of a studentís performance are prohibited. Examples of such activities include but are not limited to the following definitions:

A. Cheating: using or attempting to use unauthorized assistance, material, or study aids in examinations or other academic work or preventing, or attempting to prevent, another from using authorized assistance, material, or study aids. Example: using a cheat sheet in a quiz or exam, altering a graded exam and resubmitting it for a better grade, etc.

B. Plagiarism: using the ideas, data, or language of another without specific or proper acknowledgment. Example: copying another personís paper, article, or computer work and submitting it for an assignment, cloning someone elseís ideas without attribution, failing to use quotation marks where appropriate, etc.

C. Fabrication: submitting contrived or altered information in any academic exercise. Example: making up data for an experiment, fudging data, citing nonexistent articles, contriving sources, etc.

D. Multiple submission: submitting, without prior permission, any work submitted to fulfill another academic requirement.

E. Misrepresentation of academic records: misrepresenting or tampering with or attempting to tamper with any portion of a studentís transcripts or academic record, either before or after coming to the University of Pennsylvania. Example: forging a change of grade slip, tampering with computer records, falsifying academic information on oneís resume, etc.

F. Facilitating academic dishonesty: knowingly helping or attempting to help another violate any provision of the Code. Example: working together on a take-home exam, etc.

G. Unfair advantage: attempting to gain unauthorized advantage over fellow students in an academic exercise. Example: gaining or providing unauthorized access to examination materials, obstructing or interfering with another studentís efforts in an academic exercise, lying about a need for an extension for an exam or paper, continuing to write even when time is up during an exam, destroying or keeping library materials for oneís own use., etc.

* If a student is unsure whether his action(s) constitute a violation of the Code of Academic Integrity, then it is that studentís responsibility to consult with the instructor to clarify any ambiguities.

(Source: Office of the Provost, 1996)