-2

The curvature of a discrete space curve can be calculated using 3 successive points can be calculated using the Menger curvature (see https://en.wikipedia.org/wiki/Menger_curvature and Calculate curvature for 3 Points (x,y)).

My question is: is there a similar explicit formula for the torsion (https://en.wikipedia.org/wiki/Torsion_of_a_curve or ) using four 4 successive points?

If not an explicit formula, does someone know of an algorithm/package for calculating it? I work in python, but anything will do.

I can imagine the basic steps. Two successive vectors define a plane, and thus 3 successive vectors define two planes. The change in angle between the plane normals is proportional to the torsion. But I need an exact formula, with the calculated torsion having the proper dimension of 1/length^2.

ap21
  • 2,372
  • 3
  • 16
  • 32
  • 1
    Please do not cross-post ([Math.SE question](https://math.stackexchange.com/questions/2906452/estimate-torsion-for-a-discrete-space-curve-using-4-points)). [math.se] is the better site to ask this question. – Nico Schertler Sep 06 '18 at 15:38
  • 2
    I'm voting to close this question as off-topic because it is a purely mathematical question and it was cross-posted. – Nico Schertler Sep 06 '18 at 15:39

1 Answers1

0

Having some parametrization of curve r(t) (for example, by length of polyline chain) you can calculate three derivatives using 4 points: r', r'', r'''.

Then torsion is:

 v = r' x r''     //(vector product) 
 torsion = (r''' .dot. v) / (v.dot.v)  //.dot. is scalar product
MBo
  • 77,366
  • 5
  • 53
  • 86