<p>When you have a curve you can adjust the knots so that they lie on top of each other. This is essentially a bit like having several control points on top of each other, except there's only one point. This is sometimes known as multiplicity or duplicity.</p>

<p>When you have as many knots on top of each other as you have degrees in the curve smoothness, you end up with a cusp, also known as as sharp corner. Once you have a sharp corner you can just go and delete the points on the opposite side as they no longer affect points no the other side of the corner. </p>

<p><img src="https://i.sstatic.net/6DWhc.png" alt="Curve with cusp"></p>

<p><strong>Image 1</strong>: Curve and control cage (Top) and basis functions (bottom). In this case the curve acts as 2 adjoining bezier curves, The image is using the knot vector [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2].</p>

<p>If we look at a knot vector then the multiplicity looks like a seqence of n knots that have the same number. Note if you do not add ecactly as many knots on top as there is smoothness then you get a partially sharp corner.</p>

<p><img src="https://i.sstatic.net/iuSp4.gif" alt="Animation"></p>

<p><strong>Image 2</strong>: Animation with interpolation of knot form [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2] to  [0, 0, 0, 0, 0.34, 1, 1.66, 2, 2, 2, 2] and back. If you do proper point insertion then the curve does not change. Just talking about what multiplicity is.</p>

<p>Alternatively to changing parametrization you can just add points on top of each other. This is equivalent although slight misuse of resources, but useful in surface modeling. Having many control points on top could also be useful for the uniform nature of the knot distribution.</p>

CC BY-SA 3.0
2015-08-27T12:33:48.817Z
When you say "knots lie on top of each other", you mean that their values don't change in the knot vector? So in your example [0, 0, 0, 0], [1, 1 ,1], [2, 2, 2] all "lie on top of each other"?
Ecir Hana
CC BY-SA 3.0
2015-08-27T12:45:26.903Z
@EcirHana yes that is what i mean a more normal parametrisation would be [0, 0, 0, 0, 0.5, 1, 1.5, 2, 2, 2, 2] Ill add a animation
joojaa
CC BY-SA 3.0
2015-08-27T13:28:23.723Z
Just to check: so to split a NURBS curve the main task is to insert knots so that the overall shape remains unchanged, correct?
Ecir Hana
CC BY-SA 3.0
2015-08-27T13:31:22.490Z
Yes, once you have enough knots you can delete whats on the other side.
joojaa
CC BY-SA 3.0
2015-08-27T13:34:43.487Z
There is a different strategy also you can insert one knot and delete the points that nolonger affect the knot you get a slightly different parametrisation though. I prefer this method for most of my own modeling. But nobody else seems to have heard of this.
joojaa
CC BY-SA 3.0
2015-08-27T13:54:31.220Z
Out of curiosity, what kind of modeling software do you use? Or you mean in your own code?
Ecir Hana
CC BY-SA 3.0
2015-08-27T13:56:28.700Z
Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/27460/discussion-between-joojaa-and-ecir-hana).
joojaa
CC BY-SA 3.0
2017-10-31T12:24:18.713Z
"adjust the knots so that they lie on top of each other. This is essentially a bit like having several control points on top of each other" -- Well maybe it's a bit similar, but not much. Making control points coincident will cause derivative vectors to be zero, which leads to all sorts of problems. Making knots coincident is benign.
bubba
CC BY-SA 3.0
2017-10-31T12:28:55.533Z
> you end up with a cusp -- you have the *potential* for forming a cusp, but you won't necessarily get a cusp.
bubba
CC BY-SA 3.0
2017-10-31T14:21:26.733Z
@bubba yes its possible to fit on the other side, and yes if you have multiple knots on top you loose some of the interpolant to no movement, anything outside this area is same.
joojaa
CC BY-SA 3.0
2015-08-27T11:55:04.603Z
2015-08-27T13:02:58.983Z
2015-08-27T13:02:58.983Z
joojaa
<p>In <a href="https://computergraphics.stackexchange.com/questions/340/splitting-of-nurbs-curves">Splitting of NURBS curves</a> there the answer relied on "maximum knot multiplicity". In order not to mix-up different topics I would like to kindly ask to answer it in another question: what is this "knot multiplicity" all about?</p>

<nurbs>
NURBS knot multiplicity
Ecir Hana
# NURBS knot multiplicity

(Asked by: username_0 on 2015-08-27)

In [Splitting of NURBS curves](https://computergraphics.stackexchange.com/questions/340/splitting-of-nurbs-curves) there the answer relied on "maximum knot multiplicity". In order not to mix-up different topics I would like to kindly ask to answer it in another question: what is this "knot multiplicity" all about?

**Tags:** nurbs


---

## 1 answers

### Answer by username_1 on 2015-08-27. Score: 6 | Accepted answer

When you have a curve you can adjust the knots so that they lie on top of each other. This is essentially a bit like having several control points on top of each other, except there's only one point. This is sometimes known as multiplicity or duplicity.

When you have as many knots on top of each other as you have degrees in the curve smoothness, you end up with a cusp, also known as as sharp corner. Once you have a sharp corner you can just go and delete the points on the opposite side as they no longer affect points no the other side of the corner.

![Curve with cusp](https://i.sstatic.net/6DWhc.png)

**Image 1**: Curve and control cage (Top) and basis functions (bottom). In this case the curve acts as 2 adjoining bezier curves, The image is using the knot vector [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2].

If we look at a knot vector then the multiplicity looks like a seqence of n knots that have the same number. Note if you do not add ecactly as many knots on top as there is smoothness then you get a partially sharp corner.

![Animation](https://i.sstatic.net/iuSp4.gif)

**Image 2**: Animation with interpolation of knot form [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2] to [0, 0, 0, 0, 0.34, 1, 1.66, 2, 2, 2, 2] and back. If you do proper point insertion then the curve does not change. Just talking about what multiplicity is.

Alternatively to changing parametrization you can just add points on top of each other. This is equivalent although slight misuse of resources, but useful in surface modeling. Having many control points on top could also be useful for the uniform nature of the knot distribution.

> **Comments:**
> **username_0**: When you say "knots lie on top of each other", you mean that their values don't change in the knot vector? So in your example [0, 0, 0, 0], [1, 1 ,1], [2, 2, 2] all "lie on top of each other"?  
> **username_1**: @username_0 yes that is what i mean a more normal parametrisation would be [0, 0, 0, 0, 0.5, 1, 1.5, 2, 2, 2, 2] Ill add a animation  
> **username_0**: Just to check: so to split a NURBS curve the main task is to insert knots so that the overall shape remains unchanged, correct?  
> **username_1**: Yes, once you have enough knots you can delete whats on the other side.  
> **username_1**: There is a different strategy also you can insert one knot and delete the points that nolonger affect the knot you get a slightly different parametrisation though. I prefer this method for most of my own modeling. But nobody else seems to have heard of this.  
> **username_0**: Out of curiosity, what kind of modeling software do you use? Or you mean in your own code?  
> **username_1**: Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/27460/discussion-between-username_1-and-username_0).  
> **username_2**: "adjust the knots so that they lie on top of each other. This is essentially a bit like having several control points on top of each other" -- Well maybe it's a bit similar, but not much. Making control points coincident will cause derivative vectors to be zero, which leads to all sorts of problems. Making knots coincident is benign.  
> **username_2**: > you end up with a cusp -- you have the *potential* for forming a cusp, but you won't necessarily get a cusp.  
> **username_1**: @username_2 yes its possible to fit on the other side, and yes if you have multiple knots on top you loose some of the interpolant to no movement, anything outside this area is same.  

---

