8
CS4995-1: Animation Page 1 Animation • Keyframe – Skeletal hierarchy • Inverse Kinematic • Parametric • Scripted

CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

Embed Size (px)

Citation preview

Page 1: CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

CS4995-1: Animation Page 1

Animation

• Keyframe– Skeletal hierarchy

• Inverse Kinematic

• Parametric

• Scripted

Page 2: CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

CS4995-1: Animation Page 2

Rotations• Euler angles – rotations about canonical axes (or in planes)

– rx, ry, rz or az, el, ro– Order of rotation is important– singularities at 0o and 90o elevation– interpolations are not always “great circle”

• Quaterions – rotations about a vector– i i = -1 ( = j j = k k )– i j = k ; k i = j ; j k = i (non-commutative)– conjugate: q = w + xi + yj + zk– magnitude: ||q|| = sqrt(w2 + x2 + y2 + z2 )– interpolations follow “great circle”– Conversion to and from Euler angles

Ref: http://www.cs.berkeley.edu/~laura/cs184/quat/quaternion.html

v

Page 3: CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

CS4995-1: Animation Page 3

Dynamics

Linear dynamics

• F = ma or a = F/mat = dv/dt = d2x/dt2

vt + at dt = vt+dt = dx/dt

xt + vt dt + ½ at dt2 = xt+dt

• xt+dt = xt + vt dt + ½ Ft/m dt2

Angular dynamics = I or = /I

t+dt = t + tdt + ½t/I dt2

I = moment of inertia

= torque

v

Page 4: CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

CS4995-1: Animation Page 4

Conservation of MomentumLinear momentum• p = m1v1 = m2v2

• v2 = m1v1/m2

(elastic collision)

Angular momentum

• L = I11 = I2 2

1

v1

2

v2

v

-v

Page 5: CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

CS4995-1: Animation Page 5

Numerical Integrationdx/dt = (x, t)• Euler – xi+1= xi + h(x, t) where h = dt

– Fast, but imprecise… error is O(h2)

• Multi-step methods: compute intermediate results

– Predictor-corrector – average slope of at t and t+1• xp

i+1 = xi + h (x, t)• xi+1 = xi + ½h ((xi, ti) + (xp

i+1, ti+1))

– Runge-Kutta – 4th-order solutiond1= h (xi, ti)

d2 = h (ti+ ½h, xi + ½ d1)

d3 = h (ti+ ½h, xi + ½ d2)

d4 = h (ti+ h, xi + d3)

xi+1 = xi + 1/6 (d1 + 2d2 + 2d3 + d4)

Then adapt next step size (h) based on error

Page 6: CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

CS4995-1: Animation Page 6

Collision Detection

• Bounding volumes– Sphere– Axis aligned bounding box– Oriented bounding box– Bounding polygon

• Intersection testing…. Backing out• Space partitioning• Projection of position over time

Page 7: CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

CS4995-1: Animation Page 7

Motion Capture

• Optical markers

• Point cloud

• Tracking– Marker identification– Skeletal mapping

• Editing

Page 8: CS4995-1: AnimationPage 1 Animation Keyframe –Skeletal hierarchy Inverse Kinematic Parametric Scripted

CS4995-1: Animation Page 8

Digital Puppetry

• Real-time performance

• Quick