Can't create a periodic curve of D points

Hi all.

Creating a new nurbs curve, the amount of control points must be at least equal to its degree +
That’s not the case for periodic curves.

Selected is a simple degree=3 curve with just 3 control points created on Rhino:


periodic nurbs curve.gh (6.8 KB)

the curve actually have 3 control points, but on grasshopper you get 6 (n+D).

On grasshopper, theoretically the same construction:
Periodic, with 3 control points and degree=3 you get the warning:
“1. The degree must be less than the number of control-points”
… and so the output curve is degree=2.

So creating the same curve directly on grasshopper is impossible…?

I’m not sure if this matches what you’re looking for.


PeriodicCurve.gh (8.3 KB)

…no, a curve generated like that, with actually twice the points, in fact is two real loops.


periodic nurbs curve.gh (21.0 KB)
It will have more weights and knots than the one made in rhino.
Dividing the curve or intersecting it with a plane show that is truly a “two loop” periodic curve.

This problem occurs with any periodic curve with an amount of control points equal to its degree…

C# method allows to create such curve. Rhino.Geometry
NurbsCurve myCurve = NurbsCurve.Create(true, 3, myPts);

Also it seems Nurbs Curve PWK component lets create correct 3 degree curve, but from 6 points

2 Likes

You may give it a try with Nurbs Curve PWK, and fyi.

Curve.gh (7.9 KB)