Code covered by the BSD License

### Highlights from Patch Curvature

4.16667
4.2 | 7 ratings Rate this file 34 Downloads (last 30 days) File Size: 314 KB File ID: #32573

# Patch Curvature

### Dirk-Jan Kroon (view profile)

18 Aug 2011 (Updated )

Principal, Gaussian and Mean Curvature of triangulated mesh

File Information
Description

This function calculates the principal curvature directions and values
of a triangulated mesh.

The function first rotates the data so the normal of the current
vertex becomes [-1 0 0], so we can describe the data by XY instead of
XYZ.
Secondly it fits a least-squares quadratic patch to the local
neighborhood of a vertex "f(x,y) = ax^2 + by^2 + cxy + dx + ey + f".
Then the eigenvectors and eigenvalues of the hessian are used to
calculate the principal, mean and gaussian curvature.

[Cmean,Cgaussian,Dir1,Dir2,Lambda1,Lambda2]=patchcurvature(FV,usethird)

inputs,
FV : A triangulated mesh (see Patch)
usethird : Use third order neighbour vertices for the curvature
fit, making it smoother but less local. true/ false (default)

outputs,
Cmean : Mean Curvature
Cgaussian : Gaussian Curvature
Dir1 : XYZ Direction of first Principal component
Dir2 : XYZ Direction of second Principal component
Lambda1 : value of first Principal component
Lambda2 : value of second Principal component

MATLAB release MATLAB 7.12 (R2011a)
04 Feb 2015 Helia

### Helia (view profile)

why shifting the cylinder changes the curvature values? Is there an error in calculation?
I used the cylinder provided with this code but shifted the vertices keeping the same scaling. I obtained a different curvature values. Sounds strange to me.

11 Dec 2014 Marta

Great!

26 Oct 2014 Leo

### Leo (view profile)

Dear author, Thank you for this work.

k = rand(1,3)
in the VectorRotationMatrix.
It will be very kind of you, if you can give me some hint.
Thanks again.

15 Jan 2014 Binhang

### Binhang (view profile)

This version seems much better!

15 Jan 2014 Dirk-Jan Kroon

### Dirk-Jan Kroon (view profile)

* Binhang
Thank you, there was a bug which I solved by removing abs from the eigenvalues. This version will probably be online in one or two days.

Comment only
13 Jan 2014 Binhang

### Binhang (view profile)

Dear author, I have a question for the result.

Have you ever test your code for the torus? Did you notice that all the values for gauss and mean curvature are positive?

Well, I think this is incorrect.

06 Apr 2013 baziham

### baziham (view profile)

06 Mar 2012 SABYASACHI DASGUPTA

### SABYASACHI DASGUPTA (view profile)

Dear Mr.Kroon ,
Is it possible that you include how to calculate squared mean curvature over the mesh .
Regards,
Sabya

Comment only
10 Jan 2012 Jonathan Sullivan

### Jonathan Sullivan (view profile)

Great submission. Very help. Nice examples provided too!