Spring 2018 CSCI 621: Digital Geometry Processing 11.2 Surface Deformation I Hao Li http://cs621.hao-li.com 1
Acknowledgement Images and Slides are courtesy of • Prof. Mario Botsch, Bielefeld University • Prof. Olga Sorkine, ETH Zurich 2
Shapes & Deformation Why deformations? • Sculpting, customization • Character posing, animation Criteria? • Intuitive behavior and interface • semantics • Interactivity 3
Shapes & Deformation • Manually modeled and scanned shape data • Continuous and discrete shape representations 4
Goals State of research in shape editing Discuss practical considerations • Flexibility • Numerical issues • Admissible interfaces Comparison, tradeoffs 5
Continuous/Analytical Surfaces • Tensor product surfaces (e.g. Bézier, B-Spline, NURBS) • Subdivision Surfaces • Editability is inherent to the representation 6
Spline Surfaces Tensor product surfaces (“curves of curves”) • Rectangular grid of control points 7
Spline Surfaces Tensor product surfaces (“curves of curves”) • Rectangular grid of control points • Rectangular surface patch 8
Spline Surfaces Tensor product surfaces (“curves of curves”) • Rectangular grid of control points • Rectangular surface patch Problems: • Many patches for complex models • Smoothness across patch boundaries • Trimming for non-rectangular patches 9
Subdivision Surfaces Generalization of spline curves/surfaces • Arbitrary control meshes • Successive refinement (subdivision) • Converges to smooth limit surface • Connection between splines and meshes 10
Spline & Subdivision Surfaces Basis functions are smooth bumps • Fixed support • Fixed control grid Bound to control points • Initial patch layout is crucial • Requires experts! De-couple deformation from surface representation! 11
Discrete Surfaces: Point Sets, Meshes • Flexible • Suitable for highly detailed scanned data • No analytic surface • No inherent “editability” Mesh Editing 12
Outline • Surface-Based Deformation • Linear Methods • Non-Linear Methods • Spatial Deformation 13
Mesh Deformation Global deformation with intuitive detail preservation 14
Mesh Deformation Local & global deformations 15
Linear Surface-Based Deformation • Shell-Based Deformation • Multiresolution Deformation • Differential Coordinates 16
Modeling Metaphor 17
Modeling Metaphor • Mesh deformation by displacement function d – Interpolate prescribed constraints – Smooth, intuitive deformation ➡ Physically-based principles d ( p i ) = d i d : S → IR 3 p ⇥� p + d ( p ) 18
Shell Deformation Energy � � 2 � � � I − ¯ • Stretching k s I Ω – Change of local distances � x T x T � u x u u x v – Captured by 1 st fundamental form I = x T x T v x u v x v • Bending � � 2 � � I − ¯ k b � I I I – Change of local curvature Ω – Captured by 2 nd fundamental form � x T x T � uu n uv n I I = x T x T vu n vv n • Stretching & bending is sufficient – Differential geometry: “1 st and 2 nd fundamental forms determine a surface up to rigid motion.” 19
Physically-Based Deformation • Nonlinear stretching & bending energies ⇥ � 2 + k b � 2 d u d v � � I − I � � � I � � k s � I I − I Ω stretching bending • Linearize terms → Quadratic energy ⇤ � d u � 2 + � d v � 2 ⇥ � d uu � 2 + 2 � d uv � 2 + � d vv � 2 ⇥ � � k s + k b d u d v Ω stretching bending 20
Physically-Based Deformation • Minimize linearized bending energy � ⇥ d uu ⇥ 2 + 2 ⇥ d uv ⇥ 2 + ⇥ d vv ⇥ 2 d u d v � min E ( d ) = S f ( x ) → min • Variational calculus → Euler-Lagrange PDE ∆ 2 d := d uuuu + 2 d uuvv + d vvvv = 0 f � ( x ) = 0 ➡ “Best” deformation that satisfies constraints 21
Deformation Energies Initial state ∆ 2 d = 0 ∆ d = 0 (Membrane) (Thin plate) 22
PDE Discretization • Euler-Lagrange PDE ∆ 2 d = 0 d = 0 d = δ h • Laplace discretization 1 � ∆ d i = (cot α ij + cot β ij )( d j − d i ) 2 A i j ∈ N i A i α ij ∆ 2 d i = ∆ ( ∆ d i ) x i x j β ij 23
Linear System • Sparse linear system (19 nz/row) . ∆ 2 . 0 . d i 0 0 I 0 = δ h i . 0 0 I . . – Turn into symmetric positive definite system • Solve this system each frame – Use efficient linear solvers !!! – Sparse Cholesky factorization – See book for details 24
Derivation Steps Nonlinear Energy Linearization Quadratic Energy Variational Calculus Linear PDE Discretization Linear Equations 25
CAD-Like Deformation [Botsch & Kobbelt, SIGGRAPH 04] 26
Facial Animation 27
Linear Surface-Based Deformation • Shell-Based Deformation • Multiresolution Deformation • Differential Coordinates 28
Multiresolution Modeling • Even pure translations induce local rotations! ➡ Inherently non-linear coupling • Alternative approach – Linear deformation + multi-scale decomposition... Original Linear Nonlinear 29
Multiresolution Editing Frequency decomposition Change low frequencies Add high frequency details, stored in local frames 30
Multiresolution Editing Multiresolution Modeling S � S Reconstruction Decomposition Freeform Modeling B � B Detail Information 31
Normal Displacements 32
Limitations • Neighboring displacements are not coupled – Surface bending changes their angle – Leads to volume changes or self-intersections Original Normal Displ. Nonlinear 33
Limitations • Neighboring displacements are not coupled – Surface bending changes their angle – Leads to volume changes or self-intersections Original Normal Displ. Nonlinear 34
Limitations • Neighboring displacements are not coupled – Surface bending changes their angle – Leads to volume changes or self-intersections • Multiresolution hierarchy difficult to compute – Complex topology – Complex geometry – Might require more hierarchy levels 35
Linear Surface-Based Deformation • Shell-Based Deformation • Multiresolution Deformation • Differential Coordinates 36
Differential Coordinates 1. Manipulate differential coordinates instead of spatial coordinates – Gradients, Laplacians, local frames – Intuition: Close connection to surface normal 2. Find mesh with desired differential coords – Cannot be solved exactly – Formulate as energy minimization 37
Differential Coordinates Original Rotated Diff-Coords Reconstructed Mesh 38
Differential Coordinates • Which differential coordinate δ i ? – Gradients – Laplacians – ... • How to get local transformations T i ( δ i ) ? – Smooth propagation – Implicit optimization – ... 39
Gradient-Based Editing • Manipulate gradient of a function (e.g. a surface) g ⇥� T ( g ) g = � f • Find function f ’ whose gradient is (close to) g ’=T( g ) � ⇥⇤ f � T ( g ) ⇥ 2 d u d v f � = argmin f Ω • Variational calculus → Euler-Lagrange PDE ∆ f � = div T ( g ) 40
Gradient-Based Editing • Consider piecewise linear coordinate function � p ( u, v ) = p i · φ i ( u, v ) v i • Its gradient is � ⇥ p ( u, v ) = p i · ⇥ φ i ( u, v ) v i 1 1 φ 1 φ 2 φ 3 x 3 x 3 x 3 x 1 x 1 x 1 1 x 2 x 2 x 2 41
Gradient-Based Editing • Consider piecewise linear coordinate function � p ( u, v ) = p i · φ i ( u, v ) v i • Its gradient is � ⇥ p ( u, v ) = p i · ⇥ φ i ( u, v ) v i • It is constant per triangle ⇤ p | f j =: g j � IR 3 × 3 42
Gradient-Based Editing • Gradient of coordinate function p � ⇥ � ⇥ p T g 1 1 ⇧ ⌃ ⇧ ⌃ . . G . . ⌅ = ⇤ ⇤ ⌅ . . �⌥⌦ p T g F (3 F × V ) V • Manipulate per-face gradients g j ⇥� T j ( g j ) 43
Gradient-Based Editing • Reconstruct mesh from new gradients – Overdetermined (3 F × V ) system – Weighted least squares system ∆ p � = div T ( g ) ➡ Linear Poisson system T p � T 1 ( g 1 ) 1 . . G T DG · = G T D · . . . . T T F ( g F ) div ∇ = ∆ p � div V 44
Laplacian-Based Editing • Manipulate Laplacians field of a surface l = ∆ ( p ) , l ⇥� T ( l ) • Find surface whose Laplacian is (close to) δ ’= T ( l ) � ⇥ ∆ p � T ( l ) ⇥ 2 d u d v p � = argmin Ω p • Variational calculus yields Euler-Lagrange PDE ∆ 2 p � = ∆ T ( l ) soft constraints 45
Differential Coordinates • Which differential coordinate δ i ? – Gradients – Laplacians – ... • How to get local transformations T i ( δ i ) ? – Smooth propagation – Implicit optimization – ... 46
Smooth Propagation 1. Compute handle’s deformation gradient 2. Extract rotation and scale/shear components 3. Propagate damped rotations over ROI 47
Deformation Gradient • Handle has been transformed affinely T ( x ) = Ax + t • Deformation gradient is � T ( x ) = A • Extract rotation R and scale/shear S A = U Σ V T R = UV T , S = V Σ V T ⇒ SVD 48
Recommend
More recommend