Curve Through Point with Tolerance

Is there any simple way to draw a curve tangent to a starting line, that passes within a specified tolerance of a set of points, and tangent to an ending line?

Hello - No, not with plain Rhino.


so the start and end tangent directions should be fixed, but not the start and end point of the curve?

the start and directions should be fixed in location and direction.

thx. and is it only one individiual curve, or is it a set of curves which then should be used to interpolate / loft to a surface? such that it would be optimal to have all the curves parametrized with the same knots?
can you send a picture or points of one of the curves?

Here is one example in the horizontal. I have marked tangency lines. The points are rounded to the nearest 1/16" of an inch giving steps.

Problem Curve Example.3dm (2.9 MB)

I run into this problem all the time with rounded point data. It would be great to have something that would generate smooth curves with +/- 1/32" through the points and tangent to curves at the ends (or with the option to to be tangent at knuckles).

In most cases there are sets of curves.

The problem with FAIR is that it requires moving too fair away from the data points to get a smooth curve.

The problem with just ignoring the data is that other pieces have to match within the same tolerance.

Hello - I don’t know if part of the request is that it be automatic, but CurveThroughPoint > Control point curves, degree 3, followed by Match for the tangency, and then PointDeviation and some control point editing to fine tune is a viable way to do this - it takes some patience but seems to me not to be at all impossible.


Mathematically it is possible to set up and solve such an approximation problem of curves to scattered points and given end conditions, see the attached file.curve-approx-with-end-tangents.3dm (94.2 KB) I Struggled to get the curve withn 1/32" to the points.A reasonable result could be achieved with a max distance of 3/32" to the points.
The overall length of the curve is about 10000" so 1/32 looks a bit ‘too’ small for my gusto. What origin are the data?

It is tabular data from the Navy. I have found that some of the data points are clearly in error (transcribed wrong). Therefore, detecting bad points would be useful. What is weird is that linear data is specified to the nearest 1/32" while angular data is specified down to the second.

The problem I have is that other things match up to many of the data points. If if the curve moves too far and it has a dependency, the movement creates a chain reaction.

I am trying to minimize complexity while allowing things to fit together.