Free-form curves

This may be very basic but I am trying to get my mind around the definition of “Free-Form Curve”. Isn’t simply a line that isn’t straight?? :slight_smile:

The fact that it’s defined in the Help section as a NURBS curve is throwing me off. Aren’t all lines/ curves in Rhino NURBS? :hushed:

I guess it makes a differenciation based on the degree of the curve.
degree 1 are only straight lines. knots at every point
degree 2 are only arcs or parabolas. knots every 3 points
degree 3 and above, could be anything. no knots. and I think that’s where Free form comes to play

The free‑form curves have higher degree than 2 and are combined with CAD commands that can manipulate these curves without any restrictions.

2 Likes

Are you refering to this page in Rhino 5 Help? https://docs.mcneel.com/rhino/5/help/en-us/seealso/sak_curve.htm

In Rhino a line is straight, while a curve can be either curved or straight. So all lines are also curves, but not all curves are lines. “Free form curve” the shape of the curve is not limited to specific types of shapes as straight lines, conical sections (portions of circles, ellipses, parabolas and hyperbolas) and similar.

All lines, polylines, curves and polycurves including conical-sections used by Rhino can be represented by NURBS.

??? :face_with_raised_eyebrow:

All NURBS curves have knots.

Degree 2 curves are not limited to arcs and parabolas. Degree 2 curves can have arbitrary shapes. It is true that conical-section curves can be represented exactly using degree 2 NURBS curves with special sets of knots and weights. But degree 2 NURBS curves are not limited to those special cases.

Degree 3 and above NURBS curves have knots, just like degree 1 and degree 2 NURBS curves.

Number of knots = number of control points + degree - 1
Number of control points => degree + 1

Except for degree 1 curves there is not a simple association of control points and knots.

Degree 2 curves can have arbitrary shape.

1 Like

thanks. is more clear now

I disagree. Imagine that you have an arc on the left side of your drawing, a straight line on the right side of your drawing, and nothing in the middle of your drawing. Your job is making smooth connection between the arc and the line. The smooth connection means, at least, a tangent connection (G1 continuity). If the arc and the line are not aligned, the smooth connection must be a curve that has two (so called) bends. Such curve is degree 3 curve. (Degree 2 curves have one bend only.)

By the way, I have not seen any precise definition of the free‑form curve, so I invented it. The free‑form curves are curves that look good-enough when they approximate arbitrary “curvy” shapes.

The bends are described here: https://docs.mcneel.com/rhino/6/help/en-us/popup_moreinformation/degree.htm

Only if single span. From Andrew’s link above: From a NURBS modeling point of view, the (degree –1) is the maximum number of “bends” you can get in each span. NURBS curves can have have any number of spans. Example of degree 2 curves. The blue curve is degree 2 with 4 control points, 2 spans. Degree2Example.3dm (48.4 KB)

1 Like

I like to add that the term Free-form is not very “technical”. There are primitives like lines, polylines, circles, parabolas etc. and splines. A spline is a mathematical function, piecewise definied by polynomals. Usually, but not necessarily, represented in parametric form. This means you enter a arbitary number within a given domain and you’ll get a point on that curve refering to it. The most basic property of any spline.

In CAD usually Bezier Splines are the spline of choice.Often as the superset called Nurbs, which internally can be composed out of one or multiple primitive Bezier-Splines. The reason why Bezier splines are favorised, is because they allow a designer to easily create smooth and appealing curves by only tweaking a litte amount of so called control points.

A Non-Uniform Rational Basis/Bezier Spline curve can be rational, meaning that the impact of each controlpoint can vary and the inner continuity between each segments are defined by the so called knot vector. The spacing of the knots can vary, which are just numbers, affecting the interpolation as well, this is meant by non-uniform.

Please note that a line or circle can be represented by a single Nurbs curve. And so a Nurbs curve is not necessarily free-form, nor curved. But I would rather get rid of that term. It just means you can create a form which is not categorised. Seems to be of architectual origin. Just means you don’t create anything of usual shape.

3 Likes

So Tom, you’re saying free form “means you can create a form which is not categorized. Seems to be of architectural origin. Just means you don’t create anything of usual shape.”

Interesting.

I mean what would be a non-free form curve then?

At least in German “Freeform” is also related to a production process. Could be thats where it comes from. Its related to fact that a CNC can press a piece of metal in a specific form giving the designer more freedom for the shape.

I think in the Rhino context the term ‘freeform’ is quite loose : allowing freely variable direction and radius of curvature. To distinguish these tools from more constrained curves like arcs, lines, polylines and so on.

-Pascal

2 Likes

I agree with you