CIS 462/562: Computer Animation

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

*REQUIRED: *

** Computer Animation: Algorithms
and Techniques**,

*RECOMMENDED: *

**
Mathematics for 3D Game
Programming and Computer Graphics,**
3

· 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.

- Topics covered include: geometric coordinate systems and transformations; quaternions; parametric curves and surfaces; forward and inverse kinematics; dynamic systems and control; computer simulation; keyframe, motion capture and procedural animation; behavior-based animation and control; facial animation; smart characters and intelligent agents.

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**

By Appointment, Levine 154

* *

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.