Upload
nay
View
32
Download
3
Embed Size (px)
DESCRIPTION
Deforming Objects. Non-Uniform Scale. Global Deformations. Skeletal Deformations. Grid Deformations. Free-Form Deformations (FFDs). Sx. 0. 0. 0. 0. Sy. 0. 0. 0. 0. Sz. 0. 0. 0. 0. 1. Non-uniform Scale. Transformation matrix - diagonal elements. Non-uniform Scale. - PowerPoint PPT Presentation
Citation preview
Rick Parent - CIS681
Deforming Objects
Free-Form Deformations (FFDs)
Global Deformations
Non-Uniform Scale
Grid Deformations
Skeletal Deformations
Rick Parent - CIS681
Non-uniform Scale
Transformation matrix - diagonal elements
0
1
Sx
Sy
Sz
0
0
0
0
0
0 0
0
00 0
Rick Parent - CIS681
Non-uniform Scale
Rick Parent - CIS681
Global Deformations
Transformation matrix elements - functions of coordinates
f(x,y,z) g(x,y,z)
Rick Parent - CIS681
Global Deformations - taper
Rick Parent - CIS681
Global Deformations - taper
Rick Parent - CIS681
Global Deformations - twist
x’ = x*cos(f(y)) – z*sin(f(y))y’ = y z’ = x*sin(f(y)) + z*cos(f(y))
Rick Parent - CIS681
Global Deformations - twist
Rick Parent - CIS681
Global Deformations - rotate
Rick Parent - CIS681
Global Deformations - rotate
Rick Parent - CIS681
Global Deformations - compound
Rick Parent - CIS681
Skeletal Deformation
Rick Parent - CIS681
Skeletal Deformation
Interior angle bisectors
Perpendiculars at end points
Rick Parent - CIS681
Skeletal Deformation
d
L
s
Get object
Draw polyline
Map vertices to polyline
Warp polyline
Reposition vertices to polyline
Rick Parent - CIS681
Skeletal Deformation
Rick Parent - CIS681
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
Rick Parent - CIS681
Grid Deformation
Rick Parent - CIS681
Grid Deformation
0.5
0.8
For each vertexIdenify cellLocal u,v coorindate
Rick Parent - CIS681
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
Rick Parent - CIS681
Grid Deformation
Rick Parent - CIS681
Grid Deformation
Rick Parent - CIS681
Free-Form Deformations
(not necessarily mutually perpendicular)
S
T
U
Define local coordinate system for deformation
Rick Parent - CIS681
FFD - register point in cell
S
T
U
Rick Parent - CIS681
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
Rick Parent - CIS681
FFD - create control grid
(not necessarily mutually perpendicular)
Rick Parent - CIS681
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)
Rick Parent - CIS681
FFD - extensions
Hierarchical FFDs
Animated FFD
Static FFD that object moves through
Non-parallelpiped FFD
Rick Parent - CIS681
FFD - films and videos
examples
Boppin’ in Bean Town by John Chadwick
Facit demo by Beth Hofer
Balloon Guy by Chris Wedge