# The thorny subject of multiple knots

Can somebody educate me on this subject? My current focus is on curves projected onto surfaces, which seems to be generating a lot of multiple knots. I guess much of this could also apply to surfaces with multiple knots. The description of Knots in the help file is OK as far as it goes, but it doesn’t go into much detail on Multiple Knots and the effect they do (or don’t) have on geometry downstream. So, can someone enlighten me:

What circumstances bring about the creation of multiple knots (other than manually placing one knot on top of another)?

Is there any difference in the meaning of the terms “multiple knots” & “fully multiple knots”?

Does using RemoveMultiKnot have any effect on the shape of a curve? If it’s a projected curve, lying on a surface, will that curve still completely remain on that surface after using the command?

Are there any steps I can take to prevent the creation of curves with multiple knots?

Are they “good practice”?

What circumstances bring about the creation of multiple knots (other than manually placing one knot on top of another)?

I don’t know. Maybe if the surfaces you project onto have sharp edges?

Is there any difference in the meaning of the terms “multiple knots” & “fully multiple knots”?

A knot can be multiple up until the degree of the curve. Each time, the continuity at the knot position is reduced by one. A degree 3 curve is G2 continuous; at a double knot it is G1 continuous; at a triple (i.e. fully multiple) knot it is G0 continuous.

Does using RemoveMultiKnot have any effect on the shape
of a curve? If it’s a projected curve, lying on a surface, will that
curve still completely remain on that surface after using the command?

Yes. If you remove knots, you alter the shape and it won’t lie (exactly) on the surface anymore.

Are there any steps I can take to prevent the creation of curves with multiple knots?

I don’t think so, but I really don’t know.

Are they “good practice”?

They have their uses, although the official Rhino guideline is to prevent using them. When creating ship hulls, we use fully multiple knots (or as we call them knuckle lines) to get perfectly straight parts in otherwise curved surfaces.

1 Like

When you say multiple knot I assume you mean more than one knot at the same location. I don’t think Rhino allows you to insert more than one knot at the same location. You can insert a knot very close to another knot but there also seems to be a hard limit as to how close. The only way the user can create a multi-knot in a curve is to split the curve and then join it and then remove one knot. The curve must be at least degree 3. The equivalent for a surface would be to split (by isocurve) then mergesrf (smooth=no) then remove a knot.

The fully multiple knot means there are as many knots as the degree. Multi-knot would mean more than one but less than “fully miltiple” RemovemultiKnot does not remove fully multiple knots.

Removing knots might or might not change the shape of the curve.
If you take a curve and insert a knot and then remove the knot the shape should stay exactly the same. One would think that on projected curves the multi-knots would be there only when they are necessary to accurately make the curve to within tolerance. But more often than not the extra knots can be removed and the curve will still be as accurate. It is not unusual to discover that the curve is slightly more accurate after removing multi-knots. When you work with well behaved surfaces you will find that it is very rare that removing multi-knots will make the curve no longer within tolerance of the surface. By well-behaved I mean surfaces that don’t have extremely ugly curvaturegraphs.

That is one of the terms for which I’m seeking clarification. The Rhino command is RemoveMultiKnot. I assume this refers to multiple coincident (i.e. stacked) knots?

I’m unrolling simple curvature surfaces on a helical staircase. The cast-concrete installers that went before me have interpreted the term Helical fairly liberally, so I can’t use Helix commands. Once unrolled, I draw construction lines onto the flat shapes and then ApplyCrv to get them back on to the original surfaces. Very often the applied curves have multiple knots. Projected and PullBack curves frequently have them too. If I subsequently want to tweak CP’s in Z to get things to look right and maintain a smooth rising line, multiple knots are not desirable. Point editing the rail curves for transition pieces is also fouled up by multiple knots. I’m creating the surfaces that I’m applying to in the first place, so I can avoid ‘ugly curvature graphs’.

The changes made to a curves shape after using RemoveMultiKnot seem very subtle/negligible. I haven’t had a case yet where post-RMK the curve won’t split the surface it lies upon, but that doesn’t mean that the curve hasn’t changed form.

This might prove useful:
http://developer.rhino3d.com/guides/opennurbs/nurbs_geometry_overview/

I believe the parameter space knot value has to be identical to be considered for removal by RemoveMultiKnot. Close doesn’t count.
However knots that are extremely close together often cause even more problems than multi-knots. You can remove those manually if you run into them

You can check with CrvDeviation

.

Hi - This one seems to work here:

-wim

1 Like

Tnx…but it dosn’t help to clarify the concept. As an example i don’t understand the relation between knot vector and the positions of points that shows while using RemoveKnot command.
pls McNeel! Give us in depth explanation on what exactly going on behind the scene

Here’s a bit more:

-Pascal