Download presentation
Presentation is loading. Please wait.
1
1 Free-Form Deformations Free-Form Deformation of Solid Geometric Models Fast Volume-Preserving Free Form Deformation Using Multi-Level Optimization Free-Form Deformations with Lattices of Arbitrary Topology
2
2 Introduction - Bezier Curves Control Polygon Parametric Equations Weighting Functions De Casteljau Subdivision
3
3 Control Polygon Bezier Curve is defined by a set of n points (in 1D, 2D, 3D, etc) –order –weight –degree The points (in order) joined by lines is called the Control Polygon P4P4 P3P3 P2P2 P1P1
4
4 Parametric Equations Each of the points on the Bezier Curve is defined as functions of t –in 3D x(t), y(t), z(t) These functions are based on the points of the control polygon (P 1 …P n )
5
5 Weighting Functions Bernstein Polynomials x(t) = Σ (i=0..n) ( n i ) (1-t) n-i t i P ix This must be evaluated for t = 0..1 at the resolution desired This must also be evaluated for each variable of the space (x, y, z in 3D)
6
6 De Casteljau Subdivision (aka Better Intuition) t = 0.5: P4P4 P3P3 P2P2 P1P1
7
7 Picture Pages Time to get your crayons and your pencils!
8
8 Higher Dimensions Bezier Curves are considered 1D objects because only one variable changes ( t ) However, higher spaces exist for Bezier arithmetic and FFDs take advantage of these multivariate spaces
9
9 Remainder of Talk Free-Form Deformation of Solid Geometric Models –Sederberg and Parry - SIGGRAPH 1986 Faster and Volume Preserving Free Form Deformation Using Multi-Level Optimization –Hirota, Maheshwari, and Lin – ACM Solid Modelling Free-Form Deformations with Lattices of Arbitrary Topology –MacCracken and Joy – SIGGRAPH 1996
10
10 This Section Free-Form Deformation of Solid Geometric Models –Sederberg and Parry - SIGGRAPH 1986 Faster and Volume Preserving Free Form Deformation Using Multi-Level Optimization –Hirota, Maheshwari, and Lin – ACM Solid Modelling Free-Form Deformations with Lattices of Arbitrary Topology –MacCracken and Joy – SIGGRAPH 1996
11
11 Free-Form Deformation Redefine any form of 3D data into trivariate Bernstein Polynomial basis –(x, y, z) (s, t, u) Alter trivariate control polygon Solve for altered 3D vertices –(s, t, u) (x’, y’, z’)
12
12 2D Example t= s= 0.25 0 1 1.75 Q 1x = -1 Q 2x = 1 Q 3x = 1 Q 4x = -1 Q 1s =.2 Q 2s =.8 Q 3s =.8 Q 4s =.2 Q4Q4 Q3Q3 Q2Q2 Q1Q1 *(Approximate)
13
13 2D Example (cont) t= s= 0.25 0 1 1.75 Q 1x = -.7 Q 2x = 1 Q 3x = 1 Q 4x = -1 Q 1s =.2 Q 4s =.2 Q 2s =.8 Q 3s =.8 *(Approximate)
14
14 Demo My Implementation of 3D-FFD
15
15 Why is this useful? Any primitive may be placed in Control Mesh Basic Primitives may be molded into complex shapes, joined with guaranteed continuity Volume may be preserved
16
16 Continuity Example
17
17 Joining Example
18
18 Volume Preservation
19
19 Cool Results
20
20 Cool Results 2
21
21 Continuing Use
22
22 Outline Free-Form Deformation of Solid Geometric Models –Sederberg and Parry - SIGGRAPH 1986 Faster and Volume Preserving Free Form Deformation Using Multi-Level Optimization –Hirota, Maheshwari, and Lin – ACM Solid Modelling Free-Form Deformations with Lattices of Arbitrary Topology –MacCracken and Joy – SIGGRAPH 1996
23
23 Goal of Volume Preservation Deformations are more physically accurate when volume is preserved Fixed position for some portion of deformation Alter location of remaining portions according to an energy minimization scheme
24
24 Calculating Volume In a closed manifold approximate d by a polygonal mesh: Volume = A xy *h V1V1 V2V2 V3V3 h = (V 1z +V 2z +V 3z ) 3 A xy = (V 1 V 2 xV 1 V 3 ) z 2
25
25 Calculating Volume 2 For back-facing polygons Volume is negative Benefits –Translation independent –Really fast –Can be used to recompute the normals after deformation
26
26 Modifying Volume After a deformation, the volume of the solid has changed Some control points are locked down and a minimization must be performed
27
27 Energy Minimization The lattice is considered a spring system This becomes a minimization problem: –Min E spring (X) –Subject to ΔV(X) = 0 X is the Matrix of the Control Point Positions
28
28 Equations E spring (X)=Σ j k / 2 (sqrt((X ej -X sj )(X ej -X sj ))–L j ) 2 –Note that sqrt(x 2 ) is abs(x) –However, left in this form to show the equation is “well over quartic” We need to differentiate E and V dV / dX = dV / dP * dP / dX –We can solve for dP / dX and dV / dP quickly
29
29 Iterative Refinement This is best solved iteratively –Refined answer obtained after each step To increase speed of calculation smaller polygonal meshes used at first
30
30 Iterative Refinement 2
31
31 Iterative Refinement 3 λ = Lagrange multiplier σ = penalty for volume deviation
32
32 Results
33
33 Results 2
34
34 Results 3
35
35 Finally Free-Form Deformation of Solid Geometric Models –Sederberg and Parry - SIGGRAPH 1986 Faster and Volume Preserving Free Form Deformation Using Multi-Level Optimization –Hirota, Maheshwari, and Lin – ACM Solid Modelling Free-Form Deformations with Lattices of Arbitrary Topology –MacCracken and Joy – SIGGRAPH 1996
36
36 General Deformations FFD can not easily handle all forms of deformation –Lattices are constrained to parallel-piped This paper allows for a more general definition of deformation space
37
37 Lattice Definition Edge – two vertices connected in the simplicial complex Face – minimal connected loop of vertices Cell – region bounded by a set of faces
38
38 Catmull-Clark Subdivision 1 face point - the average of all of the points defining the original face. edge point - the average of the midpoint of original edge with two new, neighboring face points. vertex point - (Q + 2R + (n-3)V_i)/n –Q is the average of the face points containing V_i –R is the average of the midpoints of the edges incident to V_i –n is the number of faces containing V_i. Images and text taken from http://www.math.tuwien.ac.at/~gkneisl/Recent_Work/Thesis.html
39
39 Catmull-Clark Subdivision 2 Expanded here for use in volumes: –Cell Point (C i )– Average of vertices in the lattice –Face Point (F i ) – (C 0 +2A+C 1 )/4 –Edge Point (E i ) – (C avg +2A avg +(n-3)M)/4 –Vertex Point (V i ) – (C avg +3A avg +3M avg +P)/8 –A i is a “Face Centroid”
40
40 Added “Special Cases” In order to allow for better volume matching, corner vertices and sharp edges are defined specially
41
41 Calculating s,t,u Subdivide volume a small number of times Calculate “relative” s,t,u in the current cell
42
42 Deformation Process Deform Control Lattice Subdivide to necessary size Calculate new xyz position
43
43 Results
44
44 Results 2
45
45 Results 3
46
46 What you should know FFD is by far the easier, faster concept Volume Preservation can best be done by hierarchical refinement More general deformations can be defined –Numerical methods must be employed –Greater user input required for lattice construction
47
47 Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.