290 likes | 431 Views
This comprehensive overview explores various techniques for achieving global and skeletal deformations in 3D modeling. It covers non-uniform scale transformations, twisting, tapering, and the implementation of free-form deformations (FFDs). Specific methods such as bilinear interpolation for grid deformations are discussed, alongside practical applications in animation and film, including techniques used in the film *Hunger*. The concepts of local coordinate systems for deformation and different interpolation methods like B-spline and Catmull-Rom are also examined, showcasing their significance in computer graphics.
E N D
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
Global Deformations f(x,y,z) g(x,y,z) Transformation matrix elements - functions of coordinates
Global Deformations - twist x’ = x*cos(f(y)) – z*sin(f(y)) y’ = y z’ = x*sin(f(y)) + z*cos(f(y))
Skeletal Deformation Interior angle bisectors Perpendiculars at end points
Skeletal Deformation L Get object s Draw polyline Map vertices to polyline d Warp polyline Reposition vertices to polyline
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
Grid Deformation For each vertex Idenify cell Local u,v coorindate 0.8 0.5
Grid Deformation P11 Bilinear interpolation Pu0 = (1-u)*P00 + u*P10 Pu1 = (1-u)*P01 + u*P11 Puv = (1-v)*P0u + v*P1u Pu1 P01 P00 Pu0 P01
Free-Form Deformations Define local coordinate system for deformation T U S (not necessarily mutually perpendicular)
FFD - register point in cell (TxU) . (P-P0) T ((TxU) . S) P U TxU S P0 s = (TxU) . (P-P0) / ((TxU) . S) P = P0 + sS + tT + uU
FFD - create control grid (not necessarily mutually perpendicular)
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)
FFD - extensions Hierarchical FFDs Animated FFD Static FFD that object moves through Non-parallelpiped FFD
FFD - films and videos examples Boppin’ in Bean Town by John Chadwick Facit demo by Beth Hofer Balloon Guy by Chris Wedge