Skip to content

dilevin/CSC2504-Physics-Based-Animation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 

Repository files navigation

CSC2504-Physics-Based-Animation Fall 2021

image courtesy David Levin

Instructors

Prof. David I.W. Levin
diwlevin@cs.toronto.edu

Lectures

Tuesday 13:00-15:00 (first two weeks online) NOTE: link sent via Quercus to registered students

Room: BA B026

Office Hours

Tuesday 15:00-16:00 (first two weeks online)

Discussion Board via Piazza

Course Summary

This course is a graduate-level seminar course on physics-based animation. It will involve reading state-of-the-art papers in the field and implementing algorithms from those papers. The course will feature a final project based on the topic.

Students are expected to read background material as necessary and should be comfortable with elementary linear algebra, geometry, and vector calculus.

Course Structure

This course is a graduate seminar course on physics-based animation which will involve reading, analyzing, implementing and commenting on both seminal and cutting-edge works in the field. Each week students will be assigned one of several roles (presenter, implementer, blogger, reviewer) and are charged with carrying out the associated responsibilites.

Roles and Responsibilities

Presenter: Prepare a 20-30 minute conference style presentation about the paper. After your presentation you will take 10 minutes of questions from the audience.

Articles on reading papers
How to read a research paper (CMU)

How to read a realisitc rendering paper (Morgan McGuire)

Implementer: You will have up to two (2) weeks to implement as much of the paper as you can. Each week you will demonstrate your progress and discuss, the things you have learned, and issues that have arisen.

Blogger: You will write a medium style blog post (i.e. like this) about the paper and submit it here. Posts are due one week after the implementation is finished.

Reviewer: You will submit a high-quality review of the paper. Submit your review using the review form here

Final Project Details

Projects will be done in groups of no more than three (3) people. The project must involve implementing a physics algorithm that falls into the grand challenges listed below. Check with the instructor to ensure that your chosen project is of sufficient scope.

Deliverable: a micro-SIGGRAPH submission comprised of a two (2) page extended abstract and five (5) minute submission style video.

Due Date: December 21st, 11:59pm

Grand Challenges (more details and examples coming soon)

All projects must fall into one of the grand challenge categories below:

  1. Differentiable Physics Simulation
  2. Direct Simulation from Computer-Aided-Design Tools
  3. Biomechanical Simulation for Digital Humans
  4. Machine Learning for Material Behaviour
  5. Simulation on non-traditional geometric representation

Helpful Resources

Intro Physics-based Animation Course /w Video Lectures

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

Useful Software Tools

Blender: Open-Source Modelling and Rendering Software

libigl: Lightweight C++ Geometry Processing Library

gptoolbox: MATLAB Geometry Processing Library

Bartels: C++ and MATLAB Utilities for Physics Simulation

Lecture Schedule

Week Topic / Event
1 Introduction and assign Paper 1: Projective Dynamics
2 Presentations for Paper 1 and assign Paper 2: Position Based Dynamics
3 Presentations for Paper 2 and assign Paper 3: Large Steps in Cloth Simulation
4 Presentations for Paper 3 and assign Paper 4: Stable Fluids
5 Presentations for Paper 4 and assign Paper 5: Velocity-based shock propagation for multibody dynamics animation
6 Presentations for Paper 5 and assign Paper 6: Discrete Elastic Rods
7 Presentations for Paper 6 and assign Paper 7: WRAPD: Weighted Rotation-aware ADMM for Parameterization and Deformation
8 Presentations for Paper 7 and assign Paper 8: ADD: Analytically Differentiable Dynamics for Multi-Body Systems with Frictional Contact
9 Presentations for Paper 8 and assign Paper 9: Fast Linking Numbers for Topology Verification of Loopy Structures
10 Presentations for Paper 9 and assign Paper 10: Kelvin Transformations for Simulations on Infinite Domains
11 Presentations for Paper 10
12 Surprise session

Academic Honesty (required reading)

Grading

% Item
15% Presentations
10% Reviewing
15% Blogger
25% Implementation
30% Final Project
5% Participation

Lateness Policy

Project is due by 11:59pm on the due date.

0.007% off for every minute late.

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 a test 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 & GitHub Issues

  • The GitHub issues are for answering questions about class or about the assignments. The TAs will be monitoring the posted issues.
  • Appropriate use of the issues: clarifications on assignment, on lecture material, general concerns about the course, or other remarks that are appropriate for all students to see/participate in.
  • 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. However: the bulletin board is NO replacement for the tutorial hour. That should be the main forum for asking/answering questions of this sort.
  • 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. If you have a question with code, take it to the TA office hours or to the tutorials.

About

A graduate/seminar course on physics-based animation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published