## CPSC 8170## Physically Based Animation## Fall 2018## MW 1:00-2:15, 3 credits## McAdams 110E, & Zucker Graduate Center## Professor: Donald H. Houseoffice: B102B1 Barre Hallhours: by appointment, please email email: ## Web Page: http://www.cs.clemson.edu/~dhouse/courses/817 |
## 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.

- Introduction to Physically Based Modeling
- Collision Detection and Response
- Simple Particle Systems
- State Vectors and Explicit Numerical Integration
- Interacting Particle Systems and Actors
- Spring-Mass-Damper Systems
- Springy Structures
- "Stiff" Systems and Implicit Numerical Integration
- Non-linear Systems and Adaptive Time Stepping
- Rigid Body Dynamics
- Constraint Systems and Inverse Dynamics
- Smoke and Fluids

- House and Keyser,
*Foundations of Physically Based Modeling and Animation*

- Baraff and Witkin,
*Physically Based Modeling Course Notes, Course 36 SIGGRAPH 99* - Woo, Neider and Davis,
*OpenGL® Programming Guide: The Official Guide to Learning OpenGL®*, Version 2.0, 5th Edition, Addison Wesley - Online OpenGL Documentation
- GLUT Documentation
- Press, Teukolsky, Vettering, and Flannery,
*Numerical Recipes in C, Cambridge University Press* - A collection of other notes and research papers

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.