Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
PriMo: Coupled Prisms for
Intuitive Surface Modeling
1
Mario Botsch, Mark Pauly, Markus Gross
ETH Zurich
Leif Kobbelt
RWTH Aachen
Surface Deformation
• Requirements– Easy and intuitive user interaction
– Large-scale deformations
– Robustness
– Efficiency
2
Surface Deformation
• Recent methods focus more on efficiency– Real-time deformations of large models
• Requires linearization– Problems with large deformations
• Split large deformations– Specify more constraints
– More user guidance required
3
Linear Techniques
4
Original VarMin Grad
Non-Linear Surface Deformation
• Use a non-linear deformation model– Too slow, complicated, instable?
• Physically plausible vs. physically correct
• Trade physical correctness for
– Computational efficiency
– Numerical robustness
5
Comparison
6
Original VarMin Grad PriMo
Outline
• Motivation
• Prism Representation
• Geometric Optimization
• Results
7
• Qualitatively emulate thin-shell behavior
• Thin volumetric layer around center surface
• Extrude polygonal prism Pi per mesh face Fi
Elastically Connected Rigid Prisms
8
• How to deform prisms?– FEM has problems if elements degenerate...
• Prevent prisms from degenerating➡ Keep them rigid
Elastically Connected Rigid Prisms
9
• Connect prisms along their faces– Non-linear elastic energy
– Measures bending, stretching, twisting, ...
Elastically Connected Rigid Prisms
10
Elastically Connected Rigid Prisms
11
• Pairwise prism energy
Eij =
!
[0,1]2
"
"fi!j(u) ! f
j!i(u)"
"
2du
Pi
Pj
fi!j(u)
fj!i(u)
Physical Interpretation
12
Pi
Pj
disc
retiz
e
Pi
Pj
Eij =
!
[0,1]2
"
"fi!j(u) ! f
j!i(u)"
"
2du
Sum of spring energies
Integral over infinitesimal spring fibres
Eij !
!
k
"
"
"
fi!j
k " fj!i
k
"
"
"
2
Elastically Connected Rigid Prisms
13
• Pairwise prism energy
• Global energy
Eij =
!
[0,1]2
"
"fi!j(u) ! f
j!i(u)"
"
2du
E =
!
{i,j}
wij · Eij , wij =!eij!
2
|Fi| + |Fj |Fj
Fi
Pi
Pj
fi!j(u)
fj!i(u)
Prism-Based Surface Deformation
14
1. Prescribes position/orientation for prisms
2. Find optimal rigid motions per prism
3. Update vertices by average prism transformations
Outline
• Motivation
• Prism Representation
• Geometric Optimization
• Results
15
• Find rigid motion (Ri, ti) per prism Pi
Non-Linear Minimization
16
min{Ri, ti}
!
{i,j}
wij
"
[0,1]2
#
#Ri fi!j(u) + ti ! Rj f
j!i(u) ! tj
#
#
2du
Pi
Pj
fi!j(u)
fj!i(u)
Continuous Shape Matching
17
min{Ri, ti}
!
{i,j}
wij
"
[0,1]2
#
#Ri fi!j(u) + ti ! Rj f
j!i(u) ! tj
#
#
2du
Pi
Pj
min{Ri, ti}
!
{i,j}
wij
!
k
"
"
"
Ri fi!j
k + ti ! Rj fj!i
k ! tj
"
"
"
2
du
disc
retiz
e
Pi
Pj
• Find rigid motion (Ri, ti) per prism Pi
• Generalized shape matching problem
– Discrete point correspondences vs. continuous face correspondences
➡ Adapt techniques for point-set registration
Non-Linear Minimization
18
min{Ri, ti}
!
{i,j}
wij
"
[0,1]2
#
#Ri fi!j(u) + ti ! Rj f
j!i(u) ! tj
#
#
2du
Iterated Local Shape Matching
• Iterate this:– Randomly pick one prism
– Optimize its position/orientation [Horn87]
• Corresponds to error diffusion– Rapidly removes high error frequencies
– Impractically slow convergence
19
minRi, ti
!
j!Ni
wij
"
[0,1]2
#
#Ri fi"j(u) + ti ! f
j"i(u)#
#
2du
Global Shape Matching [Pottmann 04]
• First order approx. of rigid motions
• Quadratic minimization wrt. velocities
• Yields affine motion Ai per prism
– Project to manifold of rigid motions
20
Ri (·) + ti ! (·) + !i " (·) + vi =: Ai (·)
min{vi, !i}
!
{i,j}
wij
"
[0,1]2
#
#Ai
$
fi!j(u)
%
! Aj
$
fj!i(u)
%#
#
2du
Global Shape Matching
• Find “closest” rigid motion– Measure distance of transformations’ images
– Another local shape matching
• Larger steps, fewer iterations– Factor 50 faster than [Pottmann02]
21
Pi
Ri P
i + ti
Ai(Pi)
Global Shape Matching
22
while not converged
{
find optimal velocities [vi,wi]
∀i: (Ri,ti) = project(vi,wi)
∀i: Pi = Ri*Pi + ti
}
Performance: ~7k prism updates per second
Hierarchical Shape Matching
• Local and global matching alone don’t work– Slow convergence of local matching
– High complexity of global matching
• Hierarchical multi-grid matching– Solve global matching on coarse level
– Apply local matching on finer levels
23
24
Robustness
Robustness
25
Outline
• Motivation
• Prism Representation
• Geometric Optimization
• Results
26
PriMoRotInvGradRBFVarMin
Dragon Deformation
27
28
Prism Parameters
Original Height Width Angle-- Angle++
29
Stiffness Control
Height
Width
Angle++
Angle--
30
Control Surface Area
Height
Width
Angle++
Angle--
31
Non-Shrinking Smoothing
Height
Width
Angle++
Angle--
32
Detail Enhancement
Height
Width
Angle++
Angle--
Force-Based Deformation
33
• Separately prescribe – positions and/or
– orientations
• Forces can be more intuitive– Physically intuitive
– Constraints = high forces
• Incorporate forces– Just another spring energy
Force-Based Deformation
34
Goblin Posing
35
• Decreased stiffness at joints
• Forces & hard constraints
• 180k triangles at about 1 fps
• Whole session < 5 min
Goblin Posing
36
Conclusion
37
• Non-linear surface deformation model– Physically plausible
– Intuitive parameters for surface behavior
– Constraint-based and force-based
• Hierarchical shape matching– Extremely robust
– Reasonably efficient
– Easy implementation