Based on Rick Parent’s - CIS681 slide set Shape Deformoration - Compressive bulging (e.g. muscles) - Folding and stretching (e.g. skin) - Draping Physical Phenomena Contortion for Expression - Anthropomorphic form (e.g. Aladdin’s carpet) - Facial gestures
Based on Rick Parent’s - CIS681 slide set Key Shapes Mapping - Vertex to vertex - Edge to edge
Based on Rick Parent’s - CIS681 slide set Global Deformations - taper
Based on Rick Parent’s - CIS681 slide set Global Deformations - twist x’ = s(z) · x y’ = s(z) · y z’ = z Where s(z) = (maxz –z) (maxz – minz)
Based on Rick Parent’s - CIS681 slide set Global Deformations - twist
Based on Rick Parent’s - CIS681 slide set Global Deformations - rotate
Based on Rick Parent’s - CIS681 slide set Global Deformations - rotate
Based on Rick Parent’s - CIS681 slide set Global Deformations - compound
Based on Rick Parent’s - CIS681 slide set Skeletal Deformation
Based on Rick Parent’s - CIS681 slide set Skeletal Deformation Interior angle bisectors Perpendiculars at end points
Based on Rick Parent’s - CIS681 slide set Skeletal Deformation d L s Get object Draw polyline Map vertices to polyline Warp polyline Reposition vertices to polyline
Based on Rick Parent’s - CIS681 slide set Skeletal Deformation
Based on Rick Parent’s - CIS681 slide set Skin and Bones Skin mess surrounds bone structure Jeff Lander’s IGDN notes Problem: Folding at joints Solution: Attach vertices to multiple bones Weight influence
Based on Rick Parent’s - CIS681 slide set Grid Deformation 2D technique used in the film HUNGER Overlay 2D grid on top of object Map object vertices to grid cells (create local coordinate system) User distorts 2D grid vertices Object vertices are remapped to local coordinate system of 2D grid by using bilinear interpolation
Based on Rick Parent’s - CIS681 slide set Grid Deformation
Based on Rick Parent’s - CIS681 slide set Grid Deformation For each vertex Idenify cell Local u,v coorindate
Based on Rick Parent’s - CIS681 slide set Grid Deformation Bilinear interpolation Pu0 = (1-u)*P00 + u*P10 Pu1 = (1-u)*P01 + u*P11 Puv = (1-v)*P0u + v*P1u P00 P01 P11 Pu0 Pu1
Based on Rick Parent’s - CIS681 slide set Grid Deformation
Based on Rick Parent’s - CIS681 slide set Grid Deformation
Based on Rick Parent’s - CIS681 slide set Free-Form Deformations (not necessarily mutually perpendicular) S T U Define local coordinate system for deformation
Based on Rick Parent’s - CIS681 slide set FFD - register point in cell S T U
Based on Rick Parent’s - CIS681 slide set FFD - register point in cell s = (TxU). (P-P0) / ((TxU). S) TxU U S T P P0 ((TxU). S) (TxU). (P-P0) P = P0 + sS + tT + uU
Based on Rick Parent’s - CIS681 slide set FFD - create control grid (not necessarily mutually perpendicular)
Based on Rick Parent’s - CIS681 slide set FFD - move and reposition Move control grid points Usually tri-cubic interpolation is used with FFDs Originally Bezier interpolation was used. B-spline and Catmull-Romm interpolation have also been used (as well as tri-linear interpolation)
Based on Rick Parent’s - CIS681 slide set Example of FFD It is originally a cylinder. Red boundary is FFD block embedded with that cylinder Step1 Step2 move control points of each end,and you can see cylinder inside also changes. From
Based on Rick Parent’s - CIS681 slide set step3 move inner control points downwards. step4 Finally, get the shaded version of banana! From
Based on Rick Parent’s - CIS681 slide set FFD - extensions Hierarchical FFDs Animation with FFD - Move object through a deformation - Interpolate deformed shape - Interpolate deformation (i.e. control points)
Based on Rick Parent’s - CIS681 slide set FFD – films, videos, and pictures Alladin Black and White, PDI Tomoyuki Hishita's animations Balloon Guy, Chris Wedge Jason Weber Pictorial