UDT FlowAlongSrf - refit vs. refine/addKnot

This is a nerdy detail about the technical Background of UDT - and wether the help is correct:

The help for FlowalongSrf says that “objects are refit”.

I always thought that curves and surfaces are refined by adding Knots.

This is also what is stated at _matchSrf help
"Rhino adds knot lines to the modified surface or surfaces until the surfaces are within tolerance. "

thanks for clarification - and if the help / the link to refit is wrong - please update it.

kind regards -tom

@Tom_P the information about UDT is correct

its a refit, not adding knots ? are you sure ?
refiting what ?

my guess would be, some sample points are used and where ever the new geometry is of, a knot is added. this can be repeated until all sample points are within tolerance.
But with refitting ? how should refitting do the refining ?

In the process of refitting, knots will be added. Maybe your question is more about terminology?

maybe.

i am irritated by the link to refit.

help - flowAlongSrf: objects are refit as needed

help - matchSrf: adds knot lines to the modified surface or surfaces until the surfaces are within tolerance (for me this is very clear)

does refit mean - adding knots until the tolerance is met ?

I thought refit can also reduce the complexity of a surface / curve

??

Well, there ist that.

I have noticed, while putting together transitioning to Rhino guidelines, that the terminology is somewhat inconsistent or obscure, as in the above example “knot lines”, which in other surface modellers are “isoparametric curves” (“real” isocurves from knots, not “display” isocurves, which, I must say, I find misleading), which is why the coming “KnotsOn” for curves and surfaces will be much welcomed. Also strictly speaking, lines are straight in the Euclidean space we’re usually working in ; )

In Bulgarian language, typically we don’t say the translation of “curve”, which is “крива”. Instead, we say “права линия” to the straight lines, and “крива линия” or “извита линия” (“crooked line”, “distorted line”, “bent line”, “curved line”) to the curves. The reason for that is because “крива” has numerous meanings:

  1. A slang for “churlish woman” or “crabbed woman”. If you say to a woman “Защо си крива днес?”, it means “Why are you so churlish today?”;
  2. When something is out of expectation, or if a person is guilty. “Крива ни излезе сметката” means “Our plans went all wrong”. “Кой е крив?” means “Who is to blame?”. “Стигнахме до кривата круша” means “We are just about where we started” or “We don’t seem to have got anywhere”;
  3. It’s a widely used adjective word for anything that’s non-straight or faulty, hence the expectation is that it must be combined with another word to understand the meaning;
  4. Another way to say “ugly, asymmetrical”;
  5. A curve (in the geometry class only).

“Iso” as a prefix means “same” or “equal”. Any curve on a surface which is generated by setting the surface parameter u or v to be constant is a real isoparametric curve.

An isoparametric curve generated by setting the surface parameter u or v equal to the value of knot in the corresponding knot vector can be called a knot isoparametric curve or a knot curve.

Isoparametric curves are straight lines in u-v space, but that is not typically useful to modelers. :slightly_smiling_face:

In industrial design and transportation design NURBS surface modelling (no idea about architecture, shoes, and ship hulls), one is interested in one thing only - isoparametric curves from a curve’s or adjacent surface boundary’s knots, to see the spans of a surface one is building, so one can reduce or, rather, eliminate them. This is also why Rhino’s showing of a curve’s “Greville points” instead of the knots is not very useful, hence the @encephalon script, which helps.

Curves should be called curves. Lines should be called lines. Any other understanding is just plain confusing. Surface modellers aren’t Fields medallists.

Do you mean degree 1 lines only? I’m asking, because a 1 kilometer long perfectly straight line with 3 control points is still a line. It just has an extra point somewhere along its straight vector. However, the moment one moves any of the control points by 1 micron, that line will no longer be a true straight line, because there will be a tiny deviation from the previously perfect vector. It will still appear as a line to the untrained eye, but in reality it will be curved.

To display the locations and number of knot curves of a surface and no other isocurves set isocurve density to 0. Then an isocurve will only displayed at the surface knots, ie only knot curves. The default setting for isocurve display can be set in Options > General. Isocurve density can also be set for individual objects.

V9 WIP has a test command, TestShowKnots, which displays knots of a curves and surfaces. It should be a regular command. The display is “sticky”, similar to curvature combs and zebra stripes.

I’m not aware of Rhino displaying the edit (Greville) points of a curve other than when EditPtsOn is used, so the relevance of those points to this topic is not obvious to me.

Unless the degree of a curve or surface changes, any addition or removal of control points results in a equal number of knots being added or removed. (Adding or removing multi-knots is a bit more complicated.)

@Lagom The only downside of 0 isocurves, I find is when using wireframe, reading surfaces is not nice:

vs default

Terminology is important, so I pointed out, that terminology should not only be proper, but also consistent.

Well, you can always use shading with one of the 1234 display modes users put together :zany_face:

But, seriously, they are misleading, and have already tripped some transitioners I taught, suggesting the existence of spans that did not exist. Alias has a good solution - extra isoparametric curves, known as descriptive isoparametric curves, are displayed dotted/dashed, so one can easily differentiate them from those that demarcate spans.

Making CVs and edit points persistently visible/invisible on a per-curve/per-surface level would be great, like a persistent Gumball, once relocated.

Something similar would be a great additon to Rhino. I’ll start a new thread about this.

RH-91541 is fixed in Rhino WIP