skshapes.triangle_mesh.geometry.cotan_weights

skshapes.triangle_mesh.geometry.cotan_weights(*, points, triangles, edge_topology=None)

Cotan weights of a triangular mesh

The cotan weights of an edge are a discrete version of the Laplace-Beltrami operator. They depend on the angles between the edge and the adjacent triangles. An illustration ca be found in figure 4 of https://arxiv.org/pdf/2204.04238

Parameters:
  • points (Float32[Tensor, '_ 2'] | Float32[Tensor, '_ 3'] | Float32[Tensor, '_ _ 2'] | Float32[Tensor, '_ _ 3']) – Points or sequence of points with shape (n_points, n_poses, dim).

  • triangles (Int64[Tensor, '_ 3']) – Triangles of the mesh.

  • edge_topology (EdgeTopology | None) – Edge topology of the mesh. If not provided, it will be computed from the triangles.

Return type:

Float32[Tensor, '_'] | Float32[Tensor, '_ _']

Returns:

The cotan weights of the edges with shape (n_edges,) for a single mesh or (n_edges, n_poses) for a sequence of meshes.