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. 2nd 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, Third Edition, Rick Parent, Morgan Kaufman, 2012.
RECOMMENDED:
Mathematics for 3D Game Programming and Computer Graphics, 3rd Edition, Eric Lengyel, Cengage Learning PTR, 2011.
· 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.
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.