ebook img

Inverse Kinematics and Geometric Constraints for Articulated Figure PDF

84 Pages·2002·0.55 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Inverse Kinematics and Geometric Constraints for Articulated Figure

INVERSE KINEMATICS AND GEOMETRIC CONSTRAINTS FOR ARTICULATED FIGURE MANIPULATION by Chris Welman B(cid:1)Sc(cid:1) SimonFraser University (cid:2)(cid:3)(cid:4)(cid:3) a thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in the School of ComputingScience (cid:1)c Chris Welman (cid:2)(cid:3)(cid:3)(cid:5) SIMON FRASER UNIVERSITY September (cid:2)(cid:3)(cid:3)(cid:5) All rights reserved(cid:1) This work may not be reproduced in whole or in part(cid:2) by photocopy or other means(cid:2) without the permission of the author(cid:1) APPROVAL Name(cid:1) Chris Welman Degree(cid:1) Master of Science Title of thesis(cid:1) Inverse KinematicsandGeometricConstraintsforArticulated Fig(cid:6) ure Manipulation Examining Committee(cid:1) Dr(cid:1) L(cid:1) Hafer Chair Dr(cid:1) T(cid:1)W(cid:1)Calvert Senior Supervisor Dr(cid:1) J(cid:1) Dill Dr(cid:1) D(cid:1) Forsey External Examiner Date Approved(cid:1) ii Abstract Computer animationof articulated (cid:7)gures can be tedious(cid:8) largely due to the amountof data which must be speci(cid:7)ed at each frame(cid:1) Animation techniques range from simple interpolation between keyframed(cid:7)gureposes tohigher(cid:6)levelalgorithmicmodelsofspeci(cid:7)c movementpatterns(cid:1) Theformer provides the animator with complete control over the movement(cid:8) whereas the latter may provide only limitedcontrol via some high(cid:6)level parameters incorporated into the model(cid:1) Inverse kinematic techniques adoptedfromthe roboticsliteraturehavethepotentialtorelievethe animatorofdetailed speci(cid:7)cation of every motion parameter within a (cid:7)gure(cid:8) while retaining complete control over the movement(cid:8)if desired(cid:1) This work investigates the use of inverse kinematics and simple geometric constraints as tools for the animator(cid:1) Previous applications of inverse kinematic algorithmsto computer animationare reviewed(cid:1) A pair of alternative algorithmssuitable for a direct manipulationinterface are presented andqualitativelycompared(cid:1) Applicationofthese algorithmstoenforce simplegeometricconstraints on a (cid:7)gure during interactive manipulation is discussed(cid:1) An implementation of one of these algo(cid:6) rithms within an existing (cid:7)gure animation editor is described(cid:8) which provides constrained inverse kinematic(cid:7)gure manipulationfor the creation of keyframes(cid:1) Contents (cid:2) Introduction (cid:2) (cid:2)(cid:1)(cid:2) Organization (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9) (cid:3) Approaches to Figure Animation (cid:4) (cid:9)(cid:1)(cid:2) Body Models (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5) (cid:9)(cid:1)(cid:2)(cid:1)(cid:2) Scope (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5) (cid:9)(cid:1)(cid:2)(cid:1)(cid:9) Skeleton Modelling (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10) (cid:9)(cid:1)(cid:9) KinematicMethods (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11) (cid:9)(cid:1)(cid:9)(cid:1)(cid:2) Forward Kinematics (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11) (cid:9)(cid:1)(cid:9)(cid:1)(cid:9) Inverse Kinematics (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:4) (cid:9)(cid:1)(cid:5) DynamicMethods (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:3) (cid:9)(cid:1)(cid:5)(cid:1)(cid:2) Forward Dynamics (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:3) (cid:9)(cid:1)(cid:5)(cid:1)(cid:9) Inverse Dynamics (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:2)(cid:2) (cid:9)(cid:1)(cid:10) Control Issues (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:2)(cid:10) (cid:9)(cid:1)(cid:11) Summary (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:2)(cid:12) (cid:4) Inverse Kinematics (cid:2)(cid:5) (cid:5)(cid:1)(cid:2) The Inverse Kinematic Problem (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:2)(cid:13) (cid:5)(cid:1)(cid:9) Resolved Motion Rate Control (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:2)(cid:4) (cid:5)(cid:1)(cid:9)(cid:1)(cid:2) Redundancy(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:2)(cid:3) (cid:5)(cid:1)(cid:9)(cid:1)(cid:9) Singularities(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9)(cid:2) (cid:5)(cid:1)(cid:5) Optimization(cid:6)BasedMethods (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9)(cid:5) (cid:5)(cid:1)(cid:5)(cid:1)(cid:2) Evaluation (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9)(cid:10) (cid:5)(cid:1)(cid:10) Applications to Computer Graphics (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9)(cid:11) (cid:6) E(cid:7)cient Algorithms for Direct Manipulation (cid:3)(cid:5) (cid:10)(cid:1)(cid:2) A Simpli(cid:7)edDynamicModel (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9)(cid:13) (cid:10)(cid:1)(cid:2)(cid:1)(cid:2) The Jacobian Transpose Method (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9)(cid:4) i CONTENTS ii (cid:10)(cid:1)(cid:2)(cid:1)(cid:9) ImplementationDetails (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:14) (cid:10)(cid:1)(cid:2)(cid:1)(cid:5) Computingthe Jacobian (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:14) (cid:10)(cid:1)(cid:2)(cid:1)(cid:10) Scaling Considerations (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:5) (cid:10)(cid:1)(cid:2)(cid:1)(cid:11) Integration (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:5) (cid:10)(cid:1)(cid:2)(cid:1)(cid:12) Joint Limits (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:10) (cid:10)(cid:1)(cid:9) A ComplementaryHeuristic Approach (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:10) (cid:10)(cid:1)(cid:9)(cid:1)(cid:2) The Cyclic(cid:6)Coordinate Descent Method (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:11) (cid:10)(cid:1)(cid:9)(cid:1)(cid:9) Overview (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:4) (cid:10)(cid:1)(cid:5) Comparison (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:3) (cid:8) Incorporating Constraints (cid:6)(cid:4) (cid:11)(cid:1)(cid:2) Constraint Satisfaction (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:5) (cid:11)(cid:1)(cid:9) MaintainingConstraints (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:10) (cid:11)(cid:1)(cid:9)(cid:1)(cid:2) The Constraint Condition (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:11) (cid:11)(cid:1)(cid:9)(cid:1)(cid:9) Computingthe Constraint Jacobian Matrix (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:12) (cid:11)(cid:1)(cid:9)(cid:1)(cid:5) Computingthe Constraint Force (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:13) (cid:11)(cid:1)(cid:9)(cid:1)(cid:10) Solving for Lagrange Multipliers (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:4) (cid:11)(cid:1)(cid:9)(cid:1)(cid:11) Feedback (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:4) (cid:11)(cid:1)(cid:9)(cid:1)(cid:12) Overview (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:4) (cid:11)(cid:1)(cid:5) ImplementationIssues (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:3) (cid:11)(cid:1)(cid:5)(cid:1)(cid:2) Skeletons as Objects (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:3) (cid:11)(cid:1)(cid:5)(cid:1)(cid:9) Handles on Skeletons (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:3) (cid:11)(cid:1)(cid:5)(cid:1)(cid:5) Constraints on Handles (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:2) (cid:11)(cid:1)(cid:5)(cid:1)(cid:10) The GlobalPicture (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:9) (cid:11)(cid:1)(cid:5)(cid:1)(cid:11) Summary (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:10) (cid:11)(cid:1)(cid:10) A CCD(cid:6)based Penalty Method (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:13) (cid:9) An Interactive Editor (cid:8)(cid:10) (cid:12)(cid:1)(cid:2) A System Overview (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:3) (cid:12)(cid:1)(cid:2)(cid:1)(cid:2) Skeletons (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:3) (cid:12)(cid:1)(cid:2)(cid:1)(cid:9) The Sequence (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:14) (cid:12)(cid:1)(cid:2)(cid:1)(cid:5) The Editor (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:9) (cid:12)(cid:1)(cid:9) Direct Manipulation (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:5) (cid:12)(cid:1)(cid:5) Constraints (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:11) (cid:5) Conclusion (cid:9)(cid:10) (cid:13)(cid:1)(cid:2) Summary (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:3) (cid:13)(cid:1)(cid:9) Results(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:13)(cid:14) CONTENTS iii (cid:13)(cid:1)(cid:9)(cid:1)(cid:2) Commentsabout Constraints (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:13)(cid:14) (cid:13)(cid:1)(cid:5) Directions (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:13)(cid:9) Bibliography (cid:5)(cid:5) List of Figures (cid:9)(cid:1)(cid:2) (cid:15)a(cid:16) (cid:5) objects de(cid:7)ned in local coordinate systems(cid:1) (cid:15)b(cid:16) Local rotations applied(cid:1) (cid:15)c(cid:6)d(cid:16) Local translations applied(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11) (cid:5)(cid:1)(cid:2) Three con(cid:7)gurations of a (cid:9)D redundant manipulator (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9)(cid:14) (cid:5)(cid:1)(cid:9) A manipulatorin a singular con(cid:7)guration (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:9)(cid:2) (cid:10)(cid:1)(cid:2) Interactive control loop modelfor Jacobian transpose method (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:14) (cid:10)(cid:1)(cid:9) A case not handled wellwith the Jacobiantranspose method(cid:1) Pullinginwardson the tip of the manipulatoron the left willnot produce an expected con(cid:7)guration like the one shown on the right(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:10) (cid:10)(cid:1)(cid:5) ExampleCCD iteration step for rotation jointi(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:5)(cid:12) (cid:10)(cid:1)(cid:10) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:2) (cid:10)(cid:1)(cid:11) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:9) (cid:11)(cid:1)(cid:2) A force applied to a point constrained to lie within a plane(cid:1) A constraining force normalto the plane is added to the applied force to obtain a legal force tangentialto the plane(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:10)(cid:11) (cid:11)(cid:1)(cid:9) Iteration steps for maintainingconstraints (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:14) (cid:11)(cid:1)(cid:5) A generic function block(cid:1)(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:5) (cid:11)(cid:1)(cid:10) Examplenetwork(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:11) (cid:11)(cid:1)(cid:11) A branching chain with two end(cid:6)e(cid:17)ector constraints (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:11)(cid:13) (cid:12)(cid:1)(cid:2) Sampleskeleton description (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:2) (cid:12)(cid:1)(cid:9) Sequence editor screen (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:9) (cid:12)(cid:1)(cid:5) Plan view of goal determination in (cid:15)a(cid:16) an orthographic view(cid:8) and (cid:15)b(cid:16) a perspective view (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:11) (cid:12)(cid:1)(cid:10) A (cid:7)gure being positioned by (cid:7)rst tilting(cid:8)then twisting(cid:8) the pelvis(cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:13) (cid:12)(cid:1)(cid:11) (cid:15)a(cid:16) First keyframepose (cid:15)b(cid:16) Interpolated pose (cid:15)c(cid:16) Second keyframepose (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:12)(cid:4) iv Chapter (cid:1) Introduction Computer graphics has advanced to a point where generating images of striking realism and com(cid:6) plexity has become almost commonplace(cid:1) However(cid:8) makingobjects moveconvincingly within these picturesremainsdi(cid:18)cult(cid:8)particularlyasobjectmodelsgrowincreasinglycomplex(cid:1) Thespeci(cid:7)cation and control of motionfor computer animationhas emerged as one of the principal areas of research within the computer graphics community(cid:1) One area in particular which continues to receive attention is that of (cid:7)gure animation(cid:1) The goal of work in this area is to provide a means of generating life(cid:6)like(cid:8) possibly human(cid:6)like(cid:8) articulated (cid:7)gures(cid:8) and to design and control their actions within simulated environments(cid:1) Animated human (cid:7)gures could(cid:8) for example(cid:8)be placed in simulatedenvironments for ergonomicevaluation(cid:8)or simply toprovidesomeaestheticqualitiestoapresentation(cid:1) Intheartsandentertainmentarea(cid:8)theconcept of computer(cid:6)generated characters roamingthrough arti(cid:7)cial worlds seems universally appealing(cid:1) Although (cid:7)gure animationraises technical challenges in both modellingand rendering(cid:8) the fun(cid:6) damental problem of designing and controlling movement for these (cid:7)gures remains a particularly di(cid:18)cult one(cid:1) Part of the problem lies in deciding from which level of detail to approach the task(cid:1) At one end of the scale(cid:8) the movements of individual parts of the body must be known for each instant in time(cid:1) At the other end of the scale(cid:8) coordinating movements and handling interaction between (cid:7)gures and with the environment may require algorithms based on behavioural rules and knowledgebases(cid:1) Manyofthe mostimpressiveexamplesof(cid:7)gure animationbycomputerhave been the result of algorithms implementing high(cid:6)level behavioural and motor control models(cid:1) However(cid:8) these algorithmsare often limitedto generating speci(cid:7)c(cid:8) usuallyrepetitive(cid:8) movementpatterns such as walking and running(cid:1) For the animator who wishes to create new movements(cid:8) there is little al(cid:6) ternative to painstakingly constructing the movement by hand(cid:1) Given the complex structure of a typical articulated (cid:7)gure(cid:8) this can involvean inordinate amount of work(cid:1) (cid:2) CHAPTER (cid:1)(cid:2) INTRODUCTION (cid:9) The motivationbehind this work is a desire to improvethe animationcapabilitiesof an existing interactive articulated (cid:7)gure animation package(cid:8) which is currently used to create movements for both dance and animation(cid:1) It is shown how inverse kinematic techniques for controlling robotic manipulatorscan be adopted torelieve the animatorofsomeofthe moretedious aspects ofcreating new movements by hand(cid:1) After reviewing the inverse kinematic problem and solutions that have previously been applied to (cid:7)gure animation(cid:8)a pair of alternative solution algorithmsare presented and qualitativelycompared(cid:1) These algorithmsare simple(cid:8)yet e(cid:17)ective(cid:8) and can support both direct manipulationof articulated (cid:7)gures as well as the impositionof simple geometric constraints upon a (cid:7)gure(cid:1) Implementationsof these algorithmsare presented(cid:8) and are applied to develop a basic set of interactive tools for (cid:7)gure manipulationand animation(cid:1) (cid:1)(cid:2)(cid:1) Organization Chapter (cid:9) reviews computer animation techniques in general(cid:8) and discusses their applicability in the context of (cid:7)gure animation(cid:1) In Chapter (cid:5) the inverse kinematic problem is stated(cid:8) and com(cid:6) mon approaches to solving the problem are reviewed(cid:1) In Chapter (cid:10) a pair of fast(cid:8) reliable inverse kinematic algorithms are described(cid:8) suitable for interactive manipulation tasks and di(cid:17)ering from previous algorithms adopted for computer graphics(cid:1) In Chapter (cid:11) procedures for satisfying simple geometric constraints using these algorithms are considered(cid:1) Chapter (cid:12) introduces an interactive (cid:7)gure animationeditor and discusses implementationof the algorithmsas positioningaids(cid:1) Chapter (cid:2) Approaches to Figure Animation Placing this work in context requires some understanding of computer animation techniques in general(cid:8)and ofhowthey maybe appliedto(cid:7)gure animationinparticular(cid:1) Thischapter provides an overviewoftheadvantagesanddisadvantagesofbasicmotioncontroltechniquesfor(cid:7)gureanimation(cid:1) The emphasis here is on methods to create and control the movements of articulated (cid:7)gures(cid:8) rather than simply replaying digitized movement(cid:1) It is fair to say that for many productions(cid:8) dig(cid:6) itizing(cid:8) or rotoscoping(cid:8) the movements of real subjects remains the method of choice for obtaining convincing life(cid:6)like motion(cid:1) Rotoscoping can refer to techniques ranging from visually matching graphic images to prerecorded video footage(cid:8) to attaching some sort of sensors to a performer(cid:19)s body(cid:8) whose positions can be tracked by computer and stored for later playback(cid:1) Neither of these are particularly attractive options(cid:20) the former being quite tedious(cid:8) and the latter relying on the availability of reliable(cid:8) unobtrusive instrumentation for the body(cid:8) and sophisticated software to re(cid:6) construct the original motion from the sensor data(cid:8) neither of which are readily available yet(cid:1) A further limitationof rotoscopingis that a (cid:7)gure animatedinthis way is limitedto those movements actually performed by a live subject(cid:1) Computer animation techniques can be applied to animate (cid:7)gures in situations for which rotoscoping is neither a viable nor practical solution(cid:1) (cid:3)(cid:2)(cid:1) Body Models (cid:1)(cid:2)(cid:3)(cid:2)(cid:3) Scope Firstwemustdecide exactlywhatwearetryingtoanimate(cid:1) Althoughthe idealcomputer(cid:6)generated (cid:21)character(cid:22) would include muscle and tissue that deforms during movement(cid:8)skin and clothing that wrinkles and stretches(cid:8) hair that (cid:23)ows(cid:8) and expressive facial features(cid:8) the accurate modelling(cid:8) ani(cid:6) mation(cid:8) and rendering of these attributes are research topics in their own right(cid:8) and work in these (cid:5)

Description:
APPROVAL. Name: Chris Welman. Degree: Master of Science. Title of thesis: Inverse Kinematics and Geometric Constraints for Articulated Fig- ure Manipulation.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.