11.2 Surface Deformation I Hao Li http://cs621.hao-li.com 1 - - PowerPoint PPT Presentation

11 2 surface deformation i
SMART_READER_LITE
LIVE PREVIEW

11.2 Surface Deformation I Hao Li http://cs621.hao-li.com 1 - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

CSCI 621: Digital Geometry Processing

Hao Li

http://cs621.hao-li.com

1

Spring 2018

11.2 Surface Deformation I

slide-2
SLIDE 2

Acknowledgement

2

Images and Slides are courtesy of

  • Prof. Mario Botsch, Bielefeld University
  • Prof. Olga Sorkine, ETH Zurich
slide-3
SLIDE 3

Shapes & Deformation

3

Why deformations?

  • Sculpting, customization
  • Character posing, animation

Criteria?

  • Intuitive behavior and interface
  • semantics
  • Interactivity
slide-4
SLIDE 4

Shapes & Deformation

4

  • Manually modeled and scanned shape data
  • Continuous and discrete shape representations
slide-5
SLIDE 5

Goals

5

State of research in shape editing Discuss practical considerations

  • Flexibility
  • Numerical issues
  • Admissible interfaces

Comparison, tradeoffs

slide-6
SLIDE 6

Continuous/Analytical Surfaces

6

  • Tensor product surfaces

(e.g. Bézier, B-Spline, NURBS)

  • Subdivision Surfaces
  • Editability is inherent to the

representation

slide-7
SLIDE 7

Spline Surfaces

7

Tensor product surfaces (“curves of curves”)

  • Rectangular grid of control points
slide-8
SLIDE 8

Spline Surfaces

8

Tensor product surfaces (“curves of curves”)

  • Rectangular grid of control points
  • Rectangular surface patch
slide-9
SLIDE 9

Spline Surfaces

9

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
slide-10
SLIDE 10

Subdivision Surfaces

10

Generalization of spline curves/surfaces

  • Arbitrary control meshes
  • Successive refinement (subdivision)
  • Converges to smooth limit surface
  • Connection between splines and meshes
slide-11
SLIDE 11

Spline & Subdivision Surfaces

11

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!

slide-12
SLIDE 12

Discrete Surfaces: Point Sets, Meshes

12

  • Flexible
  • Suitable for highly

detailed scanned data

  • No analytic surface
  • No inherent “editability”

Mesh Editing

slide-13
SLIDE 13

Outline

13

  • Surface-Based Deformation
  • Linear Methods
  • Non-Linear Methods
  • Spatial Deformation
slide-14
SLIDE 14

Mesh Deformation

14

Global deformation with intuitive detail preservation

slide-15
SLIDE 15

Mesh Deformation

15

Local & global deformations

slide-16
SLIDE 16

Linear Surface-Based Deformation

16

  • Shell-Based Deformation
  • Multiresolution Deformation
  • Differential Coordinates
slide-17
SLIDE 17

Modeling Metaphor

17

slide-18
SLIDE 18

Modeling Metaphor

18

  • Mesh deformation by displacement function d

– Interpolate prescribed constraints – Smooth, intuitive deformation ➡Physically-based principles d (pi) = di

p ⇥ p + d(p)

d : S → IR3

slide-19
SLIDE 19

Shell Deformation Energy

19

  • Stretching

– Change of local distances – Captured by 1st fundamental form

  • Bending

– Change of local curvature – Captured by 2nd fundamental form

  • Stretching & bending is sufficient

– Differential geometry: “1st and 2nd fundamental forms determine a surface up to rigid motion.”

I = xT

u xu

xT

u xv

xT

v xu

xT

v xv

ks

  • I − ¯

I

  • 2

I I = xT

uun

xT

uvn

xT

vun

xT

vvn

kb

  • I

I − ¯ I I

  • 2
slide-20
SLIDE 20

Physically-Based Deformation

20

  • Nonlinear stretching & bending energies
  • Linearize terms → Quadratic energy

ks

  • I − I

2 + kb

  • I

I − I I 2 dudv

stretching bending ⇤

ks

  • du2 + dv2⇥

+ kb

  • duu2 + 2 duv2 + dvv2⇥

dudv stretching bending

slide-21
SLIDE 21

Physically-Based Deformation

21

  • Minimize linearized bending energy
  • Variational calculus → Euler-Lagrange PDE

➡ “Best” deformation that satisfies constraints

∆2d := duuuu + 2duuvv + dvvvv = 0

f (x) = 0

E(d) =

  • S

⇥duu⇥2 + 2 ⇥duv⇥2 + ⇥dvv⇥2 dudv min

f(x) → min

slide-22
SLIDE 22

Deformation Energies

22

Initial state (Thin plate)

∆2d = 0

(Membrane)

∆d = 0

slide-23
SLIDE 23

PDE Discretization

23

  • Euler-Lagrange PDE
  • Laplace discretization

xj

xi Ai

αij

βij

∆di = 1 2Ai

  • j∈Ni

(cot αij + cot βij)(dj − di)

∆2di = ∆(∆di)

∆2d = 0 d = 0 d = δh

slide-24
SLIDE 24

Linear System

24

  • Sparse linear system (19 nz/row)

– Turn into symmetric positive definite system

  • Solve this system each frame

– Use efficient linear solvers !!! – Sparse Cholesky factorization – See book for details

   ∆2 I I        . . . di . . .     =   δhi  

slide-25
SLIDE 25

Derivation Steps

25

Nonlinear Energy Quadratic Energy Linear PDE Linear Equations

Linearization

Variational Calculus Discretization

slide-26
SLIDE 26

CAD-Like Deformation

26

[Botsch & Kobbelt, SIGGRAPH 04]

slide-27
SLIDE 27

Facial Animation

27

slide-28
SLIDE 28

Linear Surface-Based Deformation

28

  • Shell-Based Deformation
  • Multiresolution Deformation
  • Differential Coordinates
slide-29
SLIDE 29

Multiresolution Modeling

29

  • Even pure translations induce local rotations!

➡ Inherently non-linear coupling

  • Alternative approach

– Linear deformation + multi-scale decomposition...

Original Nonlinear Linear

slide-30
SLIDE 30

Multiresolution Editing

30

Frequency decomposition Change low frequencies Add high frequency details, stored in local frames

slide-31
SLIDE 31

Multiresolution Editing

31

Multiresolution Modeling

S

Decomposition Detail Information

B

Freeform Modeling

B

Reconstruction

S

slide-32
SLIDE 32

Normal Displacements

32

slide-33
SLIDE 33

Limitations

33

  • Neighboring displacements are not coupled

– Surface bending changes their angle – Leads to volume changes or self-intersections

Original Normal Displ. Nonlinear

slide-34
SLIDE 34

Limitations

34

Normal Displ. Nonlinear Original

  • Neighboring displacements are not coupled

– Surface bending changes their angle – Leads to volume changes or self-intersections

slide-35
SLIDE 35

Limitations

35

  • 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

slide-36
SLIDE 36

Linear Surface-Based Deformation

36

  • Shell-Based Deformation
  • Multiresolution Deformation
  • Differential Coordinates
slide-37
SLIDE 37

Differential Coordinates

37

  • 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

slide-38
SLIDE 38

Differential Coordinates

38

Original Rotated Diff-Coords Reconstructed Mesh

slide-39
SLIDE 39

Differential Coordinates

39

  • Which differential coordinate δi?

– Gradients – Laplacians – ...

  • How to get local transformations Ti (δi)?

– Smooth propagation – Implicit optimization – ...

slide-40
SLIDE 40

Gradient-Based Editing

40

  • Manipulate gradient of a function (e.g. a surface)
  • Find function f’ whose gradient is (close to) g’=T(g)
  • Variational calculus → Euler-Lagrange PDE

g = f g ⇥ T(g) f = argmin

f

⇥⇤f T(g)⇥2 dudv ∆f = div T(g)

slide-41
SLIDE 41

Gradient-Based Editing

41

  • Consider piecewise linear coordinate function
  • Its gradient is

p(u, v) =

  • vi

pi · φi(u, v)

φ2

x1 x2

x3 1

x1 x2

x3 1

φ3

x1 x2

x3 1

φ1

⇥p(u, v) =

  • vi

pi · ⇥φi(u, v)

slide-42
SLIDE 42

Gradient-Based Editing

42

  • Consider piecewise linear coordinate function
  • Its gradient is
  • It is constant per triangle

p(u, v) =

  • vi

pi · φi(u, v) ⇥p(u, v) =

  • vi

pi · ⇥φi(u, v) ⇤p|fj =: gj IR3×3

slide-43
SLIDE 43

Gradient-Based Editing

43

  • Gradient of coordinate function p
  • Manipulate per-face gradients

gj ⇥ Tj(gj)

⇤ g1 . . . gF ⇥ ⌃ ⌅ = G ⌥⌦

(3F ×V )

⇤ pT

1

. . . pT

V

⇥ ⌃ ⌅

slide-44
SLIDE 44

Gradient-Based Editing

44

div div∇ = ∆

  • Reconstruct mesh from new gradients

– Overdetermined (3F × V) system – Weighted least squares system ➡Linear Poisson system GT DG ·    p

1 T

. . . p

V T

   = GT D ·    T1(g1) . . . TF (gF )    ∆p = div T(g)

slide-45
SLIDE 45

Laplacian-Based Editing

45

  • Manipulate Laplacians field of a surface
  • Find surface whose Laplacian is (close to) δ’=T(l)
  • Variational calculus yields Euler-Lagrange PDE

p = argmin

p

⇥∆p T(l)⇥2 dudv ∆2p = ∆T(l) l = ∆(p) , l ⇥ T(l)

soft constraints

slide-46
SLIDE 46

Differential Coordinates

46

  • Which differential coordinate δi ?

– Gradients – Laplacians – ...

  • How to get local transformations Ti (δi) ?

– Smooth propagation – Implicit optimization – ...

slide-47
SLIDE 47

47

1.Compute handle’s deformation gradient 2.Extract rotation and scale/shear components 3.Propagate damped rotations over ROI

Smooth Propagation

slide-48
SLIDE 48

Deformation Gradient

48

  • Handle has been transformed affinely
  • Deformation gradient is
  • Extract rotation R and scale/shear S

T(x) = Ax + t T(x) = A A = UΣVT ⇒ R = UVT , S = VΣVT

SVD

slide-49
SLIDE 49

Smooth Propagation

49

  • Construct smooth scalar field [0,1]
  • s(x)=1:

Full deformation (handle)

  • s(x)=0:

No deformation (fixed part)

  • s(x)∈(0,1): Damp handle transformation (in between)
slide-50
SLIDE 50

Limitations

50

  • Differential coordinates work well for rotations

– Represented by deformation gradient

  • Translations don’t change deformation gradient

– Translations don’t change differential coordinates – “Translation insensitivity”

slide-51
SLIDE 51

Implicit Optimization

51

  • Optimize for positions pi’ & transformations Ti
  • Linearize rotation/scale → one linear system

∆2     . . . p

i

. . .     =     . . . ∆Ti(li) . . .     Ti(pi − pj) = p

i − p j

Rx ≈ x + (r × x) =   1 −r3 r2 r3 1 −r1 −r2 r1 1   x Ti =   s −r3 r2 r3 s −r1 −r2 r1 s  

slide-52
SLIDE 52

Laplacian Surface Editing

52

slide-53
SLIDE 53

Connection to Shells?

53

  • Neglect local transformations Ti for a moment...

∆2(p + d) = ∆2p ∆2d = 0

  • Basic formulations equivalent!
  • Differ in detail preservation
  • Rotation of Laplacians
  • Multi-scale decomposition
  • ⇤∆p l⇤2 ⇥ min

∆2p = ∆l

p = p + d l = ∆p

  • ⇥duu⇥2 + 2 ⇥duv⇥2 + ⇥dvv⇥2 min
slide-54
SLIDE 54

Linear Surface-Based Deformation

54

  • Shell-Based Deformation
  • Multiresolution Deformation
  • Differential Coordinates
slide-55
SLIDE 55

Next Time

55

Non-Linear Surface Deformations

slide-56
SLIDE 56

http://cs621.hao-li.com

Thanks!

56