Understanding NURBS

 From:  Michael Gibson
7293.2 In reply to 7293.1 
Hi Hamish, there's another mechanism in NURBS called the "knot vector" which is what is different between your 2 curves, it's a separate thing from control point weights. In both of your cases there, the control points are unweighted (meaning weight has a value of 1.0), but when you do a "through points" curve, the parameterization of the curve will be calculated from the spacing between the through points, while with a control point curve it creates a uniform knot vector where the knots are evenly spaced.

So anyway it's the knot vector that you would want to look at to understand the differences between those 2 curves, some information on that here:
http://www.rhino3d.com/nurbs
http://en.wikipedia.org/wiki/Non-uniform_rational_B-spline

The relative spacing of the values in the knot vector also has a different kind of weighting effect on the curve and alters the basis functions.

If you try to do curve interpolation (the "Through points style") with a uniform knot vector the curve does not tend to behave well with different spacings between the points. So when you do an interpolated curve the knot vector is adapted to the spacing between the points so that you don't get things like curly-cues with there being a bunch of excess length of curve trying to squeeze in to a smaller space between points.

Being able to have differently spaced knots is the "NU" (Non-Uniform) part of NURBS. Being able to have different weight values for each control point is the "R" (Rational) part. This tends to be confusing because they can kind of have a similar effect of adjusting how much influence a control point has on the curve. But the knot vector also defines the parameterization of the curve, when you hear about "evaluating a curve at a given parameter value", the parameter value is a value that is inside that knot vector numerical range.

Having a non-uniform knot vector comes into play a lot more often in regular NURBS mechanisms than changing the weights do - the primary reason why weights exist is that having them set to specific values allows the curve to have the shape of exact conic sections like an exact circle.

- Michael