460 likes | 605 Views
Animating Speed Position and Orientation. Presented by Kailash Sawant Hemanth Krishnamachari. Introduction. animate vb 1. To impart life to, 2. To give sprit and vigor to, 3. To make appear to move. Introduction (contd.). Aspects of Animation
E N D
Animating Speed Position and Orientation Presented by Kailash Sawant Hemanth Krishnamachari
Introduction • animatevb 1. To impart life to, 2. To give sprit and vigor to, 3. To make appear to move
Introduction (contd.) Aspects of Animation • Motion Dynamics: Changes in position and orientation of objects • Update Dynamics: Changes in shape, structure, color and texture of objects • Changes in lighting and camera position and lighting
Classification of Computer Animation • Computer-assisted animation & Computer generated animation • Low level techniques & High level techniques
Low Level Techniques • includes techniques, such as shape interpolation algorithms (in-betweening) • the animator usually has a fairly specific idea of the exact motion that he or she wants.
Low Level Techniques (contd.) Key-Framing • frames selected on the basis of importance are called Key-Frames • each Key-Frame has a set of parameters like position and orientation associated with the frame
Low Level Techniques (contd.) In-Betweening • includes drawing intermediate frames between two Key-Frames • given initial and final frames, the computer uses interpolation to generate intermediate frames
Low Level Techniques (contd.) Interpolation Example
Low Level Techniques (contd.) Limitations of Interpolation • Rotations that achieve same change in orientation e.g.. 0 degrees, 360 degrees cannot be differentiated • changes in camera orientation cannot be reflected
High Level Techniques • animator sets up the rules of the model, or chooses an appropriate algorithm, and selects initial values or boundary values; the system is then set into motion • this approach requires among other things the study of dynamics and kinematics of the object • these techniques are capable of describing complex motions such as that of a roller coaster or a leaf falling of a tall tree
High Level Techniques (contd.) Governing Aspects • Dynamics • Procedural Motion • Motion Capture • Kinematics
High Level Techniques (contd.) Dynamics • study of forces that cause motion • considers object-properties such as mass, size, moment of inertia, velocity, etc.
Dynamics (contd.) Rigid Body Dynamics • how things move under the influence of given forces • governed by Lagrangian/Hamiltonian mechanics • given set of contacts between rigid bodies, equations determine forces, acceleration, velocities and deformations
Dynamics (contd.) Issues in Rigid Body Dynamics • detecting contact changes between bodies • collisions • separations • simulation and modeling collisions • elastic collisions • inelastic collisions
High Level Techniques (contd.) Animation Example Car Crash
Dynamics (contd.) Roller Coaster Animation • motion governed by Euler-Lagrange equations • equations are solved numerically • Gaussian elimination and Newton-Raphson iteration for algebraic equations • Runge-Kutta iteration for solving differential equations
High Level Techniques (contd.) Animation Example
High Level Techniques (contd.) Governing Aspects • Dynamics • Procedural Motion • Motion Capture • Kinematics
High Level Techniques (contd.) Procedural Motion • control of motion • functions governing movement over time • attributes: - position, velocity,color, size
High Level Techniques (contd.) Procedural Motion Example
High Level Techniques (contd.) Governing Aspects • Dynamics • Procedural Motion • Motion Capture • Kinematics
High Level Techniques (contd.) Motion Capture • capturing live motion • e.g. actor strapped with electric sensors • motion control using accumulated motion-data • e.g. computer generated characters
High Level Techniques (contd.) Motion Capture Tools • Software • Kaydara FiLMBOX • Famous 3D • Life Forms Studio • Poser • Accessories • Datagloves • Cybergloves • Face Trackers • MotionCaptor
High Level Techniques (contd.) Governing Aspects • Dynamics • Procedural Motion • Motion Capture • Kinematics
High Level Techniques (contd.) Kinematics study of motion independent of underlying forces • Forward Kinematics • Inverse Kinematics
High Level Techniques (contd.) Forward Kinematics Example Woman Walking
High Level Techniques (contd.) Forward Kinematics • motion of all joints specified explicitly • motion of links determined by indirect methods
High Level Techniques (contd.) Forward Kinematics e.g. Target(x,y) a2 L1 L2 L3 a3 a1 Base x = L1*cos(a1) + L2*cos(a2) + L3*cos(a3) y = L1*sin(a1) + L2*sin(a2) + L3*sin(a3)
High Level Techniques (contd.) Applications of Forward Kinematics • animation films • algorithmic animations
High Level Techniques (contd.) Softwares employing Forward Kinematics • DE/MEC mechanism design software • VRML
High Level Techniques (contd.) Inverse Kinematics • final position is specified • math equations used to determine position and orientation of joints that lead to the final position
L2 L1 L3 High Level Techniques (contd.) Inverse Kinematics e.g. ? Target(x,y) L1 L2 L3 ? ? Base x = L1*cos(a1) + L2*cos(a2) + L3*cos(a3) y = L1*sin(a1) + L2*sin(a2) + L3*sin(a3)
High Level Techniques (contd.) Inverse Kinematics x = L1*cos(a1) + L2*cos(a2) + L3*cos(a3) y = L1*sin(a1) + L2*sin(a2) + L3*sin(a3) • three variables and two equations • thus infinitely many solutions
High Level Techniques (contd.) Solving Inverse Kinematics Equations • Non linear programming • Differential kinematics
High Level Techniques (contd.) Non Linear Programming (NLP) • method to optimize a nonlinear function • e.g. x(y+1) + sin(x+y) = 0 subject to x>=0 , y>0 • objective function • constraint • iterative algorithm
High Level Techniques (contd.) Inverse Kinematics as NLP • using goal potential function • distance from end effector to the goal • function of joint angles G(a) • minimization of goal potential function
High Level Techniques (contd.) Our Example Goal a2 L1 L2 L3 distance End effector a3 a1 Base G(a) = (xg – x)2 + (yg – y)2
High Level Techniques (contd.) Computations x = L1*cos(a1) + L2*cos(a2) + L3*cos(a3) y = L1*sin(a1) + L2*sin(a2) + L3*sin(a3) G(a) = (xg – (L1cos(a1)+L2cos(a2)+L3cos(a3)))2 + (yg – (L1sin(a1)+L2sin(a2)+L3sin(a3)))2
High Level Techniques (contd.) Nonlinear Optimization • minimize G(a) • subject to mta = b1 mta <= b2
High Level Techniques (contd.) Available NLP Packages • LANCELOT • MATLAB • DONLP2
High Level Techniques (contd.) Issues with NLP • unreachable workspace • G(a) may not always be zero • local minima • solution may not be found • redundancy • solution may not be unique
High Level Techniques (contd.) Differential Kinematics • uses Jacobian matrix • linearly relates end effector change to joint angle change
High Level Techniques (contd.) Applications of Inverse Kinematics • video games • interactive process control simulation
Summary • we have discussed and presented the fundamental aspects of controlling speed position and orientation in animations • a terse account of various techniques for the same has been provided • math involved with High level animation techniques is quite intricate and beyond the scope of this document. Details can be obtained from the enlisted references
References • Computer Animation Concepts - Len Dorfman • Inverse Kinematics Positioning Using Non Linear Programming – ACM press New York - Janimin Zhao , Norman. I Badler • Kinematic Model Of Human Spine And Torso - G. Monhett , N. I. Badler • http://www.cs.vassar.edu/~ellman/old-courses/395-spring-2001/cs395-lecture11.pdf