CIS 462/562: Computer Animation


Dr. Stephen H. Lane




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.




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


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.




Dr. Stephen H. Lane


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.