Department of Computer Science
College of Arts and Sciences
The University of North Carolina at Chapel Hill
COMP259: Physically-Based Modeling, Simulation and Animation
COMP 259: Physically-Based Modeling, Simulation and Animation
- Time and Place: MW 2:00-3:15pm, SN115
- Office Hours: MW 3:15-4:15pm, SN223
- TA: Michael Henson, SN313
- Prerequisites: Math 191 or COMP250 AND
COMP136 or COMP235 (Images, Graphics and Vision) OR
Instructor's approval
- Textbook: Course Notes and In-Class Handouts
COURSE OVERVIEW:
Physically-based modeling and simulation attempts to map a natural
phenomena to a computer simulation program. There are two basic processes
in this mapping: mathematical modeling and
numerical solution. The goal of
this course is to understand both of them. The mathematical modeling
concerns the description of natural phenomena by
mathematical equations. Differential equations that govern dynamics
and geometric representation of objects are typical
ingredients of the mathematical model.
The numerical solution involves computing an efficient and accurate
solution of the mathematical equations. Finite precision of numbers,
limited computational power and memory forces us to approximate the
mathematical model with simple procedures.
In this course, we will study various techniques to simulate the physical
and mechanical behavior of objects in a graphical simulation or a virtual
environment. Students will learn about implementation of basic simulation
programs that produce interesting results and verify its correctness. The
course will cover three basic components in physically-based modeling and
simulation:
The goal of this class is to get students an appreciation of
computational methods for modeling of motions in the physical and
virtual world. We will discuss various considerations and tradeoffs
used in designing simulation methodologies (e.g. time, space, robustness,
and generality). This will include data structures, algorithms,
computational methods and simulation techniques, their complexity
and implementation. The lectures will also cover some applications of
physically-based modeling and simulation to the following areas:
Computer Animation
Virtual Environments
Rapid Prototyping
Haptic Rendering
Computer Game Dynamics
Robotics and Automation
Medical Simulation and Analysis
Depending on the interests of the students, we may also cover
geometric-based simulation techniques, such as constraint-based
systems, inverse dynamics, kinematics of motions, motion
planning, synethesis and generation of autonomous agents.
LECTURES AND APPROXIMATE SCHEDULE
Here is a list of TENTATIVE lecture topics (subject to
changes). Schedule and information on each topic (e.g. readings, web
pointers) will be added during the semester before each class.
Overview (Wed, Jan 7, 2004)
Basics of Motion Generations for Animation
(Mon, Jan 12, 2004)
Inverse Kinematics (Wed, Jan 14, 2004)
MLK, NO CLASS (Mon, Jan 19, 2004)
ODE Basics: Initial Value Problem
(Wed, Jan 28, 2004)
ODE & Particle System Dynamics (Mon, Feb 2, 2004)
Particle System Dynamics (Wed, Feb 4, 2004)
Constrained Dynamics (Mon, Feb 9, 2004)
Implicit Methods (Wed, Feb 11, 2004)
In-Class Demos (Mon, Feb 16, 2004)
Free-Form Deformation
(Mon, Feb 16, 2004)
Cloth Simulation and
Hair Simulation
(Wed, Feb 18, 2004)
Collision Detection: Basics & Convex Polyhedra
and Review on Comp Geom
(Mon, Feb 23, 2004)
Collision Detection: BVHs & Spatial Partitioning
(Wed, Feb 25, 2004)
Rigid Body Dynamics (I)
(Mon, Mar 1, 2004)
Rigid Body Dynamics (II)
(Wed, Mar 3, 2004)
SPRING BREAK (March 8-12, 2004)
Project Proposal
(Mon, Mar 15, 2004)
Continuous Collision Detection (Wed, Mar 17, 2004)
Human Motion Synthesis (I) and
Human Motion Synthesis (II)
(Mon, Mar 22, 2004)
Human Motion Synthesis (II) and
Motion Capture (I)
(Wed, Mar 24, 2004)
Motion Capture (II) and
Articulated
Body Dynamics (Mon, Mar 29, 2004)
Haptic Rendering
(Wed, Mar 31, 2004)
In-Class Demos
(Mon, Apr 5, 2004)
Modeling of Non-Rigid Bodies
(Mon, Apr 5, 2004)
Facial
Animation Synthesis
(Wed, Apr 7, 2004)
Muscle-based Facial Animation and
Introduction to Fluid Dynamics & Applications
(Mon, Apr 12, 2004)
Introduction to Fluid Dynamics & Applications
and Animating Explosion
(Wed, Apr 14, 2004)
Modeling and Animating Fire
and Modeling Air Flow using Lattice Boltzmann's Model
(Mon, Apr 19, 2004)
Modeling Air Flow using Lattice Boltzmann's Model
and Physically-based Simulations on GPUs
(Wed, Apr 21, 2004)
COURSE READING MATERIALS
Reference Papers Used in Lectures:
SIGGRAPH
Course Notes on Physically-Based Modeling
Reading List for the Class
(updated throughout the semester)
ASSIGNMENTS AND PROJECTS
The class grade of each student is determined by
Homework (30%)
Class Presentation (20%)
Final Project (50%)
POINTERS TO WEBSITES ON PHYSICALLY-BASED MODELING & ANIMATION:
SELECTED RESEARCH GROUPS:
UNC Research Group
on Geometric Algorithms for Modeling, Motion and Animation
UNC Interactive
Collision Detection and Proximity Queries Packages
Simlab:
Computer Tools for Analysis and Simulation (Cornell)
iMAGIS
(GRAVIR / IMAG research lab / INRIA)
Center for Human Modeling and
Simulation(UPENN)
MIRALab (University of Geneva)
Rutgers Computational Biomedicine
Imaging and Modeling (Rutgers)
National Advanced Driving Simulator
University
of Aukland, Bioengineering Research Group
RESEARCHERS:
Norman Badler
David Baraff (now at Pixar)
David Breen
Chris Bregler
Marie-Paule Cani
Jessica Hodgins
Michael Gleicher
Dimitris Metaxas
Brian
Mirtich (now at Cognex)
Richard Parent
Daniel Thalmann
Nadia Magnenat-Thalmann
Demetri Terzopoulos
Michiel van de Panne
Andy
Witkin's Gallery (now at Pixar)
INDUSTRY
Boston Dynamics Inc.
Chris Hecker's Corner (Definition Six, Inc.)
GamaNetwork
Havok
Immersion Corporation
MAYA
(Alias|Wavefront)
MSC.Working Knowledge
Pixar Animation Studios
Rhythm & Hues Studios
SensAble Technology
Telekinesys
GEOMETRIC ALGORITHMS AND SOFTWARES AVAILABLE ON THE WEB:
Here are just some possible locations to find geometric software/libraries
and algorithmic toolkits you may need:
Internet
Finite Element Resources
A comprehensive
collection of geometric software
CGAL: Computational
Geometry Algorithms Library (in C++)
LEDA:
Library of Efficient Datatypes and Algorithms (in C++)
The Stony
Brook Algorithm Repository: Implementation in C, C++, Pascal and Fortran
CMU's Computer Vision Homepage
Finite element
mesh generation and
More
Machine learning resources
ADDITIONAL REFERENCE MATERIALS
Other Reference Books in Computer Animation:
Making Them Move: Mechanics, Control and Animation of Articulated
Figures, by Badler, Barsky and Zelter, Morgan Kaufmann Publishers, 1991.
Advanced Animation and Rendering Techniques: Theory and Practice,
by A. Watt and M. Watt, 1992.
Computer Animation: Algorithms and Techniques, by Rick Parent, 1999.
Other Reference Books in Mechanics:
Concepts and Applications of Finite Element Analysis,
by R. D. Cook, D. S. Malkus and M. E. Plesha, John Wiley & Sons, 1989.
Finite Element Procedures, by K.-J. Bathe, Prentice Hall, 1996.
First Course in Continuum Mechanics, by Y.C. Fung,
Prentice Hall, 1993.
Other Reference Books in Numerical Methods:
Numerical Recipes,
by Press, Flanner, Teukolsky and Vetterling, Cambridge University Press.
Handbook
of Numerical Analysis, edited by Ciarlet and Lions, Vol. I - VI,
North-Holland, 1994.
Other Reference Books in Robotics:
Robot Motion Planning, by Latombe,
Kluwer Academic Publishers, 1991.
Robot Manipulators: Mathematics, Programming, and Control,
by R. P. Paul, MIT Press, 1981.
Other Reference Books in Geometry:
Computational Geometry (Algorithms and Applications), by de Berg,
van Kreveld, Overmars and Schwarzkofp, Springer-Verlag, 1997.
Computational Geometry In C (Second Edition), by
O'Rourke, Cambridge University Press, 1998.
Handbook on Discrete and Computational Geometry, by Goodman and
O'Rourke (eds), CRC Press LLC, 1997.
Applied Computational Geometry: Toward Geometric Engineering,
by Lin and Manocha (eds), Springer-Verlag, 1996.
Algorithms in Combinatorial Geometry, by Edelsbrunner,
Springer-Verlag, 1987.
Computational Geometry (An Introduction), by Preparata and Shamos,
Springer-Verlag, 1985.
For more information, contact
Ming C. Lin,
lin@cs.unc.edu.
Copyright 1999.
Personal use of this material is permitted. However, permission to
reprint/republish this material for advertising or promotional purposes
or for creating new collective works for resale or redistribution to servers or
lists, or to reuse any copyrighted component of this work in other works
must be obtained from the author.
This material is presented to ensure timely dissemination of scholarly
and technical work. Copyright and all rights therein are retained by authors or
by other copyright holders. All persons copying this information are
expected to adhere to the terms and constraints invoked by each author's
copyright. In most cases, these works may not be reposted without the
explicit permission of the copyright holder.