Skip to content

dilevin/CSC417-physics-based-animation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

CSC417/CSC2549-Physics-based Animation Fall 2025

image courtesy David Levin

Instructors

Prof. David I.W. Levin
Email: diwlevin@cs.toronto.edu
Webpage

Office Hours: Upon request via email

TA

Coming Soon

Email Instructor and TAs: csc417tas@cs.toronto.edu

Lectures

Wednesday 11:00-13:00 ES B142

Tutorials

Monday 11:00-noon (starts September 8th)

Links

Discussion board using Piazza (monitored by TAs) Hand in assignments using MarkUs (Coming Soon).

Course Overview

This course is designed to introduce students to the field of physics-based animation by exposing them to the underlying mathematical and algorithmic techniques required to understand and develop efficient numerical simulations of physical phenomena such as rigid bodies, deformable bodies and fluids. In Physics-Based Animation we will learn how to develop algorithms that produce visually compelling representations of physical systems. We will learn the underlying continuous mathematics describing the motion of physical objects, explore how to discretize them and how to solve the resulting discrete equations quickly and robustly.

IMPORTANT: The course is all new this year including a change to Python for the primary programming language using both PyTorch and NVIDIA Warp along with new assignments and lectures. All previous content from the course is available in previous commits of this website

Prerequisites: Python Programming, Linear Algebra, Calculus, Numerical Methods

The student is expected to read background material as necessary and should be comfortable with elementary linear algebra, geometry, and vector calculus. It is also assumed that the student is comfortable programming in Python.

(Strongly) Recommended preparation: Multivariable Calculus

Helpful Resources

The Variational Principles of Mechanics (Book)

Calculus of Variations

Numerical Methods for Evolutionary Differential Equations (Book)

Fluid Simulation for Graphics (Book)

Fluid Simulation for Graphics (Notes)

Real-time Collision Detection (Book)

Real Time Physics (Website)

FEM Simulation of 3D Deformable Solids (Website)

Matrix and Linear Algebra Identities (PDF)

Geometric Tools (Website)

Material Point Method SIGGRAPH Course (PDF)

Two-Minute Papers (YouTube not strictly physics, but cool)

Prof. Shinjiro Sueda's Rigid Body Mechanics Notes for Joints

Great Book on Geometric Time Integration by Hairer

libigl for geometry processing

NVIDIA Warp Documentation

Physics-Based Animation Textbook by Minchen Li

Lecture Schedule (Due dates are day/month)

Dates Topic Assignments
9/3/2025 Introduction Video (old)
9/10/2025 Deformation and Finite Element Method Video (old)
9/17/2025 From Energy to Motion Video (old)
9/24/2025 Cloth Simulation Release A1: Finite Element Methods
10/1/2025 Rigid Bodies / Affine Body Dynamics
10/8/2025 Collisions
10/15/2025 Intro to Fluid Simulation Assignment 1 Due, Release A2: Affine Body Dynamics
10/22/2025 Material Point Method
11/5/2025 Reduced-Order Models Assignment 2 Due, Release A3: Fluids
11/11/2025 Drop Deadline
11/12/2025 Fast Physics Solvers
11/19/2025 Beyond Elasticity Assignment 3 Due, Release A4: Reduced/Fast Methods
11/26/2025 Final Exam Assignment 4 Due December 3rd

Grading

% Item
50% Assignments
30% In-Tutorial Quizzes
20% Final Exam (must get >= 50% to pass course)

Details on quizzes are coming soon

Lateness Policy

Please read, this course has an involved late policy aimed at giving you maximum flexibility in scheduling your semester

Assignments are due by 11:59pm on the three due dates below.

Every student will recieve 21 "late days" that will be automatically applied before the late penalty begins to accumulate. You only have to inform the instructor if you DO NOT wish to use your late days for a particular assignment.

After late days have been exhausted, assignemnts accrue a penalty at the following rate: 0.007% off for every minute late.

Further extensions can only be issued by the instructor.

AI Policy

You can freely use AI tools such as CoPilot, ChatGPT or Cursor for your assignments but not for quizzes or the final exam.

Academic Honesty

Academic honesty is a very serious matter and can result in very serious consequences. Note that academic offences may be discovered and handled retroactively, even after the semester in which the course was taken for credit. This is a challenging class aimed at teaching you the fundamentals of computer graphics. You wont learn much if you cheat but you might get a good grade if you get away with it. If all you want is a good grade take an easier class where you wont have to cheat!

For purposes of this class, academic dishonesty is defined as:

  • Any attempt to pass off work on an assignment that didn't come straight out of your own head.
  • Any collaboration on written or programming assignments (its ok to share ideas on programming assignments but the code MUST be your own) in which the collaborating parties don't clearly and prominently explain exactly who did what, at turn-in time.
  • Any activity that has the effect of significantly impairing the ability of another student to learn. Examples here might include destroying the work of others, interfering with their access to resources (e.g., digital cameras), or deliberately providing them with misleading information.

Email & Bulletin Board Traffic

  • Remark requests will be handled through MarkUs.
  • Do NOT broadcast pieces of your code or answers to written assignments to the issues page. Specific or general implementation questions whose answer would benefit all students in the class are appropriate.
  • Questions of the form "I cannot find the problem with my code; here it is, can you help me" are unlikely to be replied, so don't count on it.

About

Homepage for CSC417: Physics-based Animation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published