algorithms and interfaces for real-time deformation of 2d ...jacobson/images/alec... · of 2d and...
TRANSCRIPT
Algorithms and Interfaces for Real-Time Deformation of 2D and 3D Shapes
Alec Jacobson ETH Zurich
June 9, 2013
# June 9, 2013 Alec Jacobson 2
skinning deformation modeling in Maya 3d printing
analysis and manipulation creation consumption
Deformation is an important phase in the life of a shape
Image courtesy Romain Prévost
# June 9, 2013 Alec Jacobson 3
skinning deformation modeling in Maya 3d printing
analysis and manipulation creation consumption
Deformation is an important phase in the life of a shape
Image courtesy Romain Prévost
# June 9, 2013 Alec Jacobson 4
procedural constraints
User constraints drive deformation toward goal
explicit constraints
# June 9, 2013 Alec Jacobson 5
procedural constraints
User constraints drive deformation toward goal
explicit constraints
# June 9, 2013 Alec Jacobson 6
procedural constraints
User constraints drive deformation toward goal
explicit constraints
#
Deformation applies to images as planar shapes
June 9, 2013 Alec Jacobson 7
non-convex “cut-out” cartoons
entire image rectangle
#
Deformation applies to images as planar shapes
June 9, 2013 Alec Jacobson 8
non-convex “cut-out” cartoons
entire image rectangle
# June 9, 2013 Alec Jacobson 9
2D 3D
Real-time performance critical for interactive design and animation
# June 9, 2013 Alec Jacobson 10
2D 3D
Real-time performance critical for interactive design and animation
#
Real-time performance critical for interactive design and animation
June 9, 2013 Alec Jacobson 11
#
Many previous techniques provide quality, but not speed
June 9, 2013 Alec Jacobson 12
high-quality solutions to nonlinear elasticity energy minimizations: ~seconds e.g. [Botsch et al. 2006]
physically accurate muscle systems require off-line simulation e.g. [Teran et al. 2005]
Image courtesy Joseph Teran
#
Other techniques limit user interface
June 9, 2013 Alec Jacobson 13
#
Other techniques limit user interface
June 9, 2013 Alec Jacobson 14
e.g. [Ju et al. 2005]
#
Other techniques limit user interface
June 9, 2013 Alec Jacobson 15
#
Other techniques limit user interface
June 9, 2013 Alec Jacobson 16
#
Other techniques limit user interface
June 9, 2013 Alec Jacobson 17
#
Each handle type has a specific task, more than just different modeling metaphor
June 9, 2013 Alec Jacobson 18
#
Each handle type has a specific task, more than just different modeling metaphor
June 9, 2013 Alec Jacobson 19
#
Each handle type has a specific task, more than just different modeling metaphor
June 9, 2013 Alec Jacobson 20
# June 9, 2013 Alec Jacobson 21
Real-time applications deserve ample interfaces and high-quality deformations
SGP 2010 SIGGRAPH 2011 SGP 2012
# June 9, 2013 Alec Jacobson 22
Real-time applications deserve ample interfaces and high-quality deformations
SIGGRAPH Asia 2011
SGP 2010 SIGGRAPH 2011 SGP 2012
# June 9, 2013 Alec Jacobson 23
Real-time applications deserve ample interfaces and high-quality deformations
SIGGRAPH Asia 2011
SGP 2010 SIGGRAPH 2011 SGP 2012
SIGGRAPH 2012
# June 9, 2013 Alec Jacobson 24
Real-time applications deserve ample interfaces and high-quality deformations
SIGGRAPH Asia 2011
SGP 2010 SIGGRAPH 2011 SGP 2012
SIGGRAPH 2012 SIGGRAPH 2013
# June 9, 2013 Alec Jacobson 25
Real-time applications deserve ample interfaces and high-quality deformations
SIGGRAPH Asia 2011
SGP 2010 SIGGRAPH 2011 SGP 2012
SIGGRAPH 2012 SIGGRAPH 2013
# June 9, 2013 Alec Jacobson
load shape
Linear Blend Skinning has known artifacts but makes up in real-time performance
26
#
Linear Blend Skinning has known artifacts but makes up in real-time performance
June 9, 2013 Alec Jacobson
load shape place handles
27
# June 9, 2013 Alec Jacobson
load shape place handles
Linear Blend Skinning has known artifacts but makes up in real-time performance
define weights (bind time)
28
# June 9, 2013 Alec Jacobson
load shape place handles define weights
(bind time) deform shape (pose time)
Linear Blend Skinning has known artifacts but makes up in real-time performance
29
# June 9, 2013 Alec Jacobson
load shape place handles
Linear Blend Skinning has known artifacts but makes up in real-time performance
define weights (bind time)
30
Tjwj
#
Warping and deformation tasks require different user interactions
Alec Jacobson
points skeletons cages
June 9, 2013 31
#
Weights should be smooth, shape-aware, positive and intuitive
June 9, 2013 Alec Jacobson 32
#
Weights should be smooth, shape-aware, positive and intuitive
June 9, 2013 Alec Jacobson 33
#
Weights must be smooth everywhere, especially at handles
June 9, 2013 Alec Jacobson 34
our method [SIGGRAPH 2011]
extension of Harmonic Coordinates [Joshi et al. 2005]
#
Weights must be smooth everywhere, especially at handles
June 9, 2013 Alec Jacobson 35
our method [SIGGRAPH 2011]
extension of Harmonic Coordinates [Joshi et al. 2005]
# June 9, 2013 Alec Jacobson 36
Weights must be smooth everywhere, especially at handles
our method [SIGGRAPH 2011]
extension of Harmonic Coordinates [Joshi et al. 2005]
#
Shape-awareness ensures respect of domain’s features
June 9, 2013 Alec Jacobson 37
our method non-shape-aware methods e.g. [Schaefer et al. 2006]
# June 9, 2013 Alec Jacobson 38
our method non-shape-aware methods e.g. [Schaefer et al. 2006]
Shape-awareness ensures respect of domain’s features
#
Non-negative weights are mandatory
June 9, 2013 Alec Jacobson 39
our method
unconstrained biharmonic [Botsch & Kobbelt 2004]
#
Non-negative weights are mandatory
June 9, 2013 Alec Jacobson 40
our method
unconstrained biharmonic [Botsch & Kobbelt 2004]
#
unconstrained ext. of [Botsch & Kobbelt 2004]
June 9, 2013 Alec Jacobson 41
local max
local min
Spurious extrema cause distracting artifacts
#
bounded [SIGGRAPH 2011]
June 9, 2013 Alec Jacobson 42
local max
local min
Spurious extrema cause distracting artifacts
# June 9, 2013 Alec Jacobson 43
local max
local min
We explicitly prohibit spurious extrema our improved [SGP 2012]
#
Constrained optimization ensures satisfaction of all properties
June 9, 2013 Alec Jacobson 44
+ shape-aware
ext. of [Botsch & Kobbelt 2004]
argminwj , j=1,...,m
mX
j=1
kLwjk2
#
Constrained optimization ensures satisfaction of all properties
June 9, 2013 Alec Jacobson 45
+ shape-aware + smoothness + mesh independence
[SGP 2010]
argminwj , j=1,...,m
mX
j=1
Z
⌦(�wj)
2 dV
#
Constrained optimization ensures satisfaction of all properties
June 9, 2013 Alec Jacobson 46
+ shape-aware + smoothness + mesh independence+ non-negativity + locality + arbitrary handles
0 wj 1, j = 1, . . . ,m[SIGGRAPH 2011]
argminwj , j=1,...,m
mX
j=1
Z
⌦(�wj)
2 dV
#
Constrained optimization ensures satisfaction of all properties
June 9, 2013 Alec Jacobson 47
+ shape-aware + smoothness + mesh independence+ non-negativity + locality + arbitrary handles + monotonicity
[SGP 2012]
argminwj , j=1,...,m
mX
j=1
Z
⌦(�wj)
2 dV
rwj ·ruj > 0, j = 1, . . . ,m
# June 9, 2013 Alec Jacobson 48
Weights in 3D retain nice properties
Demo
# June 9, 2013 Alec Jacobson 49
Weights in 3D retain nice properties
Demo
#
Variational formulation allows additional, problem-specific constraints
June 9, 2013 Alec Jacobson 50
#
Variational formulation allows additional, problem-specific constraints
June 9, 2013 Alec Jacobson 51
# June 9, 2013 Alec Jacobson 52
Linear blending subspace is still too small
# June 9, 2013 Alec Jacobson 53
Linear blend skinning etc. are not rich enough to stretch and twist along bones
LBS our extension [SIGGRAPH Asia 2011]
# June 9, 2013 Alec Jacobson 54
Linear blend skinning etc. are not rich enough to stretch and twist along bones
LBS our extension [SIGGRAPH Asia 2011]
#
Second set of our weights expands skinning subspace
June 9, 2013 Alec Jacobson 55
#
Stretching facilitates exaggeration, a basic principle of life-like animation
June 9, 2013 Alec Jacobson 56
#
Stretching facilitates exaggeration, a basic principle of life-like animation
June 9, 2013 Alec Jacobson 57
#
Good weights alone aren’t enough to guarantee intuitive results
June 9, 2013 Alec Jacobson 58 pseudo-edges [SIGGRAPH 2011] our improved method [SIGGRAPH 2012]
#
Good weights alone aren’t enough to guarantee intuitive results
June 9, 2013 Alec Jacobson 59 pseudo-edges [SIGGRAPH 2011] our improved method [SIGGRAPH 2012]
#
Good weights alone aren’t enough to guarantee intuitive results
June 9, 2013 Alec Jacobson 60 pseudo-edges [SIGGRAPH 2011] our improved method [SIGGRAPH 2012]
#
Many previous techniques provide quality, but not speed
June 9, 2013 Alec Jacobson 61
high-quality solutions to nonlinear elasticity energy minimizations: ~seconds e.g. [Botsch et al. 2006]
physically accurate muscle systems require off-line simulation e.g. [Teran et al. 2005]
Image courtesy Joseph Teran
#
Other reduced models employ skinning, but still too slow
June 9, 2013 Alec Jacobson 62
significant performance tuning, but grid determines complexity ~milliseconds e.g. [McAdams et al. 2011]
needs examples, choice of energy complicates per-frame computation ~milliseconds e.g. [Der et al. 2006]
# June 9, 2013 Alec Jacobson 63
We achieve speeds measured in microseconds
80k triangles 20µs per iteration
# June 9, 2013 Alec Jacobson 64
We achieve speeds measured in microseconds
80k triangles 20µs per iteration
# June 9, 2013 Alec Jacobson 65
We achieve speeds measured in microseconds
80k triangles 20µs per iteration
# June 9, 2013 Alec Jacobson 66
We achieve speeds measured in microseconds
80k triangles 20µs per iteration
#
This means speed comparable to rendering
June 9, 2013 Alec Jacobson 67 30fps
#
This means speed comparable to rendering
June 9, 2013 Alec Jacobson 68 30fps
#
User specifies subset of parameters, optimize to find remaining ones
June 9, 2013 Alec Jacobson 69
full optimization
mesh vertex positions
#
User specifies subset of parameters, optimize to find remaining ones
June 9, 2013 Alec Jacobson 70
full optimization
reduced model
skinning degrees of freedom
#
User specifies subset of parameters, optimize to find remaining ones
June 9, 2013 Alec Jacobson 71
full optimization
reduced model
matrix form
#
User specifies subset of parameters, optimize to find remaining ones
June 9, 2013 Alec Jacobson 72
full optimization
reduced model
matrix form
reduced optimization
#
Enforce user constraints as linear equalities
June 9, 2013 Alec Jacobson 73
user constraints
reduced optimization
full
position only
unconstrained
#
Enforce user constraints as linear equalities
June 9, 2013 Alec Jacobson 74
user constraints
reduced optimization
full
position only
unconstrained
#
We reduce any as-rigid-as-possible energy
June 9, 2013 Alec Jacobson 75
full energies
#
We reduce any as-rigid-as-possible energy
June 9, 2013 Alec Jacobson 76
full energies
triangles [Liu et al. 2008]
“spokes” [Sorkine & Alexa 2007]
“spokes and rims” [Chao et al. 2010]
tetrahedra [Chao et al. 2010]
#
global step: fix , minimize with respect to
We reduce any as-rigid-as-possible energy
June 9, 2013 Alec Jacobson 77
full energies
V0R
local step: fix , minimize with respect to RV0
local/global optimization
#
global step: large, sparse linear solve
We reduce any as-rigid-as-possible energy
June 9, 2013 Alec Jacobson 78
full energies
local step: fix , minimize with respect to RV0
local/global optimization
V0 = A�1b
precompute
#
We reduce any as-rigid-as-possible energy
June 9, 2013 Alec Jacobson 79
full energies
local step: 3x3 SVD for each rotation in R
local/global optimization
global step: large, sparse linear solve V0 = A�1b
#
global step: small, dense linear solve
We reduce any as-rigid-as-possible energy
June 9, 2013 Alec Jacobson 80
full energies
local step: 3x3 SVD for each rotation in R
local/global optimization precompute
similar to: [Huang et al. 06] [Der et al. 06] [Au et al. 07] [Hildebrandt et al. 12]
substitute
T = A�1b
#
Direct reduction of elastic energies brings speed up and regularization…
June 9, 2013 Alec Jacobson 81
#
Direct reduction of elastic energies brings speed up and regularization…
June 9, 2013 Alec Jacobson 82
full ARAP solution
#
Direct reduction of elastic energies brings speed up and regularization…
June 9, 2013 Alec Jacobson 83
full ARAP solution
our smooth subspace solution
#
local step: 3x3 SVD for each rotation in
global step: small, dense linear solve
We reduce any as-rigid-as-possible energy
June 9, 2013
but #rotations ~ full mesh discretization
Alec Jacobson 84
full energies
local/global optimization
substitute
R
T = A�1b
#
local step: 3x3 SVD for each rotation in
global step: small, dense linear solve
local/global optimization
substitute
R
T = A�1b
We reduce any as-rigid-as-possible energy
June 9, 2013 Alec Jacobson 85
full energies
Cluster
Ek
#
Rotation evaluations may be reduced by clustering in weight space
June 9, 2013 Alec Jacobson 86
full energies
triangles [Liu et al. 2008]
“spokes” [Sorkine & Alexa 2007]
“spokes and rims” [Chao et al. 2010]
tetrahedra [Chao et al. 2010]
#
Rotation evaluations may be reduced by k-means clustering in weight space
June 9, 2013 Alec Jacobson 87
full energies
xj =
2
6664
w1(vj)w2(vj)
...wm(vj)
3
7775
weight space
#
Rotation evaluations may be reduced by clustering in weight space
June 9, 2013 Alec Jacobson 88
full energies
#
Rotation evaluations may be reduced by clustering in weight space
June 9, 2013 Alec Jacobson 89
full energies
r = 2 r = 4 r = 64
#
#rotations ~ #T, independent of full mesh resolution
local step: 3x3 SVD for each rotation in
global step: small, dense linear solve
local/global optimization
substitute
R
T = A�1b
We reduce any as-rigid-as-possible energy
June 9, 2013 Alec Jacobson 90
full energies
Cluster
Ek
#
With more and more user constraints we fall back to standard skinning
June 9, 2013 Alec Jacobson 91
#
With more and more user constraints we fall back to standard skinning
June 9, 2013 Alec Jacobson 92
#
With more and more user constraints we fall back to standard skinning
June 9, 2013 Alec Jacobson 93
#
no extra weights
Extra weights expand deformation subspace
June 9, 2013 Alec Jacobson 94
15 extra weights
#
no extra weights
Extra weights expand deformation subspace
June 9, 2013 Alec Jacobson 95
15 extra weights
#
Subspace now rich enough for fast variational modeling
June 9, 2013 Alec Jacobson 96 full non-linear optimization
[Botsch et al. 2006]
our reduced method
#
Subspace now rich enough for fast variational modeling
June 9, 2013 Alec Jacobson 97 full non-linear optimization
[Botsch et al. 2006]
our reduced method
#
Subspace now rich enough for fast variational modeling
June 9, 2013 Alec Jacobson 98 full non-linear optimization
[Botsch et al. 2006]
our reduced method
#
Subspace now rich enough for fast variational modeling
June 9, 2013 Alec Jacobson 99 full non-linear optimization
[Botsch et al. 2006]
our reduced method
#
Subspace now rich enough for fast variational modeling
June 9, 2013 Alec Jacobson 100 full non-linear optimization
[Botsch et al. 2006]
our reduced method
#
Subspace now rich enough for fast variational modeling
June 9, 2013 Alec Jacobson 101 full non-linear optimization
[Botsch et al. 2006]
our reduced method
#
Extra weights and disjoint skeletons make flexible control easy
June 9, 2013 Alec Jacobson 102
From Cartoon Animation by Preston Blair
# June 9, 2013 Alec Jacobson 103
Extra weights and disjoint skeletons make flexible control easy
# June 9, 2013 Alec Jacobson 104
Extra weights and disjoint skeletons make flexible control easy
# June 9, 2013 Alec Jacobson 105
Demo
Physical dynamics also benefit from our reduction
# June 9, 2013 Alec Jacobson 106
Demo
Physical dynamics also benefit from our reduction
#
Our reduction preserves nature of different energies, at no extra cost
June 9, 2013 Alec Jacobson 107
Surface ARAP Volumetric ARAP
V0surf = MsurfT V0
vol
= Mvol
T
#
Our reduction preserves nature of different energies, at no extra cost
June 9, 2013 Alec Jacobson 108
Surface ARAP Volumetric ARAP
V0surf = MsurfT V0
vol
= Mvol
T
# June 9, 2013 Alec Jacobson 109
Volumetric deformation differs drastically from surface-based
# June 9, 2013 Alec Jacobson 110
Volumetric deformation differs drastically from surface-based
#
Surface artifacts prevent volume meshing, prevent volumetric processing
June 9, 2013 Alec Jacobson 111
#
Continuous winding number for watertight surfaces generalizes to unclean triangle meshes
June 9, 2013 Alec Jacobson 112
w(p) =1
4⇡
ZZ
S
sin(�)d✓d�
w(p) =1
4⇡
mX
f=1
⌦f
[SIGGRAPH 2013]
#
Generalized winding number is ideal indicator for graphcut segmentation of convex hull
June 9, 2013 Alec Jacobson 113
w(p) =1
4⇡
ZZ
S
sin(�)d✓d�
w(p) =1
4⇡
mX
f=1
⌦f
[SIGGRAPH 2013]
# June 9, 2013 Alec Jacobson 114
Each advance inspires new improvements, new interfaces
SIGGRAPH Asia 2011
SGP 2010 SIGGRAPH 2011 SGP 2012
SIGGRAPH 2012 SIGGRAPH 2013
#
We derive a powerful subspace via input shape and handle descriptions
● Intrinsics from shape’s geometry ● Semantics from handles ● Fully automatic ● New interfaces ● Real-time as an invariant
June 9, 2013 Alec Jacobson 115
#
Future outlook
● More semantics: large data, collisions, etc.
June 9, 2013 Alec Jacobson 116
#
Future outlook
● More semantics: large data, collisions, etc. ● Physical interfaces
June 9, 2013 Alec Jacobson 117
#
Acknowledgements Coauthors: Ladislav Kavan, Ilya Baran, Jovan Popović, Kaan Yücer, Alex Sorkine-Hornung, Tino Weinkauf, Denis Zorin, Olga Sorkine-Hornung Colleagues at NYU and ETH Friends and family This thesis was supported in part by NSF award IIS-0905502, ERC grant iModel (StG-2012-306877), SNF award 200021_137879, the Intel Doctoral Fellowship and a gift from Adobe Systems.
June 9, 2013 Alec Jacobson 118
Algorithms and Interfaces for Real-Time Deformation of 2D and 3D Shapes
Alec Jacobson [email protected]
June 9, 2013
Papers, videos, code: people.inf.ethz.ch/~jalec/
#
Weights should be smooth everywhere, especially at handles
June 9, 2013 Alec Jacobson #121
Our method Extension of Harmonic Coordinates [Joshi et al. 2005]
#
Open cages allow arbitrary line constraints
June 9, 2013 Alec Jacobson 122
#
Sparsity helps maintain local influence
June 9, 2013 Alec Jacobson #123
Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]
Our method
#
Sparsity helps maintain local influence
June 9, 2013 Alec Jacobson #124
Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]
Our method
#
Sparsity helps maintain local influence
June 9, 2013 Alec Jacobson #125
Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]
Our method
#
Sparsity helps maintain local influence
June 9, 2013 Alec Jacobson #126
Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]
Our method
#
Sparsity helps maintain local influence
June 9, 2013 Alec Jacobson #127
Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]
Our method
#
Sparsity helps maintain local influence
June 9, 2013 Alec Jacobson #128
Smoothed extension of Harmonic Coordinates [Joshi et al. 2005]
Our method
#
Boundedness also helps maintain local influence
June 9, 2013 Alec Jacobson #129
Unconstrained biharmonic [Botsch and Kobbelt 2004]
#
Boundedness also helps maintain local influence
June 9, 2013 Alec Jacobson #130
Unconstrained biharmonic [Botsch and Kobbelt 2004]
Our method
#
Spurious local maxima also cause unintuitive response
June 9, 2013 Alec Jacobson #131
Our method
Extension of unconstrained biharmonic [Botsch and Kobbelt 2004]
#
Weights propagate transformations at handles to shape in real-time
June 9, 2013 Alec Jacobson #132
Translate Rotate Scale
#
Dropping partition of unity as explicit constraint does not effect quality
June 9, 2013 Alec Jacobson #133
0.015
0.000
0.010
0.005
original weights faster weights
#
Weights may also define an intuitive, shape-aware depth ordering in 2D
June 9, 2013 Alec Jacobson #134
z z
#
Weights may also define an intuitive, shape-aware depth ordering in 2D
June 9, 2013 Alec Jacobson #135
#
Rotations at point handles may be computed automatically based on translations
June 9, 2013 Alec Jacobson #136
#
Alternative skinning methods may also take advantage of bounded biharmonic weights
June 9, 2013 Alec Jacobson #137
Linear blend skinning Dual quaternion skinning
# June 9, 2013 Alec Jacobson 138
Same weights can interpolate colors
x
0 =HX
j=1
wj(xi)Tjxi
# June 9, 2013 Alec Jacobson 139
Same weights can interpolate colors
ci =HX
j=1
wj(xi)cj
# June 9, 2013 Alec Jacobson 140
unconstrained [Finch et al. 2011]
Same functions used for color interpolation
Image courtesy Mark Finch
ci =HX
j=1
wj(xi)cj
# June 9, 2013 Alec Jacobson 141
unconstrained [Finch et al. 2011]
Same functions used for color interpolation
ci =HX
j=1
wj(xi)cj
# June 9, 2013 Alec Jacobson 142
unconstrained [Finch et al. 2011]
Same functions used for color interpolation Our [SGP 2012]
ci =HX
j=1
wj(xi)cj
# June 9, 2013 Alec Jacobson 143
Without constraints, biharmonic unintuitively interpolates colors
Unconstrained Δ2 [Finch et al. 2011]
Our extended method [SGP 2012]
#
Skinning weights tether optimization over multiple-component meshes
June 9, 2013 Alec Jacobson 144
#
Skinning weights tether optimization over multiple-component meshes
June 9, 2013 Alec Jacobson 145
Our skinning-based method Mesh-energy methods e.g. Igarashi et al. 2004, Sumner et al. 2005, Botsch et al. 2006, Sorkine and Alexa 2007, Shi et al. 2007, Solomon et al. 2011
#
Extrema distort small features
June 9, 2013 Alec Jacobson 146
Unconstrained [Botsch & Kobbelt 2004]
weight of middle point
#
Deformation applies to images as planar shapes
June 9, 2013 Alec Jacobson 147
non-convex “cut-out” cartoons
entire image rectangle
#
Extra weights would expand subspace…
June 9, 2013 Alec Jacobson 148
#
Extra weights would expand subspace…
June 9, 2013 Alec Jacobson 149
#
Extra weights would expand subspace…
June 9, 2013 Alec Jacobson 150
#
Real-time automatic degrees of freedom
June 9, 2013 Alec Jacobson 151
#
Overlapping b-spline “bumps” in weight space
June 9, 2013 Alec Jacobson 152
farthest point sampling
xj =
2
6664
w1(vj)w2(vj)
...wm(vj)
3
7775
weight space
#
Overlapping b-spline “bumps” in weight space
June 9, 2013 Alec Jacobson 153
b-spline basis parameterized by distance in weight space
in weight space
xj =
2
6664
w1(vj)w2(vj)
...wm(vj)
3
7775
weight space
#
Overlapping b-spline “bumps” in weight space
June 9, 2013 Alec Jacobson 154
b-spline basis parameterized by distance in weight space
in weight space
xj =
2
6664
w1(vj)w2(vj)
...wm(vj)
3
7775
weight space
#
Final algorithm is simple and FAST
June 9, 2013 Alec Jacobson 155
Precomputation per shape+rig - Compute any additional weights - Construct, prefactor system matrices
For a 50K triangle mesh: 12 seconds
2.7 seconds
#
Final algorithm is simple and FAST
June 9, 2013 Alec Jacobson 156
Precomputation per shape+rig - Compute any additional weights - Construct, prefactor system matrices
Precomputation when switching constraint type - Re-factor global step system
For a 50K triangle mesh: 12 seconds
2.7 seconds
6 milliseconds
#
Final algorithm is simple and FAST
June 9, 2013 Alec Jacobson 157
Precomputation per shape+rig - Compute any additional weights - Construct, prefactor system matrices
Precomputation when switching constraint type - Re-factor global step system
~30 iterations global: #weights by #weights linear solve local: #rotations SVDs
For a 50K triangle mesh: 12 seconds
2.7 seconds
6 milliseconds
22 microseconds
[McAdams et al. 2011]
#
Simple drag-only interface for point handles
June 9, 2013 Alec Jacobson 158
#
Extrema distort small features
June 9, 2013 Alec Jacobson 159
Bounded [Jacobson et al. 2011]
weight of middle point
#
“Monotonicity” helps preserve small features
June 9, 2013 Alec Jacobson 160
Bounded [Jacobson et al. 2011]
Our
#
Spurious extrema are unstable, may “flip”
June 9, 2013 Alec Jacobson 161
slightly larger region
#
Spurious extrema are unstable, may “flip”
June 9, 2013 Alec Jacobson 162
slightly larger region
#
Spurious extrema are unstable, may “flip”
Unconstrained [Botsch & Kobbelt, 2004]
#
Spurious extrema are unstable, may “flip”
Bounded
#
Lack of extrema leads to more stability
Our
#
In 2D, stretching manipulates foreshortening
June 9, 2013 Alec Jacobson 166
LBS with rigid bones STBS with stretchable bones
#
Behavior depends heavily on parameterization and boundary conditions
June 9, 2013 Alec Jacobson 167
!x = 0 !2x = 0 !3x = 0
#
Behavior depends heavily on parameterization and boundary conditions
June 9, 2013 Alec Jacobson 168
!x = 0 !2x = 0 !3x = 0Straight Tube Boundary Conditions
Torus Boundary Conditions (but connected to straight tubes)
Parameter Domain
#
Behavior depends heavily on parameterization and boundary conditions
June 9, 2013 Alec Jacobson 169
!x = 0 !2x = 0 !3x = 0Straight Tube Boundary Conditions
Torus Boundary Conditions (but connected to straight tubes)
Parameter Domain
#
Traditional winding number determines amount of insideness
June 9, 2013 Alec Jacobson 170
0
1
#
Traditional winding number determines amount of insideness
June 9, 2013 Alec Jacobson 171
1
0
0
0
1
-1
0
0
1 2
1
0
#
Winding number jumps across boundaries, harmonic otherwise
June 9, 2013 Alec Jacobson 172
1
0
½
-½
2
1½
#
Winding number jumps across boundaries, harmonic otherwise
June 9, 2013 Alec Jacobson 173
1
0
½
-½
2
1½
#
Sum of harmonic functions is harmonic
June 9, 2013 Alec Jacobson 174
+ +=+ =+1
0½
-½
#
Winding number gracefully tends toward indicator function
June 9, 2013 Alec Jacobson 175
1
0
½
-½
#
Hierarchical evaluation performs asymptotically better
June 9, 2013 Alec Jacobson 176
ï�
ï�
ï�
0
Winding number computation time (subdivided Dino)
Seconds
Naive
Hierarchical
Number of input facets, m
1e0
1e-3
1e-2
1e-2
1e3 1e61e51e4 1e7
#
Hierarchical evaluation performs asymptotically better
June 9, 2013 Alec Jacobson 177
Winding number computation time (SHREC Dataset)
Seconds
1e-2
1e-4
1e-3
Naive
Hierarchical
Number of input facets, m1e2 1e51e41e3