Interpolating curves questions

CurveThroughPt with Curve=Interpolated returns the same curve as InterpCrv with the only difference appearing being the input method: selection of each point or location in order for InterpCrv and selection of all input points and automatic ordering for CurveThroughPt. Are there any other differences?

Both commands return curves with:

degree 1 - number of control points = number of input points

degree 3 - number of control points = number of input points + 2

degree 5 - number of control points = number of input points + 5

degree 7 - number of control points = number of input points + 7

What are the extra conditions in addition to the input points used to determine the control points for degree 3 and greater?

How do I obtain an interpolating curve with the number of control points = number of input points (number of input points equal to or greater than degree + 1)? Each “edit” point on the curve would coincide with an input point.

Hi David - I believe right now you cannot, in Rhino, but I think I heard the bigger brains say that this is perfectly possible, in theory, just not how Rhino is set up to work. I’ll see if I can track that down…

-Pascal

It is absolutely possible, and should be simpler than what is currently done in InterpCrv and CurveThroughPt. For many uses the simpler curve with edit points on input points would be much more useful - for instance to be able to easily modify the curve for fairing, etc by moving one input/edit point with the curve continuing to pass through the other input curves. There are manual work-arounds but they are less than ideal.

I’ve done some more systematic testing, and the situation is more confusing/chaotic than I originally thought. The attached file has the results of using InterpCrv and CurveThroughPt with Interpolated on sets of 2, 9, 13 and 20 points to generate degree 3, 5 and 7 curves with Knots = Uniform, SqrtChord and Chord.
InterpolateDC01.3dm (208.9 KB)
(6.0.18012.13241, 1/12/2018), the last release candidate was used. I understand that is the same as V6.0.

For degree 5 and 7 with Uniform the resulting curves have the same number of control points as the number of input points, with the edit points coinciding with the input points. (Other than 2 input points.)

For degree 3 with Uniform the resulting curves have number of control points equal to the number of input points plus 2, so the number of spans equals the number of spaces between input points and the ends of spans coincide with input points. All but 2 of the edit points on each curve coincide with input points, with the other two edit points being near the curve ends.

I’ll discuss the more chaotic results with Knots = SqrtChord and Chord in a later post when I have time. Until then explore the results on your own,