Physically Based Animation
MW 1:00-2:15, 3 credits
McAdams 110E, & Zucker Graduate Center
Professor: Donald H. Houseoffice: B102B1 Barre Hall
hours: by appointment, please email
Class Demo Reel
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 approaches are explored, with a special emphasis on the use of particle-systems to represent complex phenomena.
We will begin by looking at the problem of simulating a bouncing ball, and use this problem to review relevant principles of Calculus, Physics, Linear Algebra, Numerical Methods, and Interactive Graphics. This will give us the background to investigate an approach to the modeling and simulation of amorphous phenomena using massive particle simulations. We will then address ways of treating more advanced phenomena using interacting particle systems. These will require a coherent way of representing large collections of objects, so we will introduce state vector representation, and appropriate numerical integration techniques. Using these tools, we will examine gravitational fields acting across large numbers of particles to produce astrophysical effects, and then techniques for the representation of animal flocking and schooling using systems of multiple interacting actors. We then introduce classic spring-mass-damper systems and see how they can be used to construct flexible structures from mass particles connected with "springy" links. Computational problems in modeling springy behavior will require us to investigate more sophisticated numerical methods for computing our simulations, such as adaptive time stepping and implicit integration. We will then look at the problem of rigid body dynamics, where structures are built from "rigid" links. This will require a formal introduction to 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 problems involving 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.
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 regular homework project average grade will count for 70% of the final grade. The final project will count 20% 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. To make sure that the classes are interesting, everyone will be expected to attend class, to have carefully read assigned readings, to have completed the programming assignments and to participate actively in class discussions.
Late assignments will incur a 10% penalty per class session that they are late. Assignments will not normally be accepted beyond one week late, and will incur a grade of F. Since assignments will be graded by demonstration 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 fully complete an assignment.
For each assignment, you will turn in a directory containing 1) a text README file containing a written description of your project and any special features or techniques you implemented, 2) your source code with a Makefile, 3) any parameter or data files necessary to run your program. Your code must be compilable and tested in a Unix environment (linux or Macintosh). 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 README file.
Your instructor will make every effort to be in class on time, or to inform you of any delay or cancellation. In the unusual event that he should not arrive in class or send word by 15 minutes from the class start time, the class is officially cancelled.
Attendance in class is optional, but remember that a percentage of the grade is based on class participation.
All laptops, and other electronic media are to be put away during class. Please turn off the screens of the computers at your desks. Cell phones should be silenced. Use of this equipment during class distracts you, your classmates, and your instructor.
In this course, we want to encourage collaboration and the free interchange of ideas among students and in particular the discussion of homework problems, approaches to solving them, etc. However, we do not allow plagiarism, which, as commonly defined, consists of passing off as one's own 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, unacknowledged, 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.
The textbook and other materials in this course are copyrighted. They are intended for use only by students registered and enrolled in this course and only for instructional activities associated with and for the duration of the course. They may not be retained in another medium or disseminated further. They are provided in compliance with the provisions of the Teach Act. Students should refer to the Use of Copyrighted Materials and "Fair Use Guidelines" policy on the Clemson University website for additional information: http://libguides.clemson.edu/content.php?pid=84458&sid=627695.
If you have a documented disability that requires accommodation, you must notify me in writing during the first week of classes. It is University policy to provide, on a flexible and individualized basis, reasonable accommodations to students who have disabilities. Students are encouraged to contact Student Disability Services to discuss their individual needs for accommodation. Please refer to the Student Disability Services - Student Guide on the Clemson University website for additional information: http://www.clemson.edu/campus-life/campus-services/sds/students/index.html
As members of the Clemson University community, we have inherited Thomas Green Clemson's vision of this institution as a "high seminary of learning." Fundamental to this vision is a mutual commitment to truthfulness, honor, and responsibility, without which we cannot earn the trust and respect of others. Furthermore, we recognize that academic dishonesty detracts from the value of a Clemson degree. Therefore, we shall not tolerate lying, cheating, or stealing in any form. In instances where academic standards may have been compromised, Clemson University has a responsibility to respond appropriately and expeditiously to charges of violations of academic integrity. Please refer to the graduate academic integrity policy, approved March 26, 2007 by the Provost's Advisory Council, at " http://www.clemson.edu/academics/academic-integrity/index.html Each graduate student should read this policy annually to be apprised of this critical information.