animating speed position and orientation presented by kailash sawant hemanth krishnamachari
TRANSCRIPT
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
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 animationLow 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.)
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
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.)
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.)
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
motion of all joints specified explicitly motion of links determined by indirect
methods
High Level Techniques (contd.)
Forward Kinematics e.g.
Base
a1 a3
a2
L3L2L1
Target(x,y)
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 softwareVRML
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
High Level Techniques (contd.)
Inverse Kinematics e.g.
L3L2L1
Target(x,y)L1 L2 L3?
?
?
Basex = 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
a1 a3
a2
L3L2L1
Goal
End effector
distance
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.)
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