mesh_laplacian_matrix
- compas.datastructures.mesh_laplacian_matrix(mesh, rtype='csr')[source]
Construct a Laplacian matrix with uniform weights from a mesh data structure.
- Parameters
mesh (
compas.datastructures.Mesh
) – Instance of mesh.rtype (Literal[‘array’, ‘csc’, ‘csr’, ‘coo’, ‘list’], optional) – Format of the result.
- Returns
array_like – The Laplacian matrix.
Notes
The n×n uniform Laplacian matrix L of a mesh with vertices V and edges E is defined as follows 1
Lij={−1i=j1deg(i)(i,j)∈E0otherwisewith deg(i) the degree of vertex i.
Therefore, the uniform Laplacian of a vertex vi points to the centroid of its neighboring vertices.
References
- 1
Nealen A., Igarashi T., Sorkine O. and Alexa M. Laplacian Mesh Optimization.
Examples
>>> from compas.datastructures import Mesh >>> mesh = Mesh.from_polyhedron(6) >>> L = mesh_laplacian_matrix(mesh, rtype='array') >>> type(L) <class 'numpy.ndarray'>
>>> L = mesh_face_matrix(mesh, rtype='csr')
>>> xyz = asarray(mesh.vertices_attributes('xyz')) >>> L = mesh_laplacian_matrix(mesh) >>> d = L.dot(xyz)