SlideShare a Scribd company logo




Mesh Shape Editing



Computer Animation and Visualisation



Lecture 14
Taku Komura
Today
– Laplacian mesh editing
– As-rigid-as possible shape interpolation
– Deformation transfer
– Generalized Barycentric Coordinates
Editing shapes
• For animating rigid/articulated objects, we can
use previous techniques like skinning
• Let’s think of animating cloths, clay, rubber, soft
tissues, dolls, etc
Editing shapes
• Usually, it is easier to edit a given shape rather
than modeling it from the beginning
• What is important when editing shapes?
• Keeping the local information unchanged
–For faces, the relative location of the eyes,
nose, and mouth must be similar to the
original mesh
• As-rigid-as possible
• Laplacian coordinates
Surface Editing
• Must
– Be fast (interactive rate)
– Preserving the details
– > Differential coordinates – Laplacian coordinates
– Linear, invariant to scale, rotation [Sorkine ’04]
Laplacian coordinates
• Assuming all polygons are
split into triangles
• Every vertex vi is surrounded
by a group of vertices Ni
• Coordinate i will be
represented by the difference
between vi and the average of
its neighbors
• The transformation between
the Laplacian coordinates and
the original vertices is linear
Laplacian coordinates (2)
• Suppose the new position of the vertices are v'i
• We want to keep the Laplacian coordinates the same after the
deformation
• T is a homogeneous transformation of scaling, rotation, and
translation
Laplacian coordinates (3)
• We also want to constrain the position of some
points (keeping vi’ close to ui)
• After all, we need to minimize the following
function
• This becomes a simple quadratic optimization
problem
9
Solving a quadratic problem
Rewriting this problem, it becomes like
min || c - A x ||
The optimal x can be computed by solving
AA x = A c
2
x
T T
Editing Surfaces by Keeping the Details
• The user specifies the region of interest (ROI)
(the area to be edited)
• The user directly moves some of the vertices
• The rest of ROI is decided by minimizing the
error function
Some more …
http://www.youtube.com/watch?v=Yn3P4EK8sYE&feature=channel_page
It is possible to add more constraints
• Sometimes the shape might shrink as we allow
scaling for the transformation
• It might be better to keep the volume the same
Creating a Volumetric Graph
• Add internal vertices and edges
• Compute and preserve the details for the internal structure
Some Results
Today
– Laplacian mesh editing
– As-rigid-as possible shape interpolation
– Deformation Transfer
– Generalized Barycentric Coordinates
What if we want to interpolate
different shapes?
– Not editing the shapes but need to morph it to
the target shape
As-Rigid-As Possible Shape
Interpolation [Alexa ’00]
• Interpolating the shapes of the two polygons
so that each triangle (2D) / tetrahedron (3D)
transformation appears as rigid as possible
Interpolating the shapes of triangles
Represent the interpolation of triangles by
rotation & scaling
• linear interpolation
• rotation & scaling
19
Background Knowledge:

2x2 matrix
Scaling
Rotation
A
A
20
Transformation by 2x2 Matrix
If the matrix is symmetric, can be decomposed as
A = R Λ RT
, R orthogonal, where Λ scaling matrix
(true if A is symmetric)
The eigenvectors of A are the axes of the ellipse
A
21
Geometric analysis of linear transformations
If the matrix is symmetric, can be decomposed as
A = R Λ RT
, R orthogonal (true if A is symmetric)
The eigenvectors of A are the axes of the ellipse
R
RT
Λ
22
General linear transformations: 

Singular Value Decomposition (SVD)
In general A will also contain rotations, not just scales:
A
1 1
σ2
σ1
T
A U V
= ∑
23
General Transformation : SVD
U
VT
Σ
T
A U V
= ∑
Back to ARAP Deformation

Least-Distorting Triangle-to-Triangle Morphing

• Say the three vertices P=(p1,p2,p3) are
morphed to Q=(q1,q2,q3)
We want to compute a transformation that
produces (q2-q1, q3-q1)=A (p2-p1, p3-p1)
• We can apply SVD to compute the scaling and
rotation part.
• A = R S
rotation
scaling
S
R
Interpolation of the transformation matrix
The intermediate vertices will be computed by
V(t)=A(t) P
A is decomposed into the rotation part R(t) and
scaling part and S.
Keeping the transformation similar
to A{i,j,k}
• We cannot just interpolate all the triangles
independently
• We need to move the vertices, not the triangles
• A vertex configuration that minimizes the error
between A and B is computed
Some 2D results
3D objects
• The method is applicable to polyhedra
• Tetrahedralization is applied to polyhedra and
the tetrahedra are morphed so that they are as
rigid as possible
More results
As-rigid-as possible shape
manipulation [Igarashi et al. 05]
• interactive manipulation of characters based on
the “as-rigid-as-possible” concept
• http://www-ui.is.s.u-tokyo.ac.jp/~takeo/research/rigid/index.html
• http://www.youtube.com/watch?v=1M_oyUEOHK8
Today
– Laplacian mesh editing
– As-rigid-as possible shape interpolation
– Deformation transfer
– Generalized Barycentric Coordinates
32
Deformation Transfer
A standard approach to apply the deformation of
one object to another
Deformation Transfer fo
Triangle Meshe
a Paper (SIGGRAPH 2004) by Robert W. Sumner & Jovan Pop
presented by Roni Oesch
Source deformed Target deformed
Deformation
Transfer
33
What does it do?
Given a source mesh in a reference pose and
several deformations of it:
Given another mesh, called Target in same reference
pose:
Roni Oeschger, Nov. 2005
3
What is it all about?
• Given a source mesh in a reference pose and
several deformations of it:
• Given another mesh, called Target in same
reference pose:
3
What is it all about?
• Given a source mesh in a reference pose and
several deformations of it:
• Given another mesh, called Target in same
reference pose:
34
What does it do?
Transfer the deformation to the target
Reuse the deformation that was created with
probably a lot of effort
Roni Oeschger, Nov. 2005
4
What is it all about?
• Transfer the deformations to the target:
• Reuse of deformations which were probably
created with a lot of effort
35
No need of Skeleton
Deformation Transfer is purely
mesh-based
No need for an underlying
skeleton structure
Deformation Transfer
• Deformation Transfer is
purely mesh-based
• No need for an underlying
skeleton structure
36
Not skeletal-driven deformations
– non-rigid or facial deformations etc
Roni Oeschger, Nov. 2005
8
Wider Area of Application
• Not skeletal-driven deformations
– non-rigid or facial deformations etc.
Roni Oeschger, Nov. 2005
8
Wider Area of Application
• Not skeletal-driven deformations
– non-rigid or facial deformations etc.
37
Approach
Compute the deformation Q for every
source triangle (orientation, scale, skew)
• Apply Q to the corresponding target
triangles
38
Approach
Deformation based on per-triangle
affine transformation
Roni Oeschger, Nov. 2005
12
Deformation Details
• Deformation based on per-triangle affine
transformation
Qv1 + d = v1
v1
Source
v1
Deformed Source
39
Deformation Gradient
“Deformation Gradient” Q depends on
– triangle in reference pose

– triangle in deformed pose
12
Deformation Details
• Deformation based on per-triangle affine
transformation
Qv1 + d = v1
v1
Source
v1
Deformed Source
40
Computing the Deformation
Gradient
• Let vi and vi, i ∈ 1...3, be the undeformed and
deformed vertices of the triangle
• We compute a fourth undeformed vertex as
• The deformation gradient can be then computed by
n these
l lattice
olve for
1992].
ly sized
vertices
locally
global
nds the
terpola-
hape by
ow that
transfer
mendous
mplexity
ons that
n anal-
mesh T,
n T and
form of
curves
exhibited by the source deformation onto the target. We represent
the source deformation as a collection of affine transformations tab-
ulated for each triangle of the source mesh. We use this represen-
tation because the non-translational portion of each affine transfor-
mation encodes the change in orientation, scale, and skew induced
by the deformation on the triangle. However, the three vertices of
a triangle before and after deformation do not fully determine the
affine transformation since they do not establish how the space per-
pendicular to the triangle deforms. To resolve this issue, we add a
fourth vertex in the direction perpendicular to the triangle. Let vi
and ṽi, i ∈ 1...3, be the undeformed and deformed vertices of the
triangle, respectively. We compute a fourth undeformed vertex as
v4 = v1 +(v2 −v1)×(v3 −v1)/
!
|(v2 −v1)×(v3 −v1)| (1)
and perform an analogous computation for ṽ4. We scale the cross-
product by the reciprocal of the square root of its length since
this causes the perpendicular direction to scale proportional to the
length of the triangle edges.
An affine transformation defined by the 3×3 matrix Q and dis-
placement vector d, which, for notational convenience, we write as
Q+d, transforms these four vertices as follows:
Qvi +d = ṽi, i ∈ 1...4. (2)
r d, which, for notational convenience, we write as
ms these four vertices as follows:
Qvi +d = ṽi, i ∈ 1...4. (2)
e first equation from the others to eliminate d and
matrix form treating the vectors as columns, we get
V = [v2 −v1 v3 −v1 v4 −v1]
Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1]
. (3)
xpression for Q is given by
Q = ṼV−1
. (4)
ended shape by
We show that
red for transfer
has tremendous
ical complexity
ify regions that
sed as an anal-
target mesh T,
between T and
S′. This form of
een two curves
plies in the spe-
is a continuous
ry relationship.
f the source de-
mation transfer
source and tar-
et meshes with
ion uses a neu-
the T-pose.
v4 = v1 +(v2 −v1)×(v3 −v1)/
!
|(v2 −v1)×
and perform an analogous computation for ṽ4. We
product by the reciprocal of the square root of
this causes the perpendicular direction to scale pro
length of the triangle edges.
An affine transformation defined by the 3×3 m
placement vector d, which, for notational convenie
Q+d, transforms these four vertices as follows:
Qvi +d = ṽi, i ∈ 1...4.
If we subtract the first equation from the others to
rewrite them in matrix form treating the vectors as
QV = Ṽ where
V = [v2 −v1 v3 −v1 v4 −v1]
Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1]
.
A closed form expression for Q is given by
~
41
What happens if we apply Q to the
target mesh?
Roni Oeschger, Nov. 2005
3
What is it all about?
• Given a source mesh in a reference pose and
several deformations of it:
• Given another mesh, called Target in same
reference pose:
Roni Oeschger, Nov. 2005
3
What is it all about?
• Given a source mesh in a reference pose and
several deformations of it:
• Given another mesh, called Target in same
reference pose: Roni Oeschger, Nov. 2005
12
Deformation Details
• Deformation based on per-triangle affine
transformation
Qv1 + d = v1
v1
Source
v1
Deformed Source
?
42
Resulting Meshes
Leads to holes in the resulting mesh(B)
Because each triangle is transformed
independently…
Resulting Meshes
• Leads to holes in the resulting mesh (B)
• Used representation affords too many degrees
of freedom Q
43
Consistency needed
• Preservation of consistency leads to a optimization
problem:
Roni Oeschger, Nov. 2005
15
Minimization Problem
Preservation of con-
sistency leads to a
optimization problem:
44
Vertex Optimization
• Use the vertices as the variables
• Optimize the vertex locations such that the
• deformation gradient of the source S and
• deformation gradient of the target T are as
similar as possible
• We solve the following quadratic problem:
To a
Given this definition, we rewrite the minimization pro
min
ṽ1...ṽn
|M|
∑
j=1
!
!Ssj −Ttj
!
!2
F
.
Since the target transformations are defined in terms o
45
Vertex Optimization (2)
Remember deformation gradient is computed by
V is known, V is unknown for T
So T is linear with respect to V
Thus the following equation is a quadratic
optimization problem with respect to V
To a
Given this definition, we rewrite the minimization pro
min
ṽ1...ṽn
|M|
∑
j=1
!
!Ssj −Ttj
!
!2
F
.
Since the target transformations are defined in terms o
wo curves
n the spe-
ontinuous
ationship.
ource de-
n transfer
e and tar-
shes with
es a neu-
-pose.
skeleton-
ue known
Qvi +d = ṽi, i ∈ 1...4.
If we subtract the first equation from the others to elimin
rewrite them in matrix form treating the vectors as colum
QV = Ṽ where
V = [v2 −v1 v3 −v1 v4 −v1]
Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1]
.
A closed form expression for Q is given by
Q = ṼV−1
.
2
6)
h
),
-
s
-
et
transformed to the same location.
For each target triangle, we add a fo
(Equation 1) and write the non-translatio
transformation in terms of the undeforme
T = ṼV−1. The elements of V−1 depe
formed vertices of the target shape. The e
ordinates of the unknown deformed vertic
T are linear combinations of the coordin
formed vertices.
3
̃
̃
̃
46
Vertex Optimization (3)
Rewriting this problem, it becomes like
where x are the unknowns (components of v),
the rest are known
We can solve this kind of problem by solving a
linear equation
tices themselves and the continuity constraints are implicitly s
fied. Positional vertex constraints can be enforced by simply t
ing a vertex as a constant rather than as a free variable.
The solution to this optimization problem is the solution
system of linear equations. Rewriting the problem in matrix f
yields
min
ṽ1...ṽn
||c−Ax̃||2
2
where x̃ is a vector of the unknown deformed vertex locations
a vector containing entries from the source transformations, an
is a large, sparse matrix that relates x̃ to c. Setting the gradie
the objective function to zero gives the familiar normal equatio
AT
Ax̃ = AT
c
The entries in A depend only on the target mesh’s undeformed
tex locations. Furthermore, the system is separable in the sp
dimension of the vertices. Thus, for each source/target pair
compute and store the LU factorization of ATA only once. R
m of linear equations. Rewriting the problem
s
min
ṽ1...ṽn
||c−Ax̃||2
2
e x̃ is a vector of the unknown deformed vert
ctor containing entries from the source transfo
arge, sparse matrix that relates x̃ to c. Settin
bjective function to zero gives the familiar no
AT
Ax̃ = AT
c
entries in A depend only on the target mesh’s
ocations. Furthermore, the system is separab
~
̃
47
Deformation Transfer : Results
http://people.csail.mit.edu/sumner/research/deftransfer/
Taku Komura
Designing shapes, edit
Today
– Laplacian mesh editing
– As-rigid-as possible shape interpolation
– Deformation Transfer
– Generalized Barycentric Coordinates
Barycentric Coordinates

Given a polygon with N vertices, the barycentric
coordinates is a N dimensional vector
We can use it to represent a position in the space with
respect to the N points of the polygon
We can also use it to interpolate attribute values defined
at the N vertices of the polygon
Interpolation
Geometric interpolation – derive the global
coordinates for a position in parametric cell
space
Attribute interpolation – derive the attribute
value for a position defined in parametric
cell space
are called barycentric coordinates
Demo
v
p1
p2 p3
p4
p5
v
f1
f2 f3
f4
p5
f(v)
http://www.lidberg.se/math/shapetransforms/barycentric.html
Barycentric Coordinates

Applications

Surface Deformation
Control Mesh Surface Computing Weights Deformation
216 triangles 30,000 triangles 1.9 seconds 0.03 seconds
Applications

Surface Deformation
Control Mesh Surface Computing Weights Deformation
98 triangles 96,966 triangles 3.3 seconds 0.09 seconds
Applications

Boundary Value Problems
Applications

Solid Textures
Interpolating the texture coordinates
Extend texture to interior
How to compute the barycentric
coordinates for each point?
x
p0
p1
p2
p3
p4
p5
r
s
Wachspress coordinates
http://www.lidberg.se/math/shapetransforms/wachspress.html
Mean Value Coordinates
A good and smooth barycentric coordinates
that can smoothly interpolate the boundary
values
Also works well for concave polygons
There is also a 3D version
Comparison
[Wachspress 1975]
Mean Value Coordinates
[Floater 2003, Hormann 2004]
Previous Work
[Wachspress 1975]
Mean Value Coordinates
[Floater 2003, Hormann 2004]
Previous Work
[Wachspress 1975]
Mean Value Coordinates
[Floater 2003, Hormann 2004]
Previous Work
[Wachspress 1975]
Mean Value Coordinates
[Floater 2003, Hormann 2004]
Application:

Surface Deformation
pi
v
Application:

Surface Deformation
pi
v
Application:

Surface Deformation
̂v=
∑ wi ̂pi
∑ wi
̂pi
pi
v
̂v
Application:

Surface Deformation
v
pi
̂v=
∑ wi ̂pi
∑ wi
̂v
̂pi
Interpolation : problem polygon
http://www.youtube.com/watch?v=egf4m6zVHUI
Harmonic Coordinates
The problem with Mean Value Coordinates is that
their values are affected by the Euclidean
distance but not the distance that needs to be
travelled
Affected by geometrically close points
Harmonic Scalar Field
– The value depends on the distance travelled
inside the polygon
Not affected by the Euclidean distance but the
geodesic distance
Harmonic Coordinates :

Procedure
- For each vertex i of the cage, set the potential
value of vi to 1, and the rest to 0
- Compute the potential for all the points inside
the the polygon (pi) by solving a Laplace
equation (as taught in Lecture 12)
(p1, p2, ...., pn) is the harmonic coordinates
for each point after normalization
The global position of the point can be expressed
in the form
P = p1 v1 + p2 v2 + … + pn vn
Harmonic Coordinates:

comparison
Barycentric Coordinates

Summary
Triangulation / Tetrahedralization
Only C0 continuous at the boundaries
Wachspress coordinates
Can only handle convex objects
Mean value coordinates
Can handle concave objects well to some extent
Values affected by geometrically close control points
Defined outside the polygon too
Harmonic Coordinates
Can handle concave objects well
Only defined inside the polygon
Summary
Modelling surfaces
• Deforming surfaces
– Laplacian Coordinates
– As-rigid-as possible shape interpolation
• Generalized Barycentric Coordinates
Readings
• Alexa et al. “As-rigid-as-possible shape interpolation SIGGRAPH ’00
• Deformation Transfer for Triangle Mesh, Sumner et al. SIGGRAPH 2004
• Igarashi et al. “As-rigid-as-possible shape manipulation”, SIGGRAPH ‘05
• O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel,
“Laplacian Surface Editing”, Eurographics Symposium on Geometry
Processing (2004)
• Large Mesh Deformation Using the Volumetric Graph Laplacian
Kun Zhou, Jin Huang, John Snyder, Xinguo Liu, Hujun Bao, Baining Guo,
Heung-Yeung Shum. ACM SIGGRAPH 2005, 496-503.
• Harmoinc Coordinates for Character Articulation: Joshi et al. SIGGRAPH
2007
• Mean Value Coordinates for Closed Triangular Meshes, Ju et al. SIGGRAPH
2005

More Related Content

PDF
Elhabian_curves10.pdf
PPT
Transformations
PPT
Lecture 9-online
PPT
lecture-9-online WORK PART UNIFORMITY IN
PPT
lecture-9-online.pptVHVHJBJBJBBJBJBBBBBHHBH
PDF
DETAILED CURVE REPRESENTATION WITH EXAMPLES
PPT
GeometricTransformations.ppt
PPT
robotkinematics-16092vsdfva sdaf7173439.ppt
Elhabian_curves10.pdf
Transformations
Lecture 9-online
lecture-9-online WORK PART UNIFORMITY IN
lecture-9-online.pptVHVHJBJBJBBJBJBBBBBHHBH
DETAILED CURVE REPRESENTATION WITH EXAMPLES
GeometricTransformations.ppt
robotkinematics-16092vsdfva sdaf7173439.ppt

Similar to Mesh Shape Editing (20)

PDF
curve one
PDF
Geometric objects and transformations
PPTX
2D Transformation.pptx
PDF
10_1425_web_Lec_04_2D_Motion.pdf
PPTX
2A_ROBOT KINEMATICS.pptx
PPT
affine transformation for computer graphics
PPT
Robot kinematics
PDF
Chapter_2_Representing Position and Orientation.pdf
PPT
CO3303-1 Lecture 2.ppt
PPT
september4.ppt
PPT
Robotics: Forward and Inverse Kinematics
PPTX
UNIT 2-Geometric Modeling.pptx
PPTX
2-Vector.pptx
PDF
testpang
PPT
lecture_07.ppt
PPTX
Mechanics of Machine (Gear Trains)l.pptx
PDF
EMFT course first slide ceated by sir of duet electronic department
PPTX
3D Transformation in Computer Graphics
PPTX
10.1-Double-integrals-definition-2.power point
PPTX
10.1-Double-integrals-definition-2 (1).pptx
curve one
Geometric objects and transformations
2D Transformation.pptx
10_1425_web_Lec_04_2D_Motion.pdf
2A_ROBOT KINEMATICS.pptx
affine transformation for computer graphics
Robot kinematics
Chapter_2_Representing Position and Orientation.pdf
CO3303-1 Lecture 2.ppt
september4.ppt
Robotics: Forward and Inverse Kinematics
UNIT 2-Geometric Modeling.pptx
2-Vector.pptx
testpang
lecture_07.ppt
Mechanics of Machine (Gear Trains)l.pptx
EMFT course first slide ceated by sir of duet electronic department
3D Transformation in Computer Graphics
10.1-Double-integrals-definition-2.power point
10.1-Double-integrals-definition-2 (1).pptx
Ad

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
cuic standard and advanced reporting.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Spectroscopy.pptx food analysis technology
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Machine learning based COVID-19 study performance prediction
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Machine Learning_overview_presentation.pptx
Programs and apps: productivity, graphics, security and other tools
Dropbox Q2 2025 Financial Results & Investor Presentation
Digital-Transformation-Roadmap-for-Companies.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25-Week II
cuic standard and advanced reporting.pdf
A comparative analysis of optical character recognition models for extracting...
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity
Spectroscopy.pptx food analysis technology
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Machine learning based COVID-19 study performance prediction
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine Learning_overview_presentation.pptx
Ad

Mesh Shape Editing

  • 1. 
 
 Mesh Shape Editing
 
 Computer Animation and Visualisation
 
 Lecture 14 Taku Komura
  • 2. Today – Laplacian mesh editing – As-rigid-as possible shape interpolation – Deformation transfer – Generalized Barycentric Coordinates
  • 3. Editing shapes • For animating rigid/articulated objects, we can use previous techniques like skinning • Let’s think of animating cloths, clay, rubber, soft tissues, dolls, etc
  • 4. Editing shapes • Usually, it is easier to edit a given shape rather than modeling it from the beginning • What is important when editing shapes? • Keeping the local information unchanged –For faces, the relative location of the eyes, nose, and mouth must be similar to the original mesh • As-rigid-as possible • Laplacian coordinates
  • 5. Surface Editing • Must – Be fast (interactive rate) – Preserving the details – > Differential coordinates – Laplacian coordinates – Linear, invariant to scale, rotation [Sorkine ’04]
  • 6. Laplacian coordinates • Assuming all polygons are split into triangles • Every vertex vi is surrounded by a group of vertices Ni • Coordinate i will be represented by the difference between vi and the average of its neighbors • The transformation between the Laplacian coordinates and the original vertices is linear
  • 7. Laplacian coordinates (2) • Suppose the new position of the vertices are v'i • We want to keep the Laplacian coordinates the same after the deformation • T is a homogeneous transformation of scaling, rotation, and translation
  • 8. Laplacian coordinates (3) • We also want to constrain the position of some points (keeping vi’ close to ui) • After all, we need to minimize the following function • This becomes a simple quadratic optimization problem
  • 9. 9 Solving a quadratic problem Rewriting this problem, it becomes like min || c - A x || The optimal x can be computed by solving AA x = A c 2 x T T
  • 10. Editing Surfaces by Keeping the Details • The user specifies the region of interest (ROI) (the area to be edited) • The user directly moves some of the vertices • The rest of ROI is decided by minimizing the error function
  • 12. It is possible to add more constraints • Sometimes the shape might shrink as we allow scaling for the transformation • It might be better to keep the volume the same
  • 13. Creating a Volumetric Graph • Add internal vertices and edges • Compute and preserve the details for the internal structure
  • 15. Today – Laplacian mesh editing – As-rigid-as possible shape interpolation – Deformation Transfer – Generalized Barycentric Coordinates
  • 16. What if we want to interpolate different shapes? – Not editing the shapes but need to morph it to the target shape
  • 17. As-Rigid-As Possible Shape Interpolation [Alexa ’00] • Interpolating the shapes of the two polygons so that each triangle (2D) / tetrahedron (3D) transformation appears as rigid as possible
  • 18. Interpolating the shapes of triangles Represent the interpolation of triangles by rotation & scaling • linear interpolation • rotation & scaling
  • 20. 20 Transformation by 2x2 Matrix If the matrix is symmetric, can be decomposed as A = R Λ RT , R orthogonal, where Λ scaling matrix (true if A is symmetric) The eigenvectors of A are the axes of the ellipse A
  • 21. 21 Geometric analysis of linear transformations If the matrix is symmetric, can be decomposed as A = R Λ RT , R orthogonal (true if A is symmetric) The eigenvectors of A are the axes of the ellipse R RT Λ
  • 22. 22 General linear transformations: 
 Singular Value Decomposition (SVD) In general A will also contain rotations, not just scales: A 1 1 σ2 σ1 T A U V = ∑
  • 23. 23 General Transformation : SVD U VT Σ T A U V = ∑
  • 24. Back to ARAP Deformation
 Least-Distorting Triangle-to-Triangle Morphing
 • Say the three vertices P=(p1,p2,p3) are morphed to Q=(q1,q2,q3) We want to compute a transformation that produces (q2-q1, q3-q1)=A (p2-p1, p3-p1) • We can apply SVD to compute the scaling and rotation part. • A = R S rotation scaling S R
  • 25. Interpolation of the transformation matrix The intermediate vertices will be computed by V(t)=A(t) P A is decomposed into the rotation part R(t) and scaling part and S.
  • 26. Keeping the transformation similar to A{i,j,k} • We cannot just interpolate all the triangles independently • We need to move the vertices, not the triangles • A vertex configuration that minimizes the error between A and B is computed
  • 28. 3D objects • The method is applicable to polyhedra • Tetrahedralization is applied to polyhedra and the tetrahedra are morphed so that they are as rigid as possible
  • 30. As-rigid-as possible shape manipulation [Igarashi et al. 05] • interactive manipulation of characters based on the “as-rigid-as-possible” concept • http://www-ui.is.s.u-tokyo.ac.jp/~takeo/research/rigid/index.html • http://www.youtube.com/watch?v=1M_oyUEOHK8
  • 31. Today – Laplacian mesh editing – As-rigid-as possible shape interpolation – Deformation transfer – Generalized Barycentric Coordinates
  • 32. 32 Deformation Transfer A standard approach to apply the deformation of one object to another Deformation Transfer fo Triangle Meshe a Paper (SIGGRAPH 2004) by Robert W. Sumner & Jovan Pop presented by Roni Oesch Source deformed Target deformed Deformation Transfer
  • 33. 33 What does it do? Given a source mesh in a reference pose and several deformations of it: Given another mesh, called Target in same reference pose: Roni Oeschger, Nov. 2005 3 What is it all about? • Given a source mesh in a reference pose and several deformations of it: • Given another mesh, called Target in same reference pose: 3 What is it all about? • Given a source mesh in a reference pose and several deformations of it: • Given another mesh, called Target in same reference pose:
  • 34. 34 What does it do? Transfer the deformation to the target Reuse the deformation that was created with probably a lot of effort Roni Oeschger, Nov. 2005 4 What is it all about? • Transfer the deformations to the target: • Reuse of deformations which were probably created with a lot of effort
  • 35. 35 No need of Skeleton Deformation Transfer is purely mesh-based No need for an underlying skeleton structure Deformation Transfer • Deformation Transfer is purely mesh-based • No need for an underlying skeleton structure
  • 36. 36 Not skeletal-driven deformations – non-rigid or facial deformations etc Roni Oeschger, Nov. 2005 8 Wider Area of Application • Not skeletal-driven deformations – non-rigid or facial deformations etc. Roni Oeschger, Nov. 2005 8 Wider Area of Application • Not skeletal-driven deformations – non-rigid or facial deformations etc.
  • 37. 37 Approach Compute the deformation Q for every source triangle (orientation, scale, skew) • Apply Q to the corresponding target triangles
  • 38. 38 Approach Deformation based on per-triangle affine transformation Roni Oeschger, Nov. 2005 12 Deformation Details • Deformation based on per-triangle affine transformation Qv1 + d = v1 v1 Source v1 Deformed Source
  • 39. 39 Deformation Gradient “Deformation Gradient” Q depends on – triangle in reference pose
 – triangle in deformed pose 12 Deformation Details • Deformation based on per-triangle affine transformation Qv1 + d = v1 v1 Source v1 Deformed Source
  • 40. 40 Computing the Deformation Gradient • Let vi and vi, i ∈ 1...3, be the undeformed and deformed vertices of the triangle • We compute a fourth undeformed vertex as • The deformation gradient can be then computed by n these l lattice olve for 1992]. ly sized vertices locally global nds the terpola- hape by ow that transfer mendous mplexity ons that n anal- mesh T, n T and form of curves exhibited by the source deformation onto the target. We represent the source deformation as a collection of affine transformations tab- ulated for each triangle of the source mesh. We use this represen- tation because the non-translational portion of each affine transfor- mation encodes the change in orientation, scale, and skew induced by the deformation on the triangle. However, the three vertices of a triangle before and after deformation do not fully determine the affine transformation since they do not establish how the space per- pendicular to the triangle deforms. To resolve this issue, we add a fourth vertex in the direction perpendicular to the triangle. Let vi and ṽi, i ∈ 1...3, be the undeformed and deformed vertices of the triangle, respectively. We compute a fourth undeformed vertex as v4 = v1 +(v2 −v1)×(v3 −v1)/ ! |(v2 −v1)×(v3 −v1)| (1) and perform an analogous computation for ṽ4. We scale the cross- product by the reciprocal of the square root of its length since this causes the perpendicular direction to scale proportional to the length of the triangle edges. An affine transformation defined by the 3×3 matrix Q and dis- placement vector d, which, for notational convenience, we write as Q+d, transforms these four vertices as follows: Qvi +d = ṽi, i ∈ 1...4. (2) r d, which, for notational convenience, we write as ms these four vertices as follows: Qvi +d = ṽi, i ∈ 1...4. (2) e first equation from the others to eliminate d and matrix form treating the vectors as columns, we get V = [v2 −v1 v3 −v1 v4 −v1] Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1] . (3) xpression for Q is given by Q = ṼV−1 . (4) ended shape by We show that red for transfer has tremendous ical complexity ify regions that sed as an anal- target mesh T, between T and S′. This form of een two curves plies in the spe- is a continuous ry relationship. f the source de- mation transfer source and tar- et meshes with ion uses a neu- the T-pose. v4 = v1 +(v2 −v1)×(v3 −v1)/ ! |(v2 −v1)× and perform an analogous computation for ṽ4. We product by the reciprocal of the square root of this causes the perpendicular direction to scale pro length of the triangle edges. An affine transformation defined by the 3×3 m placement vector d, which, for notational convenie Q+d, transforms these four vertices as follows: Qvi +d = ṽi, i ∈ 1...4. If we subtract the first equation from the others to rewrite them in matrix form treating the vectors as QV = Ṽ where V = [v2 −v1 v3 −v1 v4 −v1] Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1] . A closed form expression for Q is given by ~
  • 41. 41 What happens if we apply Q to the target mesh? Roni Oeschger, Nov. 2005 3 What is it all about? • Given a source mesh in a reference pose and several deformations of it: • Given another mesh, called Target in same reference pose: Roni Oeschger, Nov. 2005 3 What is it all about? • Given a source mesh in a reference pose and several deformations of it: • Given another mesh, called Target in same reference pose: Roni Oeschger, Nov. 2005 12 Deformation Details • Deformation based on per-triangle affine transformation Qv1 + d = v1 v1 Source v1 Deformed Source ?
  • 42. 42 Resulting Meshes Leads to holes in the resulting mesh(B) Because each triangle is transformed independently… Resulting Meshes • Leads to holes in the resulting mesh (B) • Used representation affords too many degrees of freedom Q
  • 43. 43 Consistency needed • Preservation of consistency leads to a optimization problem: Roni Oeschger, Nov. 2005 15 Minimization Problem Preservation of con- sistency leads to a optimization problem:
  • 44. 44 Vertex Optimization • Use the vertices as the variables • Optimize the vertex locations such that the • deformation gradient of the source S and • deformation gradient of the target T are as similar as possible • We solve the following quadratic problem: To a Given this definition, we rewrite the minimization pro min ṽ1...ṽn |M| ∑ j=1 ! !Ssj −Ttj ! !2 F . Since the target transformations are defined in terms o
  • 45. 45 Vertex Optimization (2) Remember deformation gradient is computed by V is known, V is unknown for T So T is linear with respect to V Thus the following equation is a quadratic optimization problem with respect to V To a Given this definition, we rewrite the minimization pro min ṽ1...ṽn |M| ∑ j=1 ! !Ssj −Ttj ! !2 F . Since the target transformations are defined in terms o wo curves n the spe- ontinuous ationship. ource de- n transfer e and tar- shes with es a neu- -pose. skeleton- ue known Qvi +d = ṽi, i ∈ 1...4. If we subtract the first equation from the others to elimin rewrite them in matrix form treating the vectors as colum QV = Ṽ where V = [v2 −v1 v3 −v1 v4 −v1] Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1] . A closed form expression for Q is given by Q = ṼV−1 . 2 6) h ), - s - et transformed to the same location. For each target triangle, we add a fo (Equation 1) and write the non-translatio transformation in terms of the undeforme T = ṼV−1. The elements of V−1 depe formed vertices of the target shape. The e ordinates of the unknown deformed vertic T are linear combinations of the coordin formed vertices. 3 ̃ ̃ ̃
  • 46. 46 Vertex Optimization (3) Rewriting this problem, it becomes like where x are the unknowns (components of v), the rest are known We can solve this kind of problem by solving a linear equation tices themselves and the continuity constraints are implicitly s fied. Positional vertex constraints can be enforced by simply t ing a vertex as a constant rather than as a free variable. The solution to this optimization problem is the solution system of linear equations. Rewriting the problem in matrix f yields min ṽ1...ṽn ||c−Ax̃||2 2 where x̃ is a vector of the unknown deformed vertex locations a vector containing entries from the source transformations, an is a large, sparse matrix that relates x̃ to c. Setting the gradie the objective function to zero gives the familiar normal equatio AT Ax̃ = AT c The entries in A depend only on the target mesh’s undeformed tex locations. Furthermore, the system is separable in the sp dimension of the vertices. Thus, for each source/target pair compute and store the LU factorization of ATA only once. R m of linear equations. Rewriting the problem s min ṽ1...ṽn ||c−Ax̃||2 2 e x̃ is a vector of the unknown deformed vert ctor containing entries from the source transfo arge, sparse matrix that relates x̃ to c. Settin bjective function to zero gives the familiar no AT Ax̃ = AT c entries in A depend only on the target mesh’s ocations. Furthermore, the system is separab ~ ̃
  • 47. 47 Deformation Transfer : Results http://people.csail.mit.edu/sumner/research/deftransfer/ Taku Komura Designing shapes, edit
  • 48. Today – Laplacian mesh editing – As-rigid-as possible shape interpolation – Deformation Transfer – Generalized Barycentric Coordinates
  • 49. Barycentric Coordinates
 Given a polygon with N vertices, the barycentric coordinates is a N dimensional vector We can use it to represent a position in the space with respect to the N points of the polygon We can also use it to interpolate attribute values defined at the N vertices of the polygon
  • 50. Interpolation Geometric interpolation – derive the global coordinates for a position in parametric cell space Attribute interpolation – derive the attribute value for a position defined in parametric cell space are called barycentric coordinates Demo v p1 p2 p3 p4 p5 v f1 f2 f3 f4 p5 f(v) http://www.lidberg.se/math/shapetransforms/barycentric.html
  • 52. Applications
 Surface Deformation Control Mesh Surface Computing Weights Deformation 216 triangles 30,000 triangles 1.9 seconds 0.03 seconds
  • 53. Applications
 Surface Deformation Control Mesh Surface Computing Weights Deformation 98 triangles 96,966 triangles 3.3 seconds 0.09 seconds
  • 55. Applications
 Solid Textures Interpolating the texture coordinates Extend texture to interior
  • 56. How to compute the barycentric coordinates for each point? x p0 p1 p2 p3 p4 p5 r s
  • 58. Mean Value Coordinates A good and smooth barycentric coordinates that can smoothly interpolate the boundary values Also works well for concave polygons There is also a 3D version
  • 59. Comparison [Wachspress 1975] Mean Value Coordinates [Floater 2003, Hormann 2004]
  • 60. Previous Work [Wachspress 1975] Mean Value Coordinates [Floater 2003, Hormann 2004]
  • 61. Previous Work [Wachspress 1975] Mean Value Coordinates [Floater 2003, Hormann 2004]
  • 62. Previous Work [Wachspress 1975] Mean Value Coordinates [Floater 2003, Hormann 2004]
  • 67. Interpolation : problem polygon http://www.youtube.com/watch?v=egf4m6zVHUI
  • 68. Harmonic Coordinates The problem with Mean Value Coordinates is that their values are affected by the Euclidean distance but not the distance that needs to be travelled Affected by geometrically close points Harmonic Scalar Field – The value depends on the distance travelled inside the polygon Not affected by the Euclidean distance but the geodesic distance
  • 69. Harmonic Coordinates :
 Procedure - For each vertex i of the cage, set the potential value of vi to 1, and the rest to 0 - Compute the potential for all the points inside the the polygon (pi) by solving a Laplace equation (as taught in Lecture 12) (p1, p2, ...., pn) is the harmonic coordinates for each point after normalization The global position of the point can be expressed in the form P = p1 v1 + p2 v2 + … + pn vn
  • 71. Barycentric Coordinates
 Summary Triangulation / Tetrahedralization Only C0 continuous at the boundaries Wachspress coordinates Can only handle convex objects Mean value coordinates Can handle concave objects well to some extent Values affected by geometrically close control points Defined outside the polygon too Harmonic Coordinates Can handle concave objects well Only defined inside the polygon
  • 72. Summary Modelling surfaces • Deforming surfaces – Laplacian Coordinates – As-rigid-as possible shape interpolation • Generalized Barycentric Coordinates
  • 73. Readings • Alexa et al. “As-rigid-as-possible shape interpolation SIGGRAPH ’00 • Deformation Transfer for Triangle Mesh, Sumner et al. SIGGRAPH 2004 • Igarashi et al. “As-rigid-as-possible shape manipulation”, SIGGRAPH ‘05 • O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel, “Laplacian Surface Editing”, Eurographics Symposium on Geometry Processing (2004) • Large Mesh Deformation Using the Volumetric Graph Laplacian Kun Zhou, Jin Huang, John Snyder, Xinguo Liu, Hujun Bao, Baining Guo, Heung-Yeung Shum. ACM SIGGRAPH 2005, 496-503. • Harmoinc Coordinates for Character Articulation: Joshi et al. SIGGRAPH 2007 • Mean Value Coordinates for Closed Triangular Meshes, Ju et al. SIGGRAPH 2005