CS4995-1: Animation Page 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
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
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
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
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
CS4995-1: Animation Page 7
Motion Capture
• Optical markers
• Point cloud
• Tracking– Marker identification– Skeletal mapping
• Editing
CS4995-1: Animation Page 8
Digital Puppetry
• Real-time performance
• Quick
Top Related