For me both results are wrong. t (parameter). If t=1 point should be at the end of the curve.
Update:
BTW, for some reason t also accepts negative values and values above the length of the curve. The component becomes orange but the point continues to follow an imaginary curve.
true for Bezier, false for Nurbs.
Nurbs can consist of many subcurves. The parameterization is up to knotvector, and is arbitary. Usually domains in Rhino are close to the curves length. The spacing between the knots is important not the number.
Ok, but both nurbs both same approach when creating them, by control points degree 3, 5 control points in Rhino and GH give different curves (knotvector-wise). This is inconsistency and it causes problems with you start using these curves.
mhh. Grasshopper has no own implementation. Its Rhinocommon. The domain is up the command if you do not feed a knotvector. There are differences which makes sense, but its not obvious from outside and its definitely not trivial. Its no inconsistency, the topic is just more difficult as you might expect.
I usually stay away from evaluate curve or PointAt unless you reparam first or you obtained the t value from something like closest point. Better to use normalized length. Use the .PointAtNormalizedLength method. For start or end use .PointAtStart and .PointAtEnd. Also note doing something like .5 on a reparamed curve will not necessarily be the mid point when using evaluate parameter - it will be the middle of the knot vector. .5 on normalized length will be the actual middle of the curve. (There is an evaluate length component that demonstrates normalized length).
I am doing the same, but GH and RH apparently have different methods of creating the curve. Giving different values for the knotvectors and this is inconsistency.
Yes I have two different cases one with Nurb curves and one with Nurbs surface that GH and RH produce different default values for the KnotVectors and the difference especially in the surface is huge.
you might use Ilspy to read how gh and rc is doing it and you can download opennurbs, find the invocation from rc in it. So basically its all open source…