140 likes | 400 Views
Extended Free-Form Deformation. Xiao, Yongqin CMPS260 Winter 2003 Instructor: Alex Pang. What is “free-form”?. Parametric surfaces are free-form surfaces. The flexibility in this technique of deformation allows us deform the model in a free-form manner. Any surface patches
E N D
Extended Free-Form Deformation Xiao, Yongqin CMPS260 Winter 2003 Instructor: Alex Pang
What is “free-form”? • Parametric surfaces are free-form surfaces. • The flexibility in this technique of deformation allows us deform the model in a free-form manner. • Any surface patches • global or local deformation • continuity in local deformation • volume preservation
FFD key idea --- proposed by Sederberg and Parry • Impose a local coordinate system on a parallelepiped region. • Compute the (s,t,u) coordinates of the model points in the region. • Impose a (l, m, n) grid of control points on the parallelepiped.
FFD key idea (cont.) • Move the control points around. • Evaluate new position of model point based on trivariate Bersntein polynomials or other type of volumes.
Some formulas used in FFD • A point in the STU coordinate system: • A deformed point:
Evaluate FFD Advantages: • Independent of surface geometry • Intuitive, interactive • Efficient, flexible Disadvantages: The parallelpipedical shape of FFD lattice prohibits arbitrarily shaped deformation.E.g. can hardly design a circular bump on the surface
EFFD ----- extended FFD • Edit the FFD lattice beforeassociating the model with it. • Moving • Merging • Deleting The control points • Arbitrary lattices: • Prismatic lattices • Tetrahedral • …
Compute (s, t, u) coordinates • Decide if a surface point inside the lattice using Convex Hull property. • Previous position of control points matters inthis case. • Surface normal needed for the convex hull. • Finding the (s, t, u) coordinates • Subdivision • Newton iteration • Projection (very limited, but fast)
Steps for deforming a object model • Load in a object model • Subdivide the object surface • Loop 1: load in a lattice model move the lattice to a appropriate position set (l, m, n) dimension for the lattice “freeze” the lattice Loop 2 : deform the lattice update the object model end 2 “unfreeze” the lattice end 1
Smooth the deformed surface Can be done by properly set the lattice position and (l, m, n ) dimension
Design a lattice holding many lattice blocks • Design an array of (3l+1)(3m+1)(3n+1)lattice blocks. • Only interact with the corner points, other control points will be automatically set. • Apply EFFD one by one with each block.
reference • Free-Form Deformation of Solid Geometric Models by T.W. Sederberg & S.R. Parry • Extended Free-Form Deformation:A sculpturing Tool for 3D Geometri Modeling by S. Coquillart • Free-Form Deformations With Lattices of Arbitrary Topology by R. MacCracken & K.I. Joy • All the images are from the first and third paper.