Print

Print


On Wed, 28 Feb 2007 12:08:04 -0500, Bruce Fischl
<[log in to unmask]> wrote:

>for Gaussian curvature using the discrete methods is the way to go (it's
>essentially how much less than 180 deg the angles of the triangle add up
>to). I don't think you can get principal directions or curvatures this way.

Hi Bruce,

I've had a chat to Philip, and it sounds like it is possible to get the
complete curvature tensor with discrete methods; he provided the following
information:

"[...] refers to some subtle issues:

From a Discrete Geometry point of view: the Gauss Curvature is naturally
defined at VERTICES: it's the angle defect (proportional to 2 pi - sum of
angles there) but, the Mean curvature is naturally defined on EDGES: (it's
proportional to the dihedral angle = angle between normals of facets
containing that edge).

Thus, in my code, I 'interpolated' the mean curvature from edges to
vertices, i.e. attribute some mean curvature of the edge to its vertices.
(check vtkCurvatures.cxx for details).

The Gauss curvature is analytically: K = k_1 * k_2, the mean H = (k_1 +
k_2)/2 thus you can solve for k_1, and k_2 (the principal curvatures), but
it's not always good. At first I didn't know of another geometric (angle
based) way to define the principal curvatures but I found a report by
Taubin, who computed discretely the 'curvature tensor' at every vertex: from
it you can compute eigenvectors/eigenvalues, which are principal
directions/curvatures. [...]"

I've found the Taubin reference here:
 http://citeseer.ist.psu.edu/taubin95estimating.html
And a more recent related paper (which PB also recommends):
 http://citeseer.ist.psu.edu/meyer02discrete.html
Philip's website has some more details, references, and code:
 http://www.cs.ucl.ac.uk/staff/p.batchelor/curvatures/curvatures.html

Best,
Ged