Request snap to inflection point

Hi All,
Many times I want to split curves using inflection points and would love having the option to snap in this points.
Some time ago someone shared a scrip that creates points on the curves that then can be used as split points or as references, but may be someone else likes the idea of this new feature…

About as close as you can get now, is to use the CurvatureGraph command to get close.

Once CurvatureGraph is showing on an object, you can use the command ExtractCurvatureGraph to extract the curve and intersect it with the original to get inflection points (assuming the curve is 2D).



Good call

One more way is to run _Curvature. The inflections points can be snapped to and extracted using the _MarkCurvature=Yes option.



Thanks for all the tips!
a lot of options I didn’t know about :slight_smile:

Thanks a lot!

Both _ExtractCurvatureGraph and _Curvature _MarkCurvature=Yes are new to me and quite useful in many scenarios.

But I would add that simply being able to visualize the inflection point while creating the curve could add a lot.
Imagine creating a _BlendCrv and having the CurvatureGraph turned on, just by having any visual aid to see where the inflection point is (or if there is any) could help tremendously.
Anything like a red circle or an arrow dynamically showing the inflection point position while adjusting the control points could help avoid creating some issues that might be hard to find later. :slight_smile:

Maybe there is something there already, but I was never able to find.

Hello- there is currently no way to see these inside commands. testExtractInflectionPoints is another way to get point objects at these locations on exisitng curves, in case that helps.


1 Like

Hi Pascal!

Thanks for the tip!
This works similar to the options mentioned before, a bit more straightforward, definitely.

But I think you got my point… being able to visualize the inflection points while creating the curve (same as showing the curvature graph in BlendCrv) can avoid extra work afterwards.

I came from Solidworks to Rhino3D, and there it has this feature which is quite useful - would be a nice addition to Rhino visual aids.

Kind regards,

Hello- just curious though - does the graph crossing the curve not provide enough visualization inside commands that support it?


Definitely helps.
But in this case I’m more concerned on the ends of the curve, when the combs can get a bit too small.

Of course, I could create a help line to get that right, but still would be faster just to be able to see it.
This is just something I created now to show, but could be a bit more tricky.
Also could be nice to have that inflection point visible when adjusting the curve, in case I want to fine tune it to be before, after or at a specific position.

Kind regards,

Hi Gabriel - I see - though in BlendCrv you will never have an inflection other than in the middle, it seems to me…


In fact on the curve of the example above, I had one. But is hard to spot it.

The curvature comb gets too small.
Here I used the just-learned _ExtractCurvatureGraph to intersect and show it.

Of course, on purpose I trespassed the tangent line very little to create it.

Kind regards,

Ah ok- yes, thanks I see that.


This is perfect for me Pascal! thanks.
I use it to rebuild complex curves when I want to create beziers, and having the exact position of the points is better than guessing it.

@laborda Are your curves 2D or 3D? Inflection points are well defined for 2D curves including any curve in a plane.

For 3D curves inflection points are not well defined, and any non-planar 3D curve will appear to have an inflection point when viewed/projected from some directions. The location of the apparent inflection points will depend on the direction. That is how geometry works and is not Rhino nor NURBS specific.

@davidcockey my curves are 2D, thanks anyway for the comment.
I use to rebuild curves from clients that need extrusions with draft angles and fillets, and although the volumes have a flat face, everything works better with good and simple curves.
The same happens with text volumes, many times fonts have issues with continuity that later give problems to fillet if you don’t check how they are created.

This is my workflow, let me know what you think.
I use it with VSR plugin but we may have something similar in the future…

Curve approximation