it might be a naive question, but i’m trying to find the curvature of a curve at each point on the curve.
i’m not sure i know how to find it. i looked online at wikipedia/mathworld, but it didnt make too much sense.
can someone please tell me how to find the curvature? thanks.
Here is an idea which may not work:
For each point, fit a circle to the point and two neighbor points. The curvature will be 1 divided by the radius of the fitted circle.
I like the circle idea. That’s related to the circle of curvature, where circle and curve share a common tangent
r = 1 / k,
k = 1 / r.
But to use this you need to know the radius of curvature. For an sphere/ellipse this would be a great way to go I think.
Another way to express curvature from calculus is
k = ||V x A|| / ||V||^3,
where V and A are the velocity and acceleration vectors along the curve at some instant in time. For a set of points along the curve, you could use the definition of the derivative
r’(t) = V
~ (r(t+h) - r(t)) / h
~ (Pi+1 - Pi) / h,
r’’(t) = A
~ (r’(t+h) - r’(t)) / h
~ (r(t+2h) - 2 r(t+h) + r(t)) / h^2
~ (Pi+2 - 2 Pi+1 + Pi) / h^2
for consecutive points Pi, Pi+1, Pi+2 along the curve.
Of course if this is for a curve that can be differentiated directly, then you should probably do so.