Animating Speed Position and Orientation

copygrouperMechanics

Nov 13, 2013 (3 years and 9 months ago)

351 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



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.

Illustration of Dynamics in
Animation


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.



Base

a1

a3

a2

L3

L2

L1

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

High Level Techniques (contd.)

Inverse Kinematics e.g.


L3

L2

L1

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


a1

a3

a2

L3

L2

L1

Goal

End effector

distance

Base

G(a) = (x
g



x)
2

+ (y
g



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) = (x
g



(L1cos(a1)+L2cos(a2)+L3cos(a3)))
2 +


(y
g



(L1sin(a1)+L2sin(a2)+L3sin(a3)))
2



High Level Techniques (contd.)

Nonlinear Optimization



minimize G(a)


subject to
m
t
a = b
1


m
t
a <= b
2

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