VIZA 659 / CPSC 649 -- Physically Based Modeling
Fall 2003
MW 8:50-10:05, Architecture C 414, 3 credits
Visualization Lab, phone: 5-3465, email: house@viz.tamu.edu, office hours:
3:30 - 4:30 Tu/Th
Course Directory
/usr/local/misc/courses/viza659/2003/
Resources and Documentation
Introduction
Physically-based modeling and dynamic simulation techniques as used for
the automatic description of motion and geometry for animation and computer
graphics. A variety of modeling techniques are explored, with a special
emphasis on particle-system approaches to representing complex phenomena.
Texts and Readings
-
Baraff, and Witkin Physically Based Modeling
Course Notes, Course 36 SIGGRAPH 99 Please Print Only Pages 1 Through
109 of the Notes (the rest is speaker's slides)
-
Woo, Neider and Davis, OpenGL
Programming Guide Third Edition, The Official Guide to Learning
Opengl, Version 1.2,
Addison Wesley
-
Press, Teukolsky, Vettering, and Flannery, Numerical
Recipes in C, Cambridge University Press
-
A collection of other notes and research papers
Course Objectives
We will begin by looking at the problem of simulating a bouncing ball,
and use this problem to introduce and/or review relevant principles of
Calculus, Physics, Linear Algebra, and Numerical Methods. This will give
us the background to investigate an approach to the modeling and simulation
of amorphous phenomena using massive particle simulations. We will also
address ways of treating special materials and/or phenomena using interacting
particle systems. Specifically techniques for the representation of flocking
and herding using systems of multiple interacting actors. Returning to
smaller scale models, we will introduce the classic spring-mass-damper
system and see how it can be used to construct flexible structures with
``springy'' links. Computational problems in modeling springy behavior
will require us to investigate more sophisticated numerical methods for
computing our simulations. We will then look at building structures from
``rigid'' links, and formally introduce the notion of rotational dynamics.
All of our early simulations will be done using forward dynamics, where
the inputs to a simulation are forces and the outputs are positions and
velocities. However, the inverse situation, where the inputs are positions
and velocities and the outputs are forces, is often much closer to what
is required in choreographing a computer animation. This concept will be
generalized to deal with a variety of geometric constraints. We will conclude
the course by looking at fluid dynamics, and how concepts from this field
can be implemented efficiently to simulate such phenomena as water, smoke
and fire.
Course Schedule
-
Introduction to Physically Based Modeling
-
Collision Detection
-
Simple Particle Systems
-
Spring-Mass-Damper Systems
-
Explicit Numerical Integration
-
Interacting Particle Systems and Actors
-
Springy Structures
-
"Stiff" Systems and Implicit Numerical Integration
-
Rigid Body Dynamics
-
Kinematics and Dynamics of Articulated Structures
-
Constraint Systems and Inverse Dynamics
Projects, Exams and Grading
This will be a project oriented course, with assignments done on the computer
about every two weeks, and culminated by a project of the students' own
devising. Cumulative homework project average grade will count for 90%
of the final grade. Students will demonstrate their solutions to assignments
and their final project in class, and grading will be based on the quality
of the presentation. The remaining 10% of the grade will be based on the
instructor's subjective evaluation of class participation, which will include
such issues as attendance and informed classroom discussion.
Some of the material in the course I know very well, other material
I selected because I am interested in learning it better. Thus, the course
will run like a seminar. Students with special expertise or experience
with a topic are requested to let me know ahead of time, so that we can
all benefit from this knowledge. To make sure that the classes are interesting
and informative, everyone will be expected to attend class, to have carefully
read assigned readings, to have completed the programming assignments and
participate actively in class discussions.
Late assignements will incur a 10% penalty per class session that they
are late. Since they will be graded by demonstrating them in class, and
the late penalty is stiff, it will be a good idea to implement your projects
in stages so that you will always have something to show even if
you do not successfully complete an assignment. For each assignment, you
will give me a directory containing 1) a text file containing a written
description of your project and any special features or techniques you
implemented, 2) your source code, and 3) an executable. I will only be
looking at your source code to satisfy my curiosity, not to give you detailed
critiques. Thus it will be up to you to make sure that I understand what
you have done. If your project is not entirely self-explanatory, please
include instructions for running it in the written description.
Plagiarism
The handouts used in this course are copyrighted. By "handouts," I mean
all materials generated for this class, which include but are not limited
to the course notes, syllabi, exams, problems, in-class materials, review
sheets, additional problem sets, and the contents of the class World Wide
Web site. Because these materials are copyrighted, you do not have the
right to copy the handouts, unless I expressly grant permission. For the
contents of class World Wide Web sites, you have permission to make printouts
strictly for your use in this class.
In this course, we want to encourage collaboration and the free interchange
of ideas among students and in particular the discussion of homework assignments,
approaches to solving them, etc. However, we do not allow plagiarism, which,
as commonly defined, consists of passing off as one's own the ideas, words,
writings, etc., which belong to another. In accordance with this definition,
you are committing plagiarism if you copy the work of another person and
turn it in as your own, even if you should have the permission of that
person. Plagiarism is one of the worst academic sins, for the plagiarist
destroys the trust among colleagues without which research cannot be safely
communicated.
If you have any questions regarding plagiarism, please consult the latest
issue of the Texas A&M University
Student Rules, under the section on Scholastic
Dishonesty.
Americans with Disabilities Act
The Americans with Disabilities Act (ADA) is a federal anti-discrimination
statute that provides comprehensive civil rights protection for persons
with disabilities. Among other things, this legislation requires that all
students with disabilities be guaranteed a learning environment that provides
for reasonable accommodation of their disabilities. If you believe you
have a disability requiring an accommodation, please contact the Office
of Support Services for Students with Disabilities in Room 126 of the Student
Services Building. The phone number is 845-1637.