CIS 462/562: Computer Animation

 

Dr. Stephen H. Lane

Fall 2010

 

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, Second Edition, Rick Parent, Morgan Kaufman, 2007.

RECOMMENDED:

Essential Mathematics for Games and Interactive Applications, James M. Van Verth and Lars M. Bishop , Morgan Kaufmann, 2004.

 

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 2010

 

Dr. Stephen H. Lane

(shlane@cis.upenn.edu)

Office Hours

By Appointment, GRW258

 

 

Teaching Assistant: Kalin Gochev

(kgochev@seas.upenn.edu )

 

Teaching Assistant: Lukai Lan

(lukailan@seas.upenn.edu )

 

 

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.