A set of routines to calculate curvature and Laplace-Beltrami operation on manifold triangular-element surface meshes.
Includes a icosahedron based spherical surface mesh generator with quadratically increasing refinement (as opposed to exponential increase from subdivision methods).
Six different curvature calculation algorithms and two different Laplace-Beltrami calculation algorithms are included. Examples 4 and 5 shows the rate of convergence convergence in curvature calculation.
The figure shows the mean curvature (MC) and Gaussian curvature (GC) on a spherical surface surface perturbed by $ Y^{2}_{5}$ spherical harmonic. See Example 1.
The following methods are implemented for curvature:
- curvature1: Guoliang Xu, Applied Numerical Mathematics 69 (2013) 1–12. Quadratic approximation of all three coordinates.
- curvature2: S. Rusinkiewicz 2004
- curvature3: Goldfeather & Interrante
- curvature4: Garimella and Schwartz. Local quadric fitting using two ring neighborhood around each vertex
- curvature5: Local quadric fitting using one ring vertices and their normals.
- curvature6: Local quadric fitting using two ring vertices and normals.
Use the any of 1-4 that work for you. I wrote 5 and 6 just out of curiosity to see what happens. They don't seem to work that great in general.
Laplace Beltrami methods:
-
curvature1: curvature1 with
want_LB=True
calculates Laplace-Beltrami of the curvature. -
LB1:Guoliang Xu 2004