I'm trying to compute the curvature of 3D points belonging constituting a curve (as showed in the image). Is there any efficient way to compute this ? I tried computing the slopes between each 2 successive voxels, however the result wasn't too good. It was very localized (even if I considered several neighbors).
Asked
Active
Viewed 260 times
0
-
By "curvature" do you intend the mathematical meaning (magnitude of the rate of change of the unit tangent vector)? Do you have any access to the function that created the curve? Why did you add the tag `volume` to this question? – Rory Daulton Jan 05 '18 at 16:34
-
take a look at these: [Approximate a curve with a limited number of line segments and arcs of circles](https://stackoverflow.com/a/42998651/2521214) and [Circular approximation of polygon (or its part)](https://stackoverflow.com/a/27251997/2521214) – Spektre Jan 05 '18 at 16:43
-
@Rory. By "Curvature" I mean "mean-Curvature" or "Gaussian-Curvature". This curve is part of a skeleton that I'm working on. The tangent vector in this case is equivalent to the slope from one voxel to another. I "Volume" tag was added since this cuve can be considered as a Volume. – javier Jan 05 '18 at 16:47
-
@spektre. I'll look at it. – javier Jan 05 '18 at 16:47
-
@javier if that is not enough you still can fit a polynomial curve like BEZIER through it ... – Spektre Jan 05 '18 at 16:50
-
@spektre. Your links are more associated to approximation of curves. My goal is to have a scalar describing the curvature of each 3D point. Can you more explain your proposition about BEZIER? – javier Jan 05 '18 at 16:52
-
Detect points where curve change (slopes are changing) or sample with some step instead and use those points as control points for interpolation cubics (or convert/fit to BEZIER control points). That will lead to piecewise polynomials patches. See [How can i produce multi point linear interpolation?](https://stackoverflow.com/a/30438865/2521214) The interpolation cubic does not require any fitting and can be done in any dimensionality... – Spektre Jan 05 '18 at 16:58
-
this is how it looks like in 2D [Catmull-Rom interpolation on SVG Paths](https://stackoverflow.com/a/30750626/2521214) see the animated GIF at the bottom – Spektre Jan 05 '18 at 17:01
-
Thank you. I will try this (I understand lol) – javier Jan 05 '18 at 17:04