
Spring
2009 CS 7301  002
PhysicsBased
Modeling and Simulation
Monday
and Wednesday 2:30pm  3:45pm, ECSS 2.203 




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



Prerequisites
: 
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 physicsbased
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,
humancomputer interaction, and virtual environment. Our goal
is to familiarize students with state of the art theoretical
and computational methods in physicsbased 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:
PhysicsBased
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 TopDown 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,
PrenticeHall, 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
ComputerOriented 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,
McGrawHill, London, 1977.
The Finite Element Handbook, H. Kardestuncer and D.H. Norrie,
McGrawHill, 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
ComputerAided 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 projectoriented 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 inclass
discussion. Students taking the course for a letter grade
will work individually or in a team of two to complete a courserelated
project. All project ideas are individually approved by the
instructor. Proposals are due by midsemester. 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:
 Paper
Reading and Presentation:
30%
 Course
Project: 60%
 Project proposal (10%)
 Final demo and presentation (10%)
 A working system and software codes (30%)
 Final Project Report (10%)
 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:
RealTime 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 RealTime Deformations

Yin
Yang 
3/25:
RealTime Simulation of Large Rotational
Deformation 
Yin
Yang 
12 
3/30:
Collision Detection using kDOPs 
Paul
Phipps 
4/1:
Collision Detection using Representative
Triangles 
Marcus
Parker 
13 
4/6:
RealTime 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 ThinShell Simulation 
Ziying
Tang 
16 
4/27:
Introduction to ThinShell 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.


