What Aizatulin did is basically the same as what I did.
I was originally going to provide an example like that, but took the opportunity for my own personal curiosity to see if it could be done without having to do a ‘polyline’ curve highly re-sampled.
The smaller the distance between the points the more ‘accurate’ the tangent.
On my node named ‘Wrap’ there's the parameter labelled ‘U_Offset’. This is basically the distance away from the position on the curve being considered to get a tangent. I locked that parameter with a value of 1e-05.( the ‘equivalent’ of the distance set from re-sampling between two points of a polyline).
So essentially my example too is using a ‘high re-sampling of points’, just without the points.
In either case though, Aizatulin or mine, there is no true tangent and technically not an ‘accurate’ deform from the original to the curve.
Unlock that U_Offset parameter and give it a higher value of say 0.1, and you will see it starts to give a ‘bad’ result, or even a much smaller value, where floating point errors start to creep in because the values are too close to zero and the coding is not dealing with that.
In order to get a true tangent, it would take implementing some derivative(calculus) function.
For me, that's where the coding starts to get heavy
- I don't have a clue how to implement that. Maybe 30 years ago when I did do calculus and knew it well enough at the time to write a function.
Looking over the vex functions available it seems there are some that might help, but those functions appear to be only available in the shader context of Houdini.
Might be worthwhile (myself) to put in an RFE.
One thing I loved about working in Solid Works…being able to get a true tangent(derivative created) of any type of curve.
Not important for visual representation (can't tell the difference visually) but it is important for industrial design where measurement tolerances/relationships can be critical…but hey why use FX software for such…but I digress from too much morning coffee.