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

Similar to Mesh Shape Editing

10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf
KumarRoshan23
 
2A_ROBOT KINEMATICS.pptx
2A_ROBOT KINEMATICS.pptx2A_ROBOT KINEMATICS.pptx
2A_ROBOT KINEMATICS.pptx
TanujBanerji1
 
affine transformation for computer graphics
affine transformation for computer graphicsaffine transformation for computer graphics
affine transformation for computer graphics
DrSUGANYADEVIK
 
Robot kinematics
Robot kinematicsRobot kinematics
Robot kinematics
Varinder Singh
 
Chapter_2_Representing Position and Orientation.pdf
Chapter_2_Representing Position and Orientation.pdfChapter_2_Representing Position and Orientation.pdf
Chapter_2_Representing Position and Orientation.pdf
ssuser060b2e1
 
september4.ppt
september4.pptseptember4.ppt
september4.ppt
CharlesMatu2
 
Robotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsRobotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsDamian T. Gordon
 
UNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptxUNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptx
dinesh babu
 
2-Vector.pptx
2-Vector.pptx2-Vector.pptx
2-Vector.pptx
ssfasf
 
3D Transformation in Computer Graphics
3D Transformation in Computer Graphics3D Transformation in Computer Graphics
3D Transformation in Computer Graphics
sabbirantor
 
M1 unit v-jntuworld
M1 unit v-jntuworldM1 unit v-jntuworld
M1 unit v-jntuworldmrecedu
 
cg mod2.pdf
cg mod2.pdfcg mod2.pdf
cg mod2.pdf
ssuserf3db48
 
5_6221983039971394498.pptx
5_6221983039971394498.pptx5_6221983039971394498.pptx
5_6221983039971394498.pptx
NachiketKadlag1
 
lec 2 Robotics time & motion
lec 2 Robotics time & motionlec 2 Robotics time & motion
lec 2 Robotics time & motion
cairo university
 

Similar to Mesh Shape Editing (20)

10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf10_1425_web_Lec_04_2D_Motion.pdf
10_1425_web_Lec_04_2D_Motion.pdf
 
2A_ROBOT KINEMATICS.pptx
2A_ROBOT KINEMATICS.pptx2A_ROBOT KINEMATICS.pptx
2A_ROBOT KINEMATICS.pptx
 
affine transformation for computer graphics
affine transformation for computer graphicsaffine transformation for computer graphics
affine transformation for computer graphics
 
Robot kinematics
Robot kinematicsRobot kinematics
Robot kinematics
 
Chapter_2_Representing Position and Orientation.pdf
Chapter_2_Representing Position and Orientation.pdfChapter_2_Representing Position and Orientation.pdf
Chapter_2_Representing Position and Orientation.pdf
 
CO3303-1 Lecture 2.ppt
CO3303-1 Lecture 2.pptCO3303-1 Lecture 2.ppt
CO3303-1 Lecture 2.ppt
 
september4.ppt
september4.pptseptember4.ppt
september4.ppt
 
Robotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse KinematicsRobotics: Forward and Inverse Kinematics
Robotics: Forward and Inverse Kinematics
 
UNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptxUNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptx
 
2-Vector.pptx
2-Vector.pptx2-Vector.pptx
2-Vector.pptx
 
testpang
testpangtestpang
testpang
 
lecture_07.ppt
lecture_07.pptlecture_07.ppt
lecture_07.ppt
 
3D Transformation in Computer Graphics
3D Transformation in Computer Graphics3D Transformation in Computer Graphics
3D Transformation in Computer Graphics
 
3 D Graphics
3 D Graphics3 D Graphics
3 D Graphics
 
M1 unit v-jntuworld
M1 unit v-jntuworldM1 unit v-jntuworld
M1 unit v-jntuworld
 
Lecture24
Lecture24Lecture24
Lecture24
 
cg mod2.pdf
cg mod2.pdfcg mod2.pdf
cg mod2.pdf
 
5_6221983039971394498.pptx
5_6221983039971394498.pptx5_6221983039971394498.pptx
5_6221983039971394498.pptx
 
lec 2 Robotics time & motion
lec 2 Robotics time & motionlec 2 Robotics time & motion
lec 2 Robotics time & motion
 
Unit 1. day 4
Unit 1. day 4Unit 1. day 4
Unit 1. day 4
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 

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