Discrete Laplacian on a triangle mesh
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Perry Mason
el 30 de Sept. de 2021
Comentada: Alec Jacobson
el 4 de Oct. de 2021
Hi everybody,
I have a triangle mesh with N nodes and T triangles given by the following matrices
n(N,3): which defines the nodes coordinates
t(T,3): which is the connectivity matrix
If I note L as the Discrete Laplacian on my triangle mesh, and I code this
function1= n(:,1).^2;
function2= L*function1;
function2 should be an array of all twos, shouldn't it?
Unfortunately, although I have found some Discrete Laplacian matlab functions in Matlabcentral none of them retrieve a result where function2 should be an array of all twos.
I would appreciate any tip in this matter about how to compute the Discrete Laplacian
Thanks in advance.
Cheers.
0 comentarios
Respuesta aceptada
Alec Jacobson
el 30 de Sept. de 2021
L discretizes the integrated discrete Laplacian in the sense that:
x' * L * x discretizes Dirichlet energy: ∫ ‖∇x‖² dx. Via Green's idenity this energy is related to the Laplacian as:
∫ ‖∇x‖² dx = -∫ x∆x dx + boundary terms
So, there are at least 3 reasons you won't get all twos:
1) If n,t is a curved surface (as in, all vertices are not on the same plane) then L also encodes the non-Euclidean metric,
2) if n,t has a boundary, then for vertices along the boundary you'll get the integrate Laplacian + boundary terms
3) L computes integrated values, to convert to intergral average, pointwise values you can "unintegrate" (i.e., divide by local area) by multiplying with the inverse of the mass matrix: M \ L * x
0 comentarios
Más respuestas (1)
Perry Mason
el 4 de Oct. de 2021
1 comentario
Alec Jacobson
el 4 de Oct. de 2021
See #1 in the answer above. If your surface is curved, then you don't have a flat metric and won't get just 2s.
Try this in the Euclidean domain via:
[V,F] = create_regular_grid(10,10);
L = cotmatrix(V,F);
M = massmatrix(V,F);
M\(L*f1)
everything is 2.0 except the boundary.
Ver también
Categorías
Más información sobre Geometry and Mesh en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!