Kinks and Knots in Curves, how to remove?

Hi everyone,

I am a bit confused with these and would appreciate some clarification.

What are knots and what are kinks, how do they differ?
I noticed there is InsertKink and InsertKnot aswell as RemoveKnot but no RemoveKink?

Specifically my problem is this:

I have this Knot or Kink, not sure what to call it, but its no good for my curve.

When I use RemoveKnot on it, instead of removing it and converting it to a normal control point, it deletes the control point and shifts the knot/kink to the other control point.

And if I use remove knot again, it shifts again.

So if I go on like this removing this jumping knot, my curve basically deletes itself.

Also, if I run RemoveMultiKnot until I get this:
image
My curve still has knots:

Here the curve:
FIX KNOTS FORUM.3dm (138.9 KB)

1 Like

Hello- ‘kinks’ occur where there is a ‘fully multiple’ knot, that is, degree number of knots piled up at one location. RemoveMultiKnot deliberately ignores these because they are often required to be there - knots that are not fully multiple should be removed by the command.

In your example, removing one knot does not shift the kink- if you look closely the new ‘kink’ is not one.
I would do this - depending on what the goal is - remove one knot, then RemoveMultiKnot, then MakeUniform - the curve should be a little more tractable.

-Pascal

2 Likes

Hi Pascal, okay. Thanks for the clarification.

I still wonder how do I remove the single Knot without it jumping to the next control point?

1 Like

Hello- it does not jump - it does make a very accerlerated bend there but it is not a kink MakeUniform will help there as I decribed above-

-Pascal

1 Like

Yeah I had bad experience with MakeUniform changing the overall curve too much.

Jump might not be the correct word, but it basically deletes my control point while moving the knot on to the next control point. I would like to keep the control point but remove the knot entirely.

I find Rebuild does work in this case, but its so strange why those knots happen, there should be a way to avoid them honestly.

Here I copy the same curve and remove knot.
When I remove the knot, it seems a control point that did not have a knot now inherits it.

1 Like

The bend is a sharp one but not a kink after the knot is removed… that control point has unexpected influence, so to speak, because the curve is non-uiniform. If you want more predictable point editing behavior, you have to work with uniform curves, in general, and adust the points to get the shape you want - note one thing Rebuild does is split out an uniform curve.

-Pascal

1 Like

Is it possible to avoid knots when joining two curves?

For instance joining a straight line with a circle, it creates a knot, but Rebuild and Makeuniform deform the arc which is a big no-no.

Here you can see how the control point that joins line and circle is a knot or knit, or a just has unexpected influences, whatever those 3 cases, I would like to avoid but keep my arc intact (aka still have a center snapping).

1 Like

Well… knots exist. What is irking you is fully multiple knots, and those are inherent in joining curves since all curves that are not periodic have fully multiple knots at the ends. Joining always leaves a kink - you must remove knots to not have a kink and there is no way to have an exact arc without… just the way it is.

-Pascal

2 Likes

This claim is incomplete and can be misleading.

The unexpected control point influence behavior seen here is not because the curve is non-uniform. but because the parameter increments between knots is proportionately very different than the arc length increments between knots.

Similar problems can occur when a curve is uniform with equal parameter increments between knots but the arc length increments between knots are very non-uniform. “Uniform” in uniform curve means the parameter increments are uniform, and does not mean anything relative to the knot spacing in geometric space.

For the original curve in the vicinity of the kink the parameter increments and chord length increments between knots are:
Parameter Chord length
16.74 16.82
33.95 52.07
0.01894 25.45
0.01605 27.85
0.01397 27.78
Note the order 10^3 difference in parameter space while the arc lengths are similar.

MakeUniform changes the knot parameter spacing to uniform without affecting control points. Unless the input curve is single span, uniform or a straight line MakeUniform will change the shape of the curve.

Rebuild creates uniform curves with close to uniform arc length increments between knots. The resulting curves tend are well behaved.

3 Likes