Curvature of a 2D discrete curve Suppose one has a discrete plane curve in 2D, such that the curve is composed entirely of connected straight line segments. Clearly, the usual definition of curvature does not apply, as this curve is not smooth.
However, is there a curvature definition one could use, that would converge to the usual definition as more and more line segments were used to describe a smooth curve? That is, for a discrete plane curve, at each vertex point, our discrete curvature should be defined such that at the limit of the smooth curve, the new curvature at the vertex, should be the curvature of the curve at that point.


*

*Is such a definition possible? 

*If it is, are there standard definitions for this discrete curvature? 

*Is more than a single definition even possible?


$\qquad\qquad\qquad\qquad$
 A: Curvature of a smooth curve can be interpreted as the rate of change of the angle that its tangent vector makes with a fixed direction. So, if you have a piecewise smooth curve, each singular point contributes (in a natural way) the exterior angle [if you have incoming tangent vector $\mathbf v$ and outgoing tangent vector $\mathbf w$, you take the angle from $\mathbf v$ to $\mathbf w$]. This works just fine with a piecewise-linear curve: It has curvature only at the corners, and the total curvature is still the rotation index of the curve.
Indeed, for a piecewise-smooth simple closed plane curve $C$ oriented counterclockwise, the Hopf Umlaufsatz becomes $\int_C \kappa\,ds + \sum\epsilon_i = 2\pi$.
A: Heuristically what I would do is, for each polygonal approximation:


*

*Decide on a value for both the direction and a curvature at each vertex, by fitting a circle through it and its neighbor vertices on each side.

*Along each of the straight segments, assign a curvature as a quadratic function of arc length, such that (a) it agrees with the values a the endpoints that you have already decided on, and (b) its integral over the entire segment is exactly the different in assumed direction between the vertices.
If your vertices always lie on the original smooth curve, as is the case in your illustration, this ought to converge nicely (that is, locally uniformly) towards the true curvature.
For some applications it may work just as well simply to interpolate linearly in step 2. Using a quadratic correction has the advantage that you can integrate it to find a continuously varying direction at each point on the segment, which can be used to simulate shading, bouncing off the curve, and the like.
