Spring 2009 CS 7301 - 002

Physics-Based Modeling and Simulation

Monday and Wednesday 2:30pm - 3:45pm, ECSS 2.203

 

 
Instructor :

(Tiger) Xiaohu Guo
Office: ECSS 3.703
Phone: 972-883-4723
Email: xguo at utdallas.edu
Office hours: M/W 3:45pm - 5:00pm

 

Pre-requisites :

Either one of the following courses: Computer Graphics (CS4361 or CS6366), Computer Animation (CS4392), Geometric Modeling and Processing (CS6v81), or the permission of the instructor. You should have familiarity with calculus, algebra, geometry, basic physics, and good working knowledge of graphical programming (such as OpenGL or DirectX).

 
Course Description :
The central theme of this advanced graduate course is on physics-based modeling and simulation, as well as their widespread applications in the entire spectrum of visual computing discipline. This course will cover the fundamental methods for describing and then applying rules to simulate various natural phenomena. Throughout this course, we take a unified physical approach to various visual computing fields such as computer graphics, animation, human-computer interaction, and virtual environment. Our goal is to familiarize students with state of the art theoretical and computational methods in physics-based modeling and simulation, with focuses on:
- Rigid body dynamics and motion
- Collision detection and response
- Particle system and interactions
- Deformable objects
- Continuum models
- Finite element method
- Numerical integration techniques
- Constraint systems
 
Textbook, Readings & References :

There are no particular textbooks for this course because it is an advanced graduate course! But the following textbook will be suggested:

Physics-Based Animation, by Kenny Erleben, Jon Sporring, Knud Henriksen, and Henrik Dohlmann, Charles River Media, 2005. ISBN: 1584503807.

 

 

Required Readings:

The majority of the course material will come from the above textbook, readings, research papers, and some relevant reference books. Numerous slides and video clips will be shown. Students are advised to attend the class and follow the lecturing notes closely! A set of research papers and some relevant material from the following reference books (and conference proceedings and journals) will be presented.

Game Physics Engine Development, I. Millington, 2007.
Interactive Computer Graphics: A Top-Down Approach Using OpenGL, 5th edition, E. Angel, 2008.
Computer Animation: Algorithms & Techniques, 2nd edition, R. Parent, 1993.
Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide, 5th edition, G. Farin, 2001.
Pyramid Algorithms: A Dynamic Programming Approach to Curves and Surfaces for Geometric Modeling, R. Goldman, 2002.
Differential Geometry of Curves and Surfaces, M.P. do Carmo, Prentice--Hall, Englewood Cliffs, NJ, 1976.
Introduction to Applied Mathematics, G. Strang, Wellesley Cambridge Press, 1986.
Numerical Recipes 3rd Edition: The Art of Scientific Computing, W.H. Press, B.P. Flannery, S.A. Teukolsky, and W.T. Vetterling, 2007
Computer-Oriented Mathematical Physics, D. Greenspan, Pergamon Press, Oxford, 1981.
Methods of Mathematical Physics, Vol I, Interscience, London. R. Courant and D. Hilbert, 1953.
Classical and Computational Solid Mechanics, Y.C. Fung, P. Tong, 2001.
The Finite Element Method (Third Edition), O.C. Zienkiewicz, McGraw--Hill, London, 1977.
The Finite Element Handbook, H. Kardestuncer and D.H. Norrie, McGraw-Hill, 1987.

Relevant Conference Proceedings and Journals:

Computer Graphics (Proceedings of ACM SIGGRAPH)
IEEE Computer Graphics and Applications
ACM Transactions on Graphics
IEEE Transactions on Visualization and Computer Graphics
Computer-Aided Design
Computer Aided Geometric Design
Graphical Models
The Visual Computer
Computer Graphics Forum
IEEE Transactions on Pattern Analysis and Machine Intelligence
IEEE Transactions on Medical Imaging
Major conferences include Siggraph, Visualization, Eurographics, Pacific Graphics, Graphics Interface, Solid Modeling, Shape Modeling, I3D Symposium, CGI, ICCV, CVPR, etc.

 
Grading Policy :

There will be No Midterm Exams and No Final Exams! However, this is a project-oriented course. Each student will be assigned two days during the semester during which they will present to the class a summary of the assigned readings for that day. The presentation should provide a technical overview of the paper, a description of how the paper fits into the broader context of the material covered in the course, and should pose some interesting questions or challenges for in-class discussion. Students taking the course for a letter grade will work individually or in a team of two to complete a course-related project. All project ideas are individually approved by the instructor. Proposals are due by mid-semester. The final grade will be based on paper presentations, project proposals, demos, presentations, and reports. The programming projects can be implemented in any of your prefered programming environment (e.g. Windows, C++, OpenGL). All the paper presentations and projects are mandatory. The final grade will be composed of the following three parts:

  1. Paper Reading and Presentation: 30%
  2. Course Project: 60%
    - Project proposal (10%)
    - Final demo and presentation (10%)
    - A working system and software codes (30%)
    - Final Project Report (10%)
  3. Class Attendance and Active Involvement: 10%
 
Some Useful Open Source Physics Engine and Codes:
 
OpenGL Programming Guide and Environments :

 
Academic Honesty :

Copying source code from another student in this class or obtaining a solution from some other source without acknowledging it in your report will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying. You should learn how to protect your data. Failure to do so is also unprofessional and it may expose you to the danger that someone will copy your homework and will submit it as his or her own (see above). In this case, you may be given a score of 0 for the assignment or project in question (and the other party will get a failure).

 
Class Schedule : (TBD)
Week Monday Presenter Wednesday Presenter
1 1/12: Introduction, Newtonian Dynamics X. Guo 1/14: Differential Equations X. Guo
2 1/19: Martin Luther King Day X. Guo 1/21: Particle System X. Guo
3 1/26: Particle System X. Guo 1/28: university close  
4 2/2: Constrained Dynamics X. Guo 2/4: Rigid Body Dynamics X. Guo
5 2/9: Rigid Body Dynamics X. Guo 2/11: Rigid Body Dynamics X. Guo
6 2/16: Rigid Body Collision Response X. Guo 2/18: Deformable Models , Strain Tensor X. Guo
7 2/23: Strain, Stress, Deformation Energy X. Guo 2/25: Lagrange Mechanics, Finite Element Method X. Guo
8 3/2: Real-Time Deformation and Fracture Eric Parker 3/4: Rigid Body Physics Engine, part 1 Scott Hawkins
9 3/9: Rigid Body Physics Engine, part 2 Scott Hawkins 3/11: Physics of Energy Scott Larson
10 3/16: Spring Break   3/18: Spring Break  
11 3/23: Stable Real-Time Deformations Yin Yang 3/25: Real-Time Simulation of Large Rotational Deformation Yin Yang
12 3/30: Collision Detection using k-DOPs Paul Phipps 4/1: Collision Detection using Representative Triangles Marcus Parker
13 4/6: Real-Time Energy Simulation Scott Larson 4/8: CULLIDE Marcus Parker
14 4/13: Animation Sequence Compression, part 1 Yang Liu 4/15: Animation Sequence Compression, part 2 Yang Liu
15 4/20: CCD on GPU Paul Phipps 4/22: Introduction to Thin-Shell Simulation Ziying Tang
16 4/27: Introduction to Thin-Shell Simulation Ziying Tang 4/29: BSP Trees Eric Etheridge
17 5/4: Eric Etheridge    
  • Important: The dates in this schedule may change due to the class level. If the class needs more time and examples to understand a concept I will modify the schedule. If the class is ready to skip a chapter or go faster I will modify the schedule. Therefore, it is the student's responsibility to check what we covered in class and the changes in the schedule announced during class.