Curvature measure for polygones on a 2D space

1.1k Views Asked by At

I would like to implement a curvature measure for polygones on a 2D space. My goal is to compute shape parameters to know if the polygon is close to a circle or has a sinuous shape or an elongated shape...

I already try to fit to various shapes, compute parameters based on length, area or perimeter so I would rather focus on angles or curvatures but both inspiration and Google failed me.

  • I already have a measure based on perimeter to area ratio which is probably very correlated to a mean radius of curvature, I am looking for a different perspective.

  • I know a curvature measure for continuous functions (defined here: https://en.wikipedia.org/wiki/Curvature#Curvature_of_a_graph). That would probably be interesting if I could see how to implement it for a polygone with discontinuous derivatives at summits.

  • I can imagine something similar to an energy cost that would penalize narrow angles, concavities... But I don't see how to translate it mathematically.

I would be glad if you have ideas or precise measure definitions I could apply to this problem. Thank you.

2

There are 2 best solutions below

2
On BEST ANSWER

I wrote up some notes a few years ago on how to approximate the curvature of discrete plane curves. There are several potential formulas, depending on the precise properties you are interested in: http://www.cs.utexas.edu/users/evouga/uploads/4/5/6/8/45689883/notes1.pdf

1
On

This is a vast area of research. Here is a classification of approaches, taken from p.9 of "Curvature Variation as Measure of Shape Information," by S.R. Sukumar:


          Zhang2004
          (PDF download of Sukumar's thesis.)
A nice survey is:

Veltkamp, Remco C. "Shape matching: Similarity measures and algorithms." Shape Modeling and Applications, IEEE, 2001. (PDF download.)