4
$\begingroup$

In reading the wikipedia page about B-Splines https://en.wikipedia.org/wiki/B-spline, I am getting confused about the concept of knots.

If we have a spline of order $n$, with a knot vector ($t_0, \cdots, t_k$), then if the $k$ knots are distinct, I think we have $k$ polynomials that are pieced together, but if we have that $r \leq k$ knots are distinct, then I am not sure what this means.

How many polynomials are we piecing together? How is the overall piecewise curve defined?

$\endgroup$
4
$\begingroup$

So, the number of polynomials that you piece together depends on multiple factors, including the number of control points and the degree of the curve. If the number of points is equal to the order, then you have a single polynomial, if the order is $n$ and you have $n+1$ points, then you are piecing together 2 polynomials, etc...

Distinct points are points that are different from each other. Take the vector [0,1,2,3,4] where all knots are distinct and contrast it with [0,1,2,2,3,4] where the knot 2 has multiplicity 2 (it's not distinct since it appears twice). These knots lower the degree of the curve locally by 1 for each repetition.

The overall curve can be defined in many ways, the simplest way to look at it is as DeDoor's algorithm, which is a generalisation of DeCastlejeau's.

I am going to do a bit of self promotion and link my own notes of B-Splines. Gitlab's PDF viewer butchers them a bit so I recommend downloading them and reading them with Okular or Adobe reader.

Regardless, that document has more information than what can be put into a stack exchange answer and does indeed try to convey the intuition about how to build B-Splines, both mathematically and algorithmically.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Looks well written, will definitely check it out thanks. $\endgroup$ – IntegrateThis Jan 28 at 23:29
  • $\begingroup$ If you catch any mistakes or things are not clear let me know, I'll correct them and clarify anything that isn't clear. $\endgroup$ – Makogan Jan 28 at 23:30
  • 1
    $\begingroup$ @IntegrateThis I assume the document was of help? $\endgroup$ – Makogan Feb 27 at 17:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.