Prof. David I.W. Levin
[email protected]
Wednesdays 15:00-17:00 via Zoom NOTE: link sent via email to registered students
Wednesdays 17:00-18:00 via Zoom
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. The course will be delivered in an online synchronous fashion.
Students are expected to read background material as necessary and should be comfortable with elementary linear algebra, geometry, and vector calculus.
This 12 week course is split into two 6 week parts. The first part is a graduate seminar course on physics-based animation which will involve reading, analyzing and commenting on both seminal and cutting-edge works in the field. The second part of the course is project focused, in which students will work in groups on "grand challenges" in physics-based animation. During this time, only one paper will be discussed per lecture.
Each week, two (2) papers will be assigned for discussion and to structure the discussion, students will be assigned roles. Roles will change each week and they are:
Role | Number | Description |
---|---|---|
Authour | 1 | Congratulations, "your" paper has been accepted to an important conference! Prepare a 15-20 minute presentation about "your" work. Because there's a pandemic on, you can either deliver the presentation live on Zoom or submit a prerecorded video. |
Implementer | 1 | You've stumbled across a fascinating paper in the depths of the internet that you'd love to use in your research. Bad news! There's no code available! Implement as much of the algorithm as you can from the information given in the paper. Prepare to discuss what the paper explains well, and what it explains poorly, with regard to implementation. |
Reviewers | You've made it to the big time, and the fate of computer graphics rests in your hands. Fill out the SIGGRAPH review form for this paper, decide whether the paper should be accepted or rejected and prepare to make the final decision, with your fellow reviewers, in class. |
Project sessions will involve discussing project progress, current problems and potential solutions. Each week, all project groups will present a 5 minute summary of their project which will reiterate the project goal, discuss current progress, outline next steps and highlight technical problems and solutions.
Projects will be done in groups and must fit into one of the "grand challenges" below. Week 7 will be the pitch day for projects. Each student will be allowed to pitch a project idea. All students will submit a ranked list of projects they would like to work on, and from this list, I will create a number of 3-5 person groups for the most popular projects.
Deliverable: a micro-SIGGRAPH submission comprised of a two (2) page extended abstract and five (5) minute submission style video.
Due Date: December 18th, 11:59pm
All projects must fall into one of the grand challenge categories below:
- Differentiable Physics Simulation
- Direct Simulation from Computer-Aided-Design Tools
- Biomechanical Simulation for Digital Humans
- Machine Learning for Material Behaviour
The Variational Principles of Mechanics (Book)
Numerical Methods for Evolutionary Differential Equations (Book)
Fluid Simulation for Graphics (Book)
Real-time Collision Detection (Book)
FEM Simulation of 3D Deformable Solids (Website)
Don't Panic!: Prof. Levin will present the first paper
Week | Topic / Event |
---|---|
1 | Introduction and Paper 1: Elastically Deformable Objects |
2 | Paper 2: Large Steps in Cloth Simulation Paper 3: Projective Dynamics |
3 | Paper 4: Meshless Deformations Based on Shape Matching Paper 5: Robust Treatment of Collisions, Contact and Friction for Cloth Animation |
4 | Paper 6: Discrete Elastic Rods Paper 7: Design and Fabrication of Flexible Rod Meshes |
5 | Paper 8: Velocity-Based Shock Propagation for Multibody Dynamics Animation Paper 9: Incremental Potential Contact |
6 | Paper 10: Dynamics-Aware Numerical Coarsening for Fabrication Design Paper 11: ADD: Analytically Differentiable Dynamics for Multi-Body Systems with Frictional Contact |
7 | Paper 12: Data-Driven Models for Cloth Simulation and Project Pitch Day |
8 | Project updates and Paper 14: tba |
9 | Project updates and Paper 15: Variational Stokes |
10 | Project updates and Paper 16: tba |
11 | Project updates and Paper 17: tba |
12 | Project updates and Paper 18: tba |
Academic Honesty (required reading)
% | Item |
---|---|
25% | Reviewing |
25% | Engineer/Presentation |
50% | Final Project |
Project is due by 11:59pm on the due date.
0.007% off for every minute late.
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.
- 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.