CIS 462/562: Computer Animation

 

Dr. Stephen H. Lane

 

 

Prerequisites:

Some previous exposure to major concepts in linear algebra (i.e. vector matrix math), curves and surfaces, dynamical systems (e.g. 2nd order mass-spring-damper systems) and 3D computer graphics has been assumed in the preparation of the course materials.

 

Texts:

REQUIRED:

Computer Animation: Algorithms and Techniques, Third Edition, Rick Parent, Morgan Kaufman, 2012.

RECOMMENDED:

Mathematics for 3D Game Programming and Computer Graphics, 3rd Edition, Eric Lengyel, Cengage Learning PTR, 2011.

 

Course Objectives:

·       This course will cover core subject matter common to the fields of robotics, character animation and embodied intelligent agents. 

·       The intent of the course is to provide the student with a solid technical foundation for developing, animating and controlling articulated systems used in interactive computer games, virtual reality simulations and high-end animation applications.

·       The course balances theory with practice by “looking under the hood” of current games, animation systems and authoring tools and exams the technologies and techniques used from both a computer science and engineering perspective. 

Course Format:

The course will consist mainly of lectures, homework exercises and four programming assignments.   A mid-term and final exam also will be given.  Grading will be based as follows: approximately 30% on the homework/programming assignments, 35% on the midterm and 35% on the final exam.


CIS 462/562 – COMPUTER ANIMATION

Fall

 

Dr. Stephen H. Lane

(shlane@cis.upenn.edu)

Office Hours

By Appointment, Levine 154

 

 

 

Course Schedule

Lecture 1: Introduction.  Background and motivation for course.  Course organization.  Animation demos.  Basic concepts and terminology.

Lecture 2: Coordinate Systems. Linear Algebra Review, Vector Spaces and Coordinate Transformations. 

Lecture 3: Coordinate Systems – Con’t.   Euler Angles and Quaternions.

Lecture 4: Methods of Interpolation.  Curve fitting vs smoothing.  Linear and cubic splines.  Bezier Curves.  Catmul-Rom splines.

Lecture 5: Methods of Interpolation - Con’t.  Bsplines.

Lecture 6: Methods of Interpolation - Con’t.  Bsplines – Con’t.  2D Surfaces.

Lecture 7: Methods of Interpolation - Con’t. Spherical Interpolation (Quaternions).  Review of  HW#1 software development environment.

Lecture 8: Body Kinematics. Joint Hierarchy Representation.  Transformation Matrices.  Forward Kinematic Models.  Jacobian matrices.

Lecture 9: Body Kinematics - Con’t.  Kinematic chains.  Methods for constructing Jacobian matrices.  Analytical and numerical approaches to inverse kinematics.

Lecture 10: Body Animation.  Keyframe methods.  Motion capture methods. Motion Editing.  Sequencing and Blending. Arc Length Parameterization. 

Lecture 11: Body Animation - Con’t.  Locomotion. Gait. Walk and run cycles. Animation tool demonstrations (MotionBuilder).

Lecture 12: Body Animation - Con’t.  Motion Capture Session.

Lecture 13: Mid-term Exam ( )

Lecture 14:  Shape Animation.  Soft skin, Facial animation, morph targets and muscle-based approaches.

Lecture 15: Body Dynamics.  Degrees of freedom.  Equations of motion.  State space representation.  Rotational vs. translational dynamics.

Lecture 16: Body Dynamics – Con’t. Second Order (i.e. mass-spring-damper) dynamical systems.  Particle systems.

Lecture 17: Body Dynamics – Con’t. Dynamics of kinematic chains (Newton Euler method)

Lecture 18: Simulation.  Sense, Control, Act processing loop.  Numerical integration methods.  Dead  reckoning models.  Collision detection methods. Virtual reality and distributed interactive simulation. 

Lecture 19: Feedback Control.  Openloop vs. closed loop control.  Types of controllers.  Design requirements.  Feedback control law design.

Lecture 20: Feedback Control - Con’t.  Trajectory tracking.  Obstacle avoidance.  Computed velocity and computed torque methods.

Lecture 21: Behavioral Animation.  Basic Concepts. Layering and blending behaviors, hierarchical behaviors and group behaviors. Arbitration and coordination schemes. 

Lecture 22: Optimization-based Animation.  Space Time Constraints.

Lecture 23: Optimization-based Animation.  Space time Constraint solution methods.

Lecture 24:  Advanced Topics in Character Animation.  Dynamic Balance. Full-Body dynamic controllers.