Curvature Analysis of a Mesh

McneelForum.3dm (20.0 MB)

I am currently trying to find the gaussian and mean curvatures of a model I am working with. The initial mesh was created from a photoscan using Agisoft Metashape.

I tried converting the mesh into a surface using ‘MeshtoNURB’, but this creates a polysurface that does not work with Rhino’s built in ‘CurvatureAnalysis’ function.

I then tried using the ‘MeshCurvature’ function within grasshopper, but it often returned a constant curvature, or only a handful out of 600,000+ faces differing slightly. I also tried this after applying ‘smooth’ in hopes of making the mesh continuous, but it gave the same result.

I would like to avoid creating an entirely new surface based on the mesh if possible, but will do so if it is the only way.

Any help is appreciated!

Hello - probably the best (well, depending on the shape) is to select some mesh vertices in the area you want to look at and run Patch on these to create an approximation of the shape there as a surface, then analyze that.


Hi @ajbraun1,
in addition to what Pascal suggested above, you might try Rhino Open Projects by @gianpaolo_savio which is free and can be downloaded from here. It contains a tool to measure mesh curvature and an example script to measure curvature at a point.


1 Like

Rhino creates a mesh to perform curvature analysis, but can’t perform curvature analysis on a mesh… go figure !

1 Like

The mesh created for curvature analysis is only for visualisation purposes. Each mesh vertex gets a color according to the surface curvature at that point, and that is what you see. It is not easy to do curvature analysis on a mesh directly, because each mesh facet is flat, i.e. it has no curvature.