Basic Definitions of NURBS

I am preparing an educational content for teaching Rhino. I would appreciate it if someone could help me understand if these statements are technically correct.

In NURBS, three factors determine the quality of a curve in a mathematical formula called the evaluation rule:

  1. Control Points: These are a family of points in three-dimensional space that define the overall shape of the curve. The control points have an associated number called a weight. When a curve’s control points all have the same weight, the curve is called non-rational; otherwise, the curve is called rational. The ‘R’ in NURBS stands for ‘rational’ and indicates that a NURBS curve has the possibility of being rational.
  2. Degree: This determines the intensity of the influence of the control points on the curve and how smoothly that curve travels through the control points.
  3. Knots: knots can be thought of as specific positions or parameters on the curve where the different segments of the piecewise polynomial function meet. Knots also refer to a list of numbers, sometimes called the knot vector. The term “non-uniform” refers to the fact that the spacing of the knots in the knot vector can be uneven.

@dalelear would be the man to chime in here if you want to deep dive into this topic.

1 Like

Statements are technically correct.

1 Like

@Macz - something to review.

– Dale

1 Like

Thanks Kyle. It would be great if I could talk to Dale because I’d really like to know more about this topic.

Thank you very much.

Thanks

This sentence is not accurate. “quality” is not what is being determined by a formula.

The sentence should read:

In NURBS, three factors determine the location of a point on a curve in a mathematical formula called the evaluation rule:

In other words, the NURBS curve that you see represented on a computer screen is just made by computing a bunch of points that are sufficient in number that it is made to look like a continuous shape.

The Control Points, Degree and Knots are inputs for those computations. The Knots are an ordered list of numbers (values). The first number and the last number in that Knot list are the Domain of the curve. Pick any number within that range (Domain) and call that number a Parameter. Now you have the 4th necessary ingredient for calculating the location of a point at that Parameter.
The knots and degree determine which set of Control points influence the shape of the curve at any chosen parameter.

In addition to the location of points at some Parameter you can also find other properties of a curve such as the direction and curvature at that Parameter.

2 Likes

Thank you so much Jim for your complete explanation. That’s right, the output of the formula is a point. So, a curve is made by putting together, for example, a thousand points, where each point is produced by the formula? Is this the same for surfaces?

Objects are saved as a set of parameters. For curves and surfaces these include the control point locations and knot vectors.

For many internal calculations Rhino uses the formulas and the stored parameters for the object. The details of how the formulas are used depends on what the calculation does.

For some internal calculatons involving surfaces Rhino creates an “analysis mesh” by sampling the surface. The analysis mesh is then used for the calculations.

1 Like

The idea I was trying to convey was that the curve is never really made.
In CNC manufacturing if you want a cutter to follow a NURBS curve, the way it is usually done is to calculate points on the curve and connect them with linear interpolation. In other words, the path the cutting tool follows is a polyline with enough segments that it looks smooth. Something similar is done when making a NURBS Curve for display on a computer screen or when printed to paper. A 1000 points seems like a lot of points for one curve but if your curve is long enough and you want a very accurate display of the curve that might be reasonable.

And yes the same applies for surfaces. In the case of surfaces there are two parameters (often they’re called U and V). You can think of the point as where two Isocurves of the surface intersect at the chosen parameters.
In the case of surfaces the calculated points are used to make a mesh and some interpolation scheme is used to make the mesh appear as a smooth surface.

1 Like

Thanks David for the explanation. I need to learn more basic definitions. Do you know of any educational resources that explain these things in a basic way?

Thanks again Jim for your explanation. I don’t want to take your time anymore. Do you know an educational resource that explains these things?