Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006]...

41
Computer Graphics Laboratory ETH Zurich Adaptive Space Deformations Based on Rigid Cells Mario Botsch, Mark Pauly, Martin Wicke, Markus Gross ETH Zurich

Transcript of Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006]...

Page 1: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

Computer Graphics Laboratory ETH Zurich

Adaptive Space DeformationsBased on Rigid Cells

Mario Botsch, Mark Pauly, Martin Wicke, Markus GrossETH Zurich

Page 2: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Linear Surface Deformation

• Minimize quadratic surface energy

• Variational calculus

• Solve sparse linear system

2

[Botsch & Kobbelt, SIG 04][Kobbelt et al, SIG 98]

[Sorkine et al, SGP 04]

[Lipman et al, SIG 05]

[Yu et al, SIG 04]

Page 3: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Problematic Cases

3

Highly complexmodels

Geometricdegeneracies

Topologicalinconsistencies

Page 4: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Linear Space Deformation

• Deform embedding space

• Again solve linear system, but...

• Deformation complexity << surface complexity

4

[Botsch & Kobbelt, EG 05][Sederberg & Parry, SIG 86] [Hsu et al, SIG 92]

Page 5: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

Surface-Based Space DeformationLi

near

Non

linea

r

Page 6: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Linear vs. Nonlinear

• Problems with large deformations

6

Linear Nonlinear

Page 7: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Nonlinear Surface Deformation

• Minimize nonlinear energies– Intuitive large-scale deformation– Robustness issues– Performance issues

7

[Huang et al, SIG 06] [Shi et al, SIG 07][Botsch et al, SGP 06]

[Au et al, SIG 07]

Page 8: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

PriMo [Botsch et al, SGP 2006]

1. Extrude triangles to prisms / cells

2. Prescribes position/orientation for cells

3. Find optimal rigid motions per cell

4. Update vertices by averaged cell transformations

8

Page 9: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

PriMo [Botsch et al, SGP 2006]

9

Rigidity → Robust optimization

Page 10: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

Surface-Based Space DeformationLi

near

Non

linea

r

Page 11: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Adaptive Space Deformations Based on Rigid Cells

Design decisions:

11

Page 12: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Adaptive Space Deformations Based on Rigid Cells

Design decisions:– Realistic behavior ⇒ Physically plausible

11

Page 13: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Adaptive Space Deformations Based on Rigid Cells

Design decisions:– Realistic behavior ⇒ Physically plausible

– Large deformations ⇒ Nonlinear energy

11

linear nonlinear

Page 14: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Adaptive Space Deformations Based on Rigid Cells

Design decisions:– Realistic behavior ⇒ Physically plausible

– Large deformations ⇒ Nonlinear energy

– Robustness ⇒ Rigid cells

11

Page 15: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Adaptive Space Deformations Based on Rigid Cells

Design decisions:– Realistic behavior ⇒ Physically plausible

– Large deformations ⇒ Nonlinear energy

– Robustness ⇒ Rigid cells

– Applicability ⇒ Space deformation

11

Page 16: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Adaptive Space Deformations Based on Rigid Cells

Design decisions:– Realistic behavior ⇒ Physically plausible

– Large deformations ⇒ Nonlinear energy

– Robustness ⇒ Rigid cells

– Applicability ⇒ Space deformation

– Performance ⇒ Adaptive discretization

11

Page 17: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Deformation Pipeline

13

SpaceDeformation

Cell-BasedDeformation

VolumetricDiscretization

Page 18: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Deformation Energy

• Continuum mechanics– Strain energy defined by displacement’s gradient– Local variation of displacement causes stretching

• Discrete rigid cells– Each cell stores rigid motion Ti(x) = Ri(x) + ti– Local differences of rigid transformations

14

Page 19: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Difference of Transformations

• Frobenius norm of matrices– Geometric meaning of matrix elements?

• [Pottmann et al, 04]– Difference of images of sample points (which?)

15

!Ti "Tj!2 :=1k

k!

l=1

!Ti(xl)"Tj(xl)!2

!Ti "Tj!2 :=4!

k=1

4!

l=1

"(Ti)k,l "(Tj)k,l

#2

Page 20: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Nonlinear Energy

• Integrate over neighboring cells’ interiors

16

CiCj

Tj (Ci) Tj (Cj )Ti(Cj)

Ti(Ci)

Tj

Ti

Eij(Ti,Tj) :=!

Ci!Cj

!Ti(x)"Tj(x)!2 dx

Page 21: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Nonlinear Energy

• Integrate over neighboring cells’ interiors

• Accumulated global energy

17

E(T1, . . . ,Tn) =!

{i,j}

wij · Eij(Ti,Tj)

wij = wji =Aij

hi + hj

CjAij

hi + hjCi

ci

cj

Eij(Ti,Tj) :=!

Ci!Cj

!Ti(x)"Tj(x)!2 dx

Page 22: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

• Find rigid motion Ti per cell Ci

• Generalized shape matching [Botsch et al, SGP 06]

– Robust geometric optimization

– Nonlinear Newton-type minimization

– See paper for details...

Nonlinear Minimization

18

min{Ti}

!

{i,j}

wij

"

Ci!Cj

!Ti(x)"Tj(x)!2 dx

Page 23: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Robust Optimization

19

Page 24: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Deformation Pipeline

20

SpaceDeformation

Cell-BasedDeformation

VolumetricDiscretization

Page 25: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Volumetric Discretization

• Octree-like adaptive voxelization– Easy to implement, efficient to compute– Analytic integration

• T-junctions are no problem !

21

Ci

Cj

hi + hj

ci

cjCj

Aij

hi + hjCi

ci

cj

Page 26: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Boundary Refinement

22

Page 27: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Energy-Driven Refinement

23

Page 28: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

3D Adaptive Refinement

24

Page 29: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

3D Adaptive Refinement

24

Page 30: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

3D Adaptive Refinement

24

Page 31: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Deformation Pipeline

25

SpaceDeformation

Cell-BasedDeformation

VolumetricDiscretization

Page 32: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Deformation Interpolation

26

Final:RBF Interpolation

Preview:Averaging / Skinning

Page 33: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Deformation Interpolation

26

Final:RBF Interpolation

Preview:Averaging / Skinning

Page 34: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Deformation Pipeline

27

SpaceDeformation

Cell-BasedDeformation

VolumetricDiscretization

Page 35: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

3D Deformation

28

Page 36: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Complex Models

29

100k100k

5.5k5.5k

Page 37: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Complex Models

29

100k

5.5k

7M

5.5k

Page 38: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Shell vs. Solid

30

Primo discrete shell discrete shell+ volume constr.

83% 79% 100%

our approachwith interior cells

95%

our approachw/o interior cells

72%

Page 39: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Triangle Soup

31

14k components

Page 40: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Aliasing

32

Page 41: Adaptive Space Deformations Based on Rigid Cells · 2007-09-07 · PriMo [Botsch et al, SGP 2006] 1. Extrude triangles to prisms / cells 2. Prescribes position/orientation for cells

M. Botsch

Conclusion

33

• Physically plausible deformation energy– Shells & solids, 2D & 3D– Arbitrary convex cell arrangements– Robust geometric shape matching

• Adaptive discretization– Static and dynamic refinement

• Smooth space deformation– Meshes, triangle soups, point sets, ...

CjAij

hi + hjCi

ci

cj