based on rick parent’s - cis681 slide set shape deformoration - compressive bulging (e.g. muscles)...
TRANSCRIPT
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) · xy’ = 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 BonesSkin 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
0.5
0.8
For each vertexIdenify cellLocal u,v coorindate
Based on Rick Parent’s - CIS681 slide set
Grid Deformation
Bilinear interpolationPu0 = (1-u)*P00 + u*P10Pu1 = (1-u)*P01 + u*P11Puv = (1-v)*P0u + v*P1u
P00
P01
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 insidealso changes.
From http://www.comp.nus.edu.sf/~cs3246/CS3246_01/anim4.ppt
Based on Rick Parent’s - CIS681 slide set
step3
move inner control points downwards.
step4
Finally, get the shaded version of banana!
From http://www.comp.nus.edu.sf/~cs3246/CS3246_01/anim4.ppt
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