laplacian mesh processingcs749/spr2017/lecs/18_laplace.pdf · the laplace-beltrami operator just...
TRANSCRIPT
![Page 1: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/1.jpg)
Sorkine et al.
Laplacian Mesh Processing(includes material from Olga Sorkine, Yaron Lipman, Marc Pauly,
Adrien Treuille, Marc Alexa and Daniel Cohen-Or)
Siddhartha Chaudhuri http://www.cse.iitb.ac.in/~cs749
![Page 2: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/2.jpg)
Recap: Laplacian in Euclidean space
● Laplacian (of scalar-valued function):
– In operator form:
– Maps scalar field to scalar field
Gam
asut
ra
Δ=( ∂2
∂ x12 ,
∂2
∂ x22 , ... ,
∂2
∂ xn2 )
Δ f = ∇⋅∇ f =
∂2 f
∂ x12 +
∂2 f
∂ x22 + ... + ∂2 f
∂ xn2
Original function After applying Laplacian
Divergence of gradient of f
![Page 3: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/3.jpg)
Recap: Laplacian in Euclidean space● The Laplacian can be discretized
1
h2 [−2 1 0 ⋯ 0 01 −2 1 ⋯ 0 0
1 −2 ⋯ 0 0⋮ ⋱ ⋮0 0 −2 10 0 ⋯ 1 −2
]1D discrete Laplace operator
Continuous function
Discrete approximation
0 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14
1h [
−1 1 0 ⋯ 0 00 −1 1 ⋯ 0 0
0 −1 ⋯ 0 0⋮ ⋱ ⋮0 0 −1 10 0 ⋯ 0 −1
]1D discrete gradient
![Page 4: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/4.jpg)
Laplacian in 2D Euclidean space● The Laplacian can be discretized
2D discrete Laplace operator
Continuous function
Discrete approximation
![Page 5: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/5.jpg)
Laplacian in 2D Euclidean space● The Laplacian is computed via differences of a cell
from its neighbors● We can think of the
grid as a graphconnecting adjacentcells
4
–1 –1
–1
–1
![Page 6: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/6.jpg)
Thought for the Day #1
Can you express applying the Laplacian (or otherdifferential operator) as a convolution?
![Page 7: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/7.jpg)
Graph Laplacian
● For a general graph, we can compute a similarLaplace operator– The function f is represented by its values at graph
vertices– The discrete Laplace operator is applied on graph
neighborhoods centred at the vertices– If the graph is a grid, we should recover the standard
Euclidean Laplacian
![Page 8: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/8.jpg)
Graph Laplacian
● Let G = (V, E) be an undirected graph● Let N1(i) represent the 1-ring neighborhood of
vertex i, that is, N1(i) = { j | (i, j) ∈ E }
● The degree di of vertex i is |N1(i)|
● Let D be the diagonal matrix with Dii = di
● The adjacency matrix A of G is
![Page 9: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/9.jpg)
Graph Laplacian
● The (topological) Laplacian matrix L of the graphis defined as
L = I – D-1A
● Commonly, we can multiply by D and consider thesymmetric Laplacian Ls = DL = D – A instead
Verify that this gives the correct grid Laplacian
![Page 10: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/10.jpg)
Graph Laplacian
Graph Symmetric Laplacian Ls
![Page 11: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/11.jpg)
Mesh (Topological) Laplacian
● Recall: a mesh is a graph● … so we can compute its topological Laplacian
Vertices
Edges
Faces
![Page 12: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/12.jpg)
Refining the mesh
● What happens to the Laplacian as we make themesh finer and finer?– The graph serves as a proxy
for the surface– Eventually, the graph’s
metric propertiesshould reduce togeometricsurface properties
Leif Kobbelt Group
![Page 13: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/13.jpg)
Thought for the Day #2
The topological Laplacian does not care about theembedding metric, i.e. the lengths of edges in thegraph. How, then, can the Laplacian be sensitive to
the geometry of the surface?
![Page 14: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/14.jpg)
Once again: the Euclidean Laplacian
![Page 15: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/15.jpg)
The Laplace-Beltrami operator
● Extension of continuous Laplacian to manifolds(“smooth curved surfaces/spaces”)
![Page 16: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/16.jpg)
The Laplace-Beltrami operator
● Example: Let x be the coordinate function:x(p) = position of p
Here, applyingthe Laplacian toa vector-valuedfunction meansapplying it to
each coordinateindividually
![Page 17: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/17.jpg)
The Laplace-Beltrami operator
● Just like in 2D Euclidean space, if we know the Laplace-Beltramioperator of the surface, and the function value at a single point,we can solve for the function at all points on the surface
● Why is this important?– The LB operator captures global properties of the surface in terms of
local properties– It expresses a local invariant
● E.g. for the coordinate function, it expresses the surface in terms of its localcurvature and orientation
– We can modify the properties locally in one small region andrecompute the global properties, trying to preserve the local propertyeverywhere else
![Page 18: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/18.jpg)
The Laplace-Beltrami operator
● The topological Laplacian is an approximation tothe discrete Laplace-Beltrami operator
● We shall see better approximations soon
![Page 19: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/19.jpg)
Laplacian Mesh Editing: Motivation
● Meshes are great, but:– Geometry is represented in a single global coordinate
system– Single Cartesian coordinate of a vertex doesn’t say
much
![Page 20: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/20.jpg)
Laplacian Mesh Editing: Motivation
● Meshes are difficult to edit
![Page 21: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/21.jpg)
Laplacian Mesh Editing: Motivation
● Meshes are difficult to edit
![Page 22: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/22.jpg)
Laplacian Mesh Editing: Motivation
● Meshes are difficult to edit
![Page 23: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/23.jpg)
Differential Coordinates
● Represent a point relative to its neighbors● Represent local detail at each surface point● Linear operator takes us from global to differential● Useful for operations on surfaces where surface
details are important
![Page 24: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/24.jpg)
Differential Coordinates
● Detail = surface – smooth(surface)● Smoothing = averaging
![Page 25: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/25.jpg)
Connection to the smooth case
● The direction of δi approximates the normal● The magnitude of δi approximates the mean
curvature
![Page 26: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/26.jpg)
Connection to graph Laplacian
Graph Symmetric Laplacian Ls
![Page 27: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/27.jpg)
Weighting Schemes
![Page 28: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/28.jpg)
Laplacian Mesh
● Vertex positions are represented by Laplaciancoordinates (δx , δy , δz)
![Page 29: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/29.jpg)
Basic properties
● rank(L) = n – c (n – 1 for connected meshes)● We can reconstruct the xyz geometry from δ upto
translation
![Page 30: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/30.jpg)
Reconstruction
![Page 31: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/31.jpg)
Reconstruction
![Page 32: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/32.jpg)
Reconstruction
![Page 33: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/33.jpg)
Cool underlying idea
● Mesh vertices are defined by the minimizer of anobjective function
![Page 34: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/34.jpg)
What we have so far
● Laplacian coordinates δ = Lx
– Local representation– Translation invariant
● Linear transition from δ to xyz
– Can constrain one or more vertices– Least squares solution
![Page 35: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/35.jpg)
Editing using differential coordinates
● The editing process from the user’s point of view– First, set ROI, anchors and handle vertex– Move handle vertex to perform edit
![Page 36: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/36.jpg)
Editing using differential coordinates
● The user moves the handle and interactively thesurface changes
● The stationary anchors are responsible for smoothtransition of the edited part to the rest of themesh
● This is done using increasing weight with geodesicdistance in the soft spatial equations
![Page 37: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/37.jpg)
Mesh editing example
![Page 38: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/38.jpg)
Mesh editing example
![Page 39: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/39.jpg)
Mesh editing example
![Page 40: Laplacian Mesh Processingcs749/spr2017/lecs/18_laplace.pdf · The Laplace-Beltrami operator Just like in 2D Euclidean space, if we know the Laplace-Beltrami operator of the surface,](https://reader034.vdocument.in/reader034/viewer/2022052310/608301b26a16934adb59f646/html5/thumbnails/40.jpg)
Mesh editing example