I only just noticed the Curve.InflectionPoints method and have tried implementing it in GHPython. I might be misunderstanding the method, but for instance in this case I would expect curves 0, 2, 3 and 4 to also return inflection points (i.e. as visible by their curvature graphs):
Upon further inspection there appears to be something funky going on with the curvature along several of the curves. I wrote a quick/naive function to find inflection points based on measuring consecutive curvature vector angles. Where with a 90 degree condition yields a similar result to the Curve.InflectionPoints method, but lowering this substantially finds more (i.e. there might not actually be any inflection points on these curves):
Did a bit more digging, the missing inflection points appear in cases where the curve is not planar. And thus yield this more gradual inflection, which is not located at one point (curve 2):
inflection points.gh (6.2 KB)
I tried using the RhinoCommon API method, but the result is null. I’m not very skilled in GhPhyton Script. Could you give me a hand please. Also I tried this in the Rhino 8 WIP which is supposed to correct the previous bugs. as its mentioned here (Rhino 8 WIP Available Now! - #65 by brian)