[vtkusers] vtkCurvatures: mean curvature

Bernard Chiu bchiu at imaging.robarts.ca
Tue Sep 28 14:53:42 EDT 2004


Dear vtk users,

I am a novice in differential geometry and I would like to ask the experts
about a number of issues in the implementation of the class vtkCurvature:

(1)I understand that the mean curvature of an vertex was calculated by
averaging the curvature along each edge connected to the vertex. However, I
don't understand how the curvature along an edge can be calculated by H(edge
e) = length(e)*dihedral_angle(e). In addition, curvature calculated using
this equation seems to be scaled by a factor (3/Af) in the code, where Af is
the total area of two neighbouring triangles that have edge e as their
common edge.
Could anyone explain why the curvature of each edge was computed this way?

(2) In the calculation of the mean curvature, the comments state that the
normal was assumed to be pointing outwards. In the code, the vertices of a
triangle were retrieved in an order according to its id. I thought the id of
a triangle can be ordered arbitrarily, and therefore, I don't understand how
we can be sure that the normal always points outwards.

(3)Since the order of the vertices in a triangle is arbitrary, there are two
choices in the direction of the unit vector pointing along the direction of
an edge (this unit vector is denoted by e in the code) (one of the choices
has direction exactly opposite to each other). The way in which the sine of
the dihedral_angle was calculated would imply that the dihedral_angle is not
uniquely defined, even if the normal of the triangles are defined as
pointing outwards. Then, would it mean the curvature itself is not uniquely
defined?

Thanks in advance for your help,

Bernard Chiu




More information about the vtkusers mailing list