Gaussian and mean curvatures calculation on a triangulated 3d surface
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
引用格式
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. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- MATLAB > Mathematics > Computational Geometry > Delaunay Triangulation >
- Sciences > Mathematics > Geometry > Computational Geometry >
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!