Deformation using interpolation CSE 3541 Matt Boggus
Interpolation based animation Keyframe systems – in general Interpolating shapes Deforming an single shape 3D interpolation between two shapes Image morphing
Keyframing
Time-Curve interpolation Conditions: P(0) maps to Q(0) P(1) maps to Q(1) All of P maps to all of Q One to one – no two P(u) map to same Q(v) Onto – every Q(v) has a P -1 (u) value
Time-Curve interpolation Solutions: If P and Q use the same curve formation and # control points, then generate intermediate curves by interpolating the control points Supersample: Generate same number of points on P and Q, then interpolate between matching points
Object interpolation topics 1. Modify shape of one object 2. Interpolate one object into second object 3. Interpolate one image into second image
Object Modification Vertex warping 2D grid-based deforming Skeletal bending Free Form Deformations Modify the space the vertices lie in Global transforms Modify the vertices directly
Warping Vertices closer to seed are displaced more
Power functions For attenuating warping k determines how quickly increase in distance decreases warping
2D grid-based deforming Assumption: easier to deform grid points than object vertices A (global coordinates): (25.6,14.7) A (local coordinates): (5.6, 2.7) A’s Grid cell (5, 2) A’s position in cell (0.6, 0.7)
2D grid-based deforming Inverse bilinear mapping P values at corners known from grid deformation u and v are known from point’s position in original grid cell
2D grid-based deforming
2D skeleton-based bending
For each vertex, determine which line segment (or bone) it is closest to: L 2 distance to it: d relative position on the line segment: r = d 2 /d 1
2D skeleton-based bending For new vertex position on repositioned (and possibly rescaled) line segment, Interpolate r along line segment Place d units away from the line segment
Examples of artist driven deformation Point based, skeleton based, cage based From Bounded Biharmonic Weights for Real-Time Deformation by Alec Jacobson, Ilya Baran, Jovan Popovic and Olga Sorkine, appearing at SIGGRAPH &feature=related 8&feature=related
Free-Form Deformations (FFDs) 2D grid-based deformingFFDs 2D grid 3D grid tri-cubic interpolationbi-linear interpolation
FFDs Animate by passing object through FFD
Interpolate between 2 objects Correspondence problem: what part of one object to maps into what part of the other object
Interpolate between 2 objects – difficulties How to handle objects of different genus? (roughly speaking: number of holes in the model) map to
Morphing Image blending Move pixels to corresponding pixels Example from
Morphing
Using feature lines instead of grid points