Tangent line between a point and a curve

How to find a tangent line between a point (not on a curve) and a curve at the same cplane as it is implemented in Rhino through the Line command with option Tangent > Point? Maybe there is a python solution, can’t find the corresponding method from the line structure of Rhino API.

I have various things that do that but are all done via C# (and you can’t “auto” translate them to P). They work in 2 steps: the first gets an approximation (or many) and the second recursively “refines” the search [kinda a classic bounce solver, that is] until some sort of solution (or many - see image below) within doc tol/atol is/are achieved.

Anyway notify if you want a similar [entry level] take on that matter.

1 Like

Hi @PeterFotiadis! Do you use GetLocalTangentPoint for that?

1 Like

Hi @maje90! Can’t open the .exe package on my mac. Wonder what is TanPts component, is it custom?

No idea why is the .exe appearing… just remove it
2022-04-13 18_50_10-Download

then drag and drop the file over your canvas. It appear then on a new “user” tab.

1 Like

No. If you can read C# see the usage of a Class in order to feed the bounce (recursive) solver with sorted items (then you can Take as many candidates you want provited that their D value is less some user defined value):

1 Like

Thank you @maje90, your method is really cool.
The first component that I came up with another method is Extrude Point,
then use physical intersection CCX to get the folding edge and find the point,
but turning the surface into mesh isn’t smart and fast,
soI still believe your method has more accuracy compared with GetLocalTangenPoint

And I just wish GH could add the component to help get the folding edge or if there is already one.
TangentPointCompare.gh (57.6 KB)