Gaussian and mean curvatures calculation on a triangulated 3d surface

The code calculates Gaussian and mean curvatures on a triangulaed 3d surface.
1.2K Downloads
Updated 21 Jan 2017

View License

Calculation of Gaussian (GC) and mean curvatures (MC) of a discrete surface. Coordinates of the point are given by x, y, z. tri is a triangulation table which gives the vertex ID of each triangle. The IDs is consistent with the order of data points in x,y,z. It returns GC and MC at each point.
The method is based on this paper:
Meyer, M., Desbrun, M., Schröder, P., & Barr, A. H. (2003). Discrete differential-geometry operators for triangulated 2-manifolds. In Visualization and mathematics III (pp. 35-57). Springer Berlin Heidelberg.
Available at : http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.3427&rep=rep1&type=pdf
WARNING: The curvatures data at the edges of domain is not reliable. It
artificially gives zero instead of non-sense data.
Update version 1.1:
The above paper, gives a vector for MC and the absoulute value of mean
curvature is half of the norm of this vector. Therfore, in this way the sign is
not given. Here, I used a dot product betwen the MC vector and the normal
vector at each point calculated based on weighted averaging of the
triangle normal vectors given by MATLAB. I'm not sure what is the convention of
MATLAB in determining the direction for the normal vectors. But it seems
that they are all consistent toward one side of the surface. So the
calculated signed MC shows the change of sign in data, but it can not
gaurantee that, for example, the positive MC is for a locally convex
region (if the GC is positive).

Written by Alireza Dastan 21/01/2017
email: ardastan@gmail.com

Cite As

Alireza Dastan (2024). Gaussian and mean curvatures calculation on a triangulated 3d surface (https://www.mathworks.com/matlabcentral/fileexchange/61136-gaussian-and-mean-curvatures-calculation-on-a-triangulated-3d-surface), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

sign of MC is corrected! (hopefully)

1.0.0.0