Administrative Matters
Spring 2010, Tuesday and Thursday, 12:30-1:50, VHE 210 Instructor: Jernej Barbic · Office: SAL 230 · Office hours: Tue 1:50 - 2:35, Thu 1:50 - 2:35 · Phone: 213-740-1914 · Email: jnb@usc.edu TAs: none |
Introduction and Purposes
This course introduces students to physically based simulation for computer graphics and related fields. Physically based simulation is an active research area in computer graphics, with applications to computer games, virtual reality systems, and movie special effects. Efficient numerical methods for simulating a variety of visually interesting physical phenomena will be discussed in the context of interactive simulation. Topics include deformable objects (solids, cloth), fluids, sound simulation, collision detection, haptics, rigid body dynamics, and GPU programming. In addition to computer science students, this course should also be appropriate for graduate students in related disciplines such as mathematics and physics. |
Schedule
Date | Topic | Reading, slides, and other material | Notes | Scribe notes | |
Tue Jan 12 2010 |
Overview of physical simulation in computer graphics and interactive applications |
Slides | |||
Thu Jan 14 | Overview of physical simulation in computer graphics and interactive applications | ||||
Tue Jan 19 | Primer on numerical simulation and linear algebra for graphics | D. Baraff and A. Witkin: Physically Based Modeling, course notes, SIGGRAPH 2001 | |||
Thu Jan 21 |
OpenGL "Hello world" application (with GLUT) Makefile (Mac OS X) |
Assignment 1 out | |||
Tue Jan 26 |
OpenGL Red Book, Chapters 4 (Color), 5 (Lighting), 9 (Texture Mapping) CMU slides on OpenGL shading CMU slides on texture mapping |
||||
Thu Jan 28 |
Structured deformable objects: cloth |
D. Baraff and A. Witkin: Large steps in cloth simulation, SIGGRAPH 1998 |
|||
Tue Feb 2 |
Structured deformable objects: hair |
F. Bertails, B. Audoly, M.P. Cani, B. Querleux, F. Leroy, J.L. Lévêque: Super-Helices for Predicting the Dynamics of Natural Hair, SIGGRAPH 2006 S. Hadap and co-organizers: Strands and Hair: Modeling, Animation, and Rendering, course notes, SIGGRAPH 2007 |
Zhiyang Wang | ||
Thu Feb 4 | Structured deformable objects: FEM | M. Mueller and M. Gros: Interactive virtual materials, Graphics Interface 2004 | Sikai Zhu | ||
Tue Feb 9 |
Lagrange mechanics and FEM |
J. Barbic: Real-time Reduced Large-Deformation Models and Distributed Contact for Computer Graphics and Haptics , PhD thesis, 2007 (pages 33-42) M. Mueller and co-organizers: Real-time physics, course notes, SIGGRAPH 2008 (pages 43-51) S. Capell, S. Green, B. Curless, T. Duchamp, Z. Popovic: Interactive Skeleton-Driven Dynamic Deformations, SIGGRAPH 2002 |
Assignment 1 due |
Chi Zhou | |
Thu Feb 11 |
Rigid body dynamics |
D. Baraff and A. Witkin: Physically Based Modeling, course notes (the chapter on Rigid Body Dynamics), SIGGRAPH 2001 | Jingqiao Fu | ||
Tue Feb 16 | Constraints and contact | D. Baraff and A. Witkin: Physically Based Modeling, course notes (the chapters "Constrained Dynamics" and "Collision and Contact"), SIGGRAPH 2001 | Michael Carroll | ||
Wed Feb 17 11am-12:30pm, SAL 322 |
Collision detection |
Ming Lin's course notes on collision detection Collision detection at UNC, Chapel Hill The Gilbert-Johnson-Keerthi Algorithm (realtimecollisiondetection.net) Y. Kim, M. Otaduy, M. Lin, D. Manocha: Fast Penetration Depth Computation for Physically-based Animation, ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 2002 |
Kushan Narendra Shah | ||
Thu Feb 18 | Collision detection |
Ming Lin's course notes on bounding volume hierarchies and spatial partitioning S. Gottschalk, M. Lin, D. Manocha: OBB-Tree: A Hierarchical Structure for Rapid Interference Detection, SIGGRAPH 1996 S. Quinlan: Efficient Distance Computation between Non-Convex Objects, ICRA 1994 |
Evan Hatch | ||
Tue Feb 23 | No class (instructor at a workshop; extra class on Feb 17) |
||||
Thu Feb 25 | No class (instructor at a workshop; extra class on Feb 17) |
||||
Tue Mar 2 |
Fracture and cutting |
J. O'Brien and J. Hodgins: Graphical Modeling and Animation of Brittle Fracture, SIGGRAPH 99. | Yu Yu Xu | ||
Thu Mar 4 | Fracture and cutting | E. Parker and J. O'Brien: Real-Time Deformation and Fracture in a Game Environment, ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 2009 | Brandon Booth | ||
Tue Mar 9 |
Fluids (Navier-Stokes) |
J. Stam: Stable Fluids, SIGGRAPH 1999 | Assignment 2 due | Amol Sahijwani | |
Thu Mar 11 | Fluids (Navier-Stokes) |
N. Foster, D. Metaxas: Realistic animation of liquids, Graphical Models and Image Processing, 58(5), 1996 |
Yili Zhao | ||
Tue Mar 16 | No class (spring break) | ||||
Thu Mar 18 | No class (spring break) | ||||
Tue Mar 23 | Fluids (Navier-Stokes) |
A. Treuille, A. Lewis, Z. Popovic: Model reduction for real-time fluids, SIGGRAPH 2006 |
Chih-Kuang Chen | ||
Thu Mar 25 |
Haptics |
K. Salisbury and F. Conti: Haptic Rendering: Introductory Concepts, IEEE Computer Graphics, 2004 (a survey) M. Lin and M. Otaduy: Recent Advances in Haptic Rendering & Applications, SIGGRAPH 2005 Course Notes J. Barbic and D. James: Six-DoF Haptic Rendering of Contact between Geometrically Complex Reduced Deformable Models, IEEE Transactions on Haptics 2008 |
Heejin Choi | ||
Tue Mar 30 |
Sound simulation |
J. O'Brien, C. Shen, and C. Gatchalian: Synthesizing Sounds from Rigid-Body Simulations, SCA 2002 | Deepanshu Malik | ||
Thu Apr 1 | Sound simulation | J. Chadwick, S. An, and D. James: Harmonic Shells: A Practical Nonlinear Sound Model for Near-Rigid Thin Shells , SIGGRAPH Asia 2009 | Ankit Sharma | ||
Tue Apr 6 |
Simulation on programmable graphics hardware (GPUs) |
C. Everitt: OpenGL ARB Vertex Program,
E. Hart: OpenGL ARB Fragment Program, Game Developers Conference 2003 |
David Mazzocco | ||
Thu Apr 8 |
Simulation on programmable graphics hardware (GPUs) |
J. Georgii, R. Westermann:
Mass-spring systems on the GPU |
Akshay Shukla | ||
Tue Apr 13 |
Multiresolution simulation |
M. Otaduy, D. Germann, S. Redon, M. Gross: Adaptive Deformations with Fast Tight Bounds, ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 2007 A. Brandt: Multi-level Adaptive Solutions to Boundary-value Problems, Math. of Computation, 31(138), 1977 E. Grinspun, P. Krysl, P. Schroeder: CHARMS: A Simple Framework for Adaptive Simulation, SIGGRAPH 2002 |
|||
Thu Apr 15 |
Case study: Havok engine for physics in games |
||||
Tue Apr 20 |
Data-driven approaches to simulation (motion capture) |
Jessica Hodgins's slides on motion capture J. Lee, J. Chai, P. Reitsma, J. Hodgins, N. Pollard: Interactive Control of Avatars Animated with Human Motion Data, SIGGRAPH 2002 J. Barbic, A. Safonova, J. Pan, C. Faloutsos, J. Hodgins, N. Pollard: Segmenting Motion Capture Data into Distinct Behaviors, Graphics Interface, 2004 |
Sunil Ingle | ||
Thu Apr 22 | Data-driven approaches to simulation (motion capture) | V. Zordan, N. Horst: Mapping optical motion capture data to skeletal motion using a physical model, ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 2003 Slides Videos | |||
Tue Apr 27 | Project presentations | ||||
Thu Apr 29 | Project presentations | Project due |
Prerequisites
Topics
Readings
There is no required textbook. Selected articles, book chapters, and course notes will be made available online. A reference book on OpenGL is recommended for help with the homework and the project. Examples of selected articles to be covered in class:
Baraff, Witkin: Large steps in cloth simulation, SIGGRAPH 1998
http://portal.acm.org/citation.cfm?id=280821
Jos Stam: Stable Fluids, SIGGRAPH 1999
http://www.dgp.toronto.edu/~stam/reality/Research/pub.html
E. G. Parker and J. F. O'Brien: Real-Time Deformation and Fracture in a Game Environment, ACM SIGGRAPH/Eurographics Symposium on Computer Animation, 2009
http://www.cs.berkeley.edu/b-cam/Papers/Parker-2009-RTD/
Assignments and project
There will be two programming homework assignments, and a programming class project.
In each assignment, the student will program an interactive computer graphics simulation, related to the material covered in class. Tentative topics are a mass-spring system simulation, and a dynamic simulation of rigid bodies with constraints.
Students will be able to select their individual topic for the final project. Examples: implement a SIGGRAPH paper of your choice, implement an elaborate demo using a physics game engine (e.g., Havok), a fluid solver, a collision detection algorithm, a robotic rigid multi-body system, a real-time sound simulator, a fast FEM deformable object simulation, a simulation in CUDA, etc.
Backgrounds in OpenGL or Direct3D are going to be very helpful for the homework assignments and the project. There will be at least one programming assignment in OpenGL and C. Students who do not have experience with OpenGL can still take the course, but they have to be ready to spend additional time to gain the necessary OpenGL proficiency to program the assignments.
Scribe notes
Every student will be taking scribe notes in one lecture during the semester, establishing a common reference point for the class. The quality of the scribe notes will be a factor in the student's class participation grade. The scribe notes should accurately represent the material discussed in class. Expected length of the notes is 1-2 pages. For example, see the following notes for a lecture in the CMU machine learning course. The notes are due 1 week after the lecture, and must be submitted by email to the instructor. In order to reserve a lecture to scribe, students should send an email to the instructor. If a student does not have a lecture assigned by Thursday, Jan 28, he or she will be assigned one by the instructor.
All scribe notes will be published publicly on the course website, so that the rest of the class can use them to review the class material. By default, the student's name will be included with the notes - but a student may, at his or her discretion, request for the notes to be made anonymous. Doing so will have no effect on the student's grade.
Grading
All the assignments and the note-scribing must be done individually. The project can be done either individually, or in a group of two students. All assignments, scribe notes, and the project must be completed to pass the course.
· Assignments: 20% each (40% total)
· Project: 50%
· Class participation: 10%
The project grade will include the quality of the project proposal, project progress report, project milestone results, final project report, and the mandatory in-class project presentation.
Late policy
All work submitted after the deadline will receive a substantial score deduction, including potentially a zero score. Exceptions will be granted only under most dire circumstances and must be discussed with and approved by the instructor in advance.
Statement for Students with Disabilities
Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to me (or to TA) as early in the semester as possible. DSP is located in STU 301 and is open 8:30 a.m.–5:00 p.m., Monday through Friday. The phone number for DSP is (213) 740-0776.
Academic integrity
All students are expected to maintain the utmost level of academic integrity. Passing off anyone else's (whether it be a fellow student or someone outside the university) work as your own is a serious infraction, and will lead to appropriate sanctions. Files that are clearly the same, or altered copies of each other, will receive zero credit and the USC Office of Student Judicial Affairs and Community Standards will be notified. Please consult the USC Student Conduct Code for details on what is and is not appropriate, and for the possible consequences of infractions.
USC Statement on Academic Integrity
USC seeks to maintain an optimal learning environment. General principles of academic honesty include the concept of respect for the intellectual property of others, the expectation that individual work will be submitted unless otherwise allowed by an instructor, and the obligations both to protect one’s own academic work from misuse by others as well as to avoid using another’s work as one’s own. All students are expected to understand and abide by these principles. Scampus, the Student Guidebook, contains the Student Conduct Code in Section 11.00, while the recommended sanctions are located in Appendix A. Students will be referred to the Office of Student Judicial Affairs and Community Standards for further review, should there be any suspicion of academic dishonesty. The Review process can be found at: http://www.usc.edu/student-affairs/SJACS/.