trimesh_gaussian_curvature

compas.geometry.trimesh_gaussian_curvature(M)[source]

Compute the discrete gaussian curvature of a triangle mesh.

Parameters:
Mtuple[sequence[[float, float, float] | compas.geometry.Point], sequence[[int, int, int]]]

A mesh represented by a list of vertices and a list of faces.

Returns:
list[float]

The discrete gaussian curvature per vertex.

Warning

The default implementation willnot check if the mesh is a triangle mesh. It will simpliy compute the curvature at every vertex as if it were surrounded by triangles. This requires the faces of the mesh to be at least convex polygons.

Notes

The angular deficit at a vertex is defined as the difference between a full circle angle (\(2\pi\)) and the sum of the angles in the adjacent trianlges.

\[k_{G}(v_{i}) = 2\pi - \sum_{j \in N(i)} \theta_{ij}\]

where \(N(i)\) are the triangles incident on vertex \(i\) and \(\theta_{ij}\) is the angle at vertex \(i\) in triangle \(j\).

Examples

>>>