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

Upload: others

Post on 14-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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