![]() | This article is rated B-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||
|
The definiton of B-spline is not correct:
And two notes:
I am not native speaker, so I haven't touched the article. Someone, please consider my remarks.
The matrix form of the uniform B-splines may not be correct. If the basis formula is derived from the Bernstein polynomial, then the correct cubic matrix is [-1 3 -3 1; 3 -6 3 0; -3 3 0 0; 1 0 0 0].
An excellent reference for B-splines & Bezier curves is G. Farin's Curves and Surfaces for Computer Aided Geometric Design Academic Press, 4th ed. 1994 (I don't know the correct way to add a book reference.)
The definition of B-spline at the top, as a function into the plane, is not consistent with most of the rest of the article, where B-splines are real-valued. The definition doesn't need to be the most general, but should cover common cases at least, so whoever fixes the other points, could you have a look at this, too? Possibly a simple definition with references for variants? Reidhuntsinger ( talk) 20:53, 29 April 2010 (UTC)
OK, I misunderstood. Maybe distinguish between a "B-spline curve" (the first instance of B-spline) and a B-spline? Note that the former is often referred to as a B-spline, too. Define a spline as a linear combination of B-splines, then point out that a "B-spline curve" is just a pair of splines t -> (f(t),g(t)). Reidhuntsinger ( talk) 21:03, 29 April 2010 (UTC)
What is the exact definition of a blending function?-- SiriusB 08:18, 5 September 2005 (UTC)
I am not an expert on this - but the degree in the Cox-deBoor recursion looks out by 1. I will change (change back if you object) Michael Kemp. —Preceding unsigned comment added by 137.166.4.130 ( talk) 00:37, 26 September 2008 (UTC)
I think there is some information missing to make this comprehensible for people that (like me) are new to B-splines:
After quite some time of thinking I think to have found out that the parameter t is for all three segments, while in the form that constant and linear B-splines are given in, t does not "jump" from 1 to 0 at the segment borders. Am I right? If so, this should definitely be clarified. -- Zupftom ( talk) 12:36, 1 May 2009 (UTC)
P.S.: It is said that the B-spline given in the above form is uniform, but this doesn't say anything about the distance between two knots, right? —Preceding unsigned comment added by Zupftom ( talk • contribs) 12:43, 1 May 2009 (UTC)
D. Salomon's book "Computer graphics and geometric modeling" has some higher-order basis matrices worked out...
For example, the quartic spline:
Any value in putting this on the article (or at least referring to the book) ?
-- Immer in Bewegung ( talk) 06:06, 21 May 2009 (UTC)
I propose that this article be split into two articles, one pertaining to the use of the term "B-spline" to refer to a curve, the other pertaining to the use of "B-spline" to refer to a mathematical function.
"Spline" already has a disambiguation page. It seems to me that "B-Spline" needs one too, for parallel reasons. Dratman ( talk) 21:28, 24 January 2011 (UTC)
Isn't B in B-spline just from name Bazier. It is just like linear, quadratic, qubic splines have in each interval linear quadratic or qubic form, similary in B(azier)-splines in each subinterval we have a Bezier function (which is a function of basis polynomials aka Bernstein basis functions). So who and why, call B-splines a "basis splines" ? I do not get it, and I'm not sure if this is correct. —Preceding unsigned comment added by 149.156.82.207 ( talk) 19:13, 7 April 2011 (UTC)
In de Boor's "A Practical Guide to Splines" (2001), chapter IX, p 99, he has a section titled "B stands for basis", and makes it clear that Bezier splines are a special case of B-splines. — Preceding unsigned comment added by Eigenjohnson ( talk • contribs) 14:34, 7 March 2020 (UTC)
I have two objections with the definition of the B-Spline. Firstly, the article states , but the next formula states . Isn't this inconsistent? Please clarify.
Secondly, consider the following B-Spline: Degree n=1, p=2 points, thus m=p+n+1=4 knots. Let the knot vector be (0,0,1,1), thus t in [0,1]. For t=1 however, both and evaluate to 0 according to the definition in the article. What is the problem? In particular, but .
SimonFuhrmann ( talk) 20:18, 14 August 2011 (UTC)
I added the external link to my free Web e-book. It is a more complete treatment of piecewise interpolation for those new to the subject and aimed at graphics. I'll add references to other related Wiki pages in the future.
My e-book is both a study of the fundamentals described in simple terms as well as a reference showing many types of Polynomial Interpolation -both common types and some developed by the author. It also shows some techniques not seen elsewhere. Linear interpolation is looked at carefully and shown is as the basis for all more advanced types using only Algebra. Only after understanding how adding squared and cubed terms cause smooth curves, are the more advanced curves examined such as Bezier, Catmul-Rom, b-spline, and Hermite. More advanced mathematical concepts and notations are kept to a minimum. Some additional techniques that are suggested by the mathematics and that the author has not seen elsewhere are examined. A reference is also included with all the most common curve drawing methods and includes drawings to allow comparison with other types.
WHY: I had hoped, but failed to find a book explaining polynomial interpolation basics and thought that one must certainly exist with a collection of interpolation types. I found either purely mathematical tests or advanced graphics texts. Several years later, I started reading the original Internet Usenet "groups", comp.graphics.algorithms, and did lots of searching on the net. I saved whatever I found related to splines and curves, but did not look at it or try to understand any of it until early in 1996, I decided to look at what I had collected, and started to figure things out. I begin recording my thoughts for future reference and this is the result. The very book I wanted originally is now freely available for others.
I do not believe this has any issues with the Wiki self cite guidelines. -- Steve -- ( talk) 22:48, 28 August 2011 (UTC)
Is it true that a cardinal spline is a b spline? Just that we assume that consecutive t_i's have distance 1? I think a remark along those lines in the text would really help understand it. 12.25.180.20 ( talk) 22:57, 13 June 2013 (UTC)
I have done a major revision of this article which was rather confused. In particular, the bits pertaining to computer graphics are now in a separate section. I have had to delete statements such as "Put in matrix-form, it is:<ref>[http://graphics.idav.ucdavis.edu/education/CAGDNotes/Quadratic-Uniform-B-Spline-Curve-Splitting/Quadratic-Uniform-B-Spline-Curve-Splitting.html Splitting a uniform B-spline curve]</ref>
because
If someone can provide an acceptable verification source, it could be re-instated into the section on computer graphics, but it will need further explanation (e.g. uniform knots) and perhaps a revision of the terminology. Petergans ( talk) 17:25, 13 August 2013 (UTC)
It is not clear what the domains and ranges of any functions defined in this article are. The standard notation is to denote a function f with domain A and range B by . Please adhere to this. — Preceding unsigned comment added by 128.32.92.238 ( talk) 20:28, 23 September 2013 (UTC)
I find the definition section highly confusing and little illuminating! The problem is that it is completely unclear why the basis sometimes has 1, sometimes 2 and sometimes 3 subscript indices. It would be great if someone could make that a bit more rigorous. (22. Jan 2014) — Preceding unsigned comment added by 149.217.40.222 ( talk) 13:54, 22 January 2014 (UTC)
The formulae in the section on derivative expressions have a factor of k-1. This would seem to suggest that the derivative of a B-spline of degree k=1 is identically equal to 0. But surely that can't be true. I suspect that the source for these expressions uses indexing starting from k=1 whereas this article uses indexing starting from k=0. Does anyone object if I change the k-1 to k? Ossi ( talk) 14:48, 30 March 2014 (UTC)
I don't understand where k=0 is supposed to be implied. Petergans ( talk) 12:40, 5 April 2014 (UTC)
I've reverted the edit. You can't change one k into k-1 and leave others unchanged.
before your edit -
after your edit - :
Petergans ( talk) 11:46, 11 April 2014 (UTC)
Should the summation start from instead of , since is nonzero on interval ? -- RandomOpossum ( talk) 18:14, 18 August 2021 (UTC)
The total number of knots is not k+2. At both ends there are are k knots because the function and all its derivatives are discontinuous at the limits of definition. Stricly speaking, therefore, the total is 3k, but this would need explanation, so giving the number of internal knots as k is simpler, and is also correct. The multiplicity of the knots at the ends is a technicality of no practical importance. Petergans ( talk) 08:47, 18 April 2014 (UTC)
The definition
is quite clear - when k=1 the spline function has degree 1 and is a constant. Unless you can demonstrate an inconsistency within the article, this discussion is closed. Petergans ( talk) 08:49, 20 April 2014 (UTC)
I've now changed the article to be in accordance with de Boor. Ossi ( talk) 14:31, 1 May 2014 (UTC)
I see this topic mentioned a bit here, but it needs to be addressed: If knots are repeated, which is a common case, the ramp functions,
and
may go to infinity, which isn't well-behaved. I'm trying to figure out what the right behavior is: It seems like if the ramp function is infinite then the corresponding B may be zero, so we could wave our hands and make that "correction", but that's not exactly elegant. Conceptually those ramp functions are just trying to indicate how far along each knot span x is, so it's probably safe to clamp the ramp functions to the range [0, 1]. Of course, for a knot that appears thee times, that might get weird since the two ramp functions together wouldn't be a partition of unity. What's the Right Way to deal with this? —Ben FrantzDale ( talk) 13:18, 29 April 2014 (UTC)
import numpy as np
def FindSpan(p,u,U):
"""
Determine the knot span index
"""
if u < U0 or u > U-1]:
raise IndexError("u == {} out of range: [{}, {}]".format(u, U0], U-1]))
m = len(U) - 1
n = m - p - 1
assert n + p + 1 == m, "Invalid n. Should be: {} not {}".format(m - p - 1, n)
if u == Un+1]: return n # Special case
# Do binary search (could use np.searchsorted(U, u, side='right')-1 here)
low = p
high = n+1
mid = (low + high) // 2
while u < Umid or u >= Umid+1]:
if u < Umid]:
high = mid
else:
low = mid
mid = (low + high) // 2
return mid
def BasisFuns(i,u,p,U):
"""
Compute the nonvanishing basis functions
Algorithm A2.2 on p. 70
"""
N = np.nan * np.ones(p+1)
N0 = 1.0
left = np.nan * np.ones_like(N)
right = np.nan * np.ones_like(N)
for j in range(1, p+1):
leftj = u-Ui+1-j
rightj = Ui+j-u
saved = 0.0
for r in range(j):
temp = Nr / (rightr+1 + leftj-r])
Nr = saved + rightr+1 * temp
saved = leftj-r * temp
Nj = saved
return N
The article says "Whereas Bézier curves evolve into only one parametric direction, usually called s or u, NURBS surfaces evolve into two parametric directions, called s and t or u and v." This sounds like it's making the distinction between curves and surfaces. But this isn't fundamental to NURBS versus B-splines. Am I misunderstanding? You can certainly take the tensor product of B-splines or Bézier curves to get surfaces. —Ben FrantzDale ( talk) 17:28, 7 May 2014 (UTC)
The WP:LEAD of this article is basically incomprehensible unless you read the "introduction" first, even though it's basically the same material and the definitions aren't that complicated. I suggest replacing most of the current lead with the material from the section called "introduction" and abolishing the latter. JMP EAX ( talk) 11:58, 15 August 2014 (UTC)
The much more confused article Bézier spline duplicates some of this, although this (B-spline) article isn't exactly peachy either for it fails to explain how B-splines relate to piecewise/composite Bézier curves. JMP EAX ( talk) 15:06, 15 August 2014 (UTC)
The comment(s) below were originally left at Talk:B-spline/Comments, and are posted here for posterity. Following several discussions in past years, these subpages are now deprecated. The comments may be irrelevant or outdated; if so, please feel free to remove this section.
Please add useful comments here--
Cronholm144 07:26, 24 May 2007 (UTC)
There seems to be a notational inconsistency. Under "Definition", the degree of a spline is defined to be its polynomial degree plus one, whereas under "Examples", the degree is identified with the degree of the polynomial. This makes one suspicious of indexing. —Preceding unsigned comment added by Myblueface ( talk • contribs) 13:26, 18 April 2010 (UTC) |
Last edited at 13:26, 18 April 2010 (UTC). Substituted at 08:45, 29 April 2016 (UTC)
The Cardinal Spline section uses the function
but that subscript plus symbol is certainly not conventional notation, and needs explaining, or better: this function needs rewriting to a more conventional notation so that the majority of readers can understand it without needing to leave wikipedia to find out what the actual meaning of the notation is. Pomax ( talk) 17:41, 23 July 2016 (UTC) — Preceding unsigned comment added by 76.10.187.132 ( talk)
Currently, the Definition section's first paragraph gives a definition of a B-spline. The second paragraph goes on to claim that For any given set of knots, the B-spline is unique, hence the name, B being short for Basis. However, a (non-zero) multiple of a B-spline is again a B-spline for the same knots with the current definition, so uniqueness does not hold. -- 66.253.183.240 ( talk) 17:54, 9 October 2016 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on B-spline. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{
Sourcecheck}}
).
This message was posted before February 2018.
After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than
regular verification using the archive tool instructions below. Editors
have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the
RfC before doing mass systematic removals. This message is updated dynamically through the template {{
source check}}
(last update: 5 June 2024).
Cheers.— InternetArchiveBot ( Report bug) 05:06, 23 October 2016 (UTC)
Should the following excerpt:
Application of the recursion formula with the knots at gives the pieces of the uniform B-spline of order 3
be labeled ?
The notation presented previously suggests B-splines of order 3 (degree 2?) should be notated
Specifically, the solution presented here seems to me to be the piecewise function for :
I don't mean to be obnoxious here. Every write-up I've ever seen on splines immediately launches into mathematical details. It would be really helpful if this write-up started by painting a 60,000 foot view of splines to orient the reader. What are the basic ideas here? What are we trying to do and why? What's the "Spines for Dummies" story. Five years ago, I struggled through the early parts Dierckx's book. I have since forgotten. Am I now willing to spend many, many hours reading through minutiae ??? Most people need splines as part of a larger task and do not have the time and energy to read all of the gory details. — Preceding unsigned comment added by 2601:648:8400:554:BEE9:2FFF:FE99:5FBC ( talk) 15:57, 7 December 2022 (UTC)
It would be great to see the control points on these graphs, like on the first graph. 2A02:8071:B783:4980:B8F4:7DD9:7183:8BF0 ( talk) 18:45, 5 June 2023 (UTC)
![]() | This article is rated B-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||
|
The definiton of B-spline is not correct:
And two notes:
I am not native speaker, so I haven't touched the article. Someone, please consider my remarks.
The matrix form of the uniform B-splines may not be correct. If the basis formula is derived from the Bernstein polynomial, then the correct cubic matrix is [-1 3 -3 1; 3 -6 3 0; -3 3 0 0; 1 0 0 0].
An excellent reference for B-splines & Bezier curves is G. Farin's Curves and Surfaces for Computer Aided Geometric Design Academic Press, 4th ed. 1994 (I don't know the correct way to add a book reference.)
The definition of B-spline at the top, as a function into the plane, is not consistent with most of the rest of the article, where B-splines are real-valued. The definition doesn't need to be the most general, but should cover common cases at least, so whoever fixes the other points, could you have a look at this, too? Possibly a simple definition with references for variants? Reidhuntsinger ( talk) 20:53, 29 April 2010 (UTC)
OK, I misunderstood. Maybe distinguish between a "B-spline curve" (the first instance of B-spline) and a B-spline? Note that the former is often referred to as a B-spline, too. Define a spline as a linear combination of B-splines, then point out that a "B-spline curve" is just a pair of splines t -> (f(t),g(t)). Reidhuntsinger ( talk) 21:03, 29 April 2010 (UTC)
What is the exact definition of a blending function?-- SiriusB 08:18, 5 September 2005 (UTC)
I am not an expert on this - but the degree in the Cox-deBoor recursion looks out by 1. I will change (change back if you object) Michael Kemp. —Preceding unsigned comment added by 137.166.4.130 ( talk) 00:37, 26 September 2008 (UTC)
I think there is some information missing to make this comprehensible for people that (like me) are new to B-splines:
After quite some time of thinking I think to have found out that the parameter t is for all three segments, while in the form that constant and linear B-splines are given in, t does not "jump" from 1 to 0 at the segment borders. Am I right? If so, this should definitely be clarified. -- Zupftom ( talk) 12:36, 1 May 2009 (UTC)
P.S.: It is said that the B-spline given in the above form is uniform, but this doesn't say anything about the distance between two knots, right? —Preceding unsigned comment added by Zupftom ( talk • contribs) 12:43, 1 May 2009 (UTC)
D. Salomon's book "Computer graphics and geometric modeling" has some higher-order basis matrices worked out...
For example, the quartic spline:
Any value in putting this on the article (or at least referring to the book) ?
-- Immer in Bewegung ( talk) 06:06, 21 May 2009 (UTC)
I propose that this article be split into two articles, one pertaining to the use of the term "B-spline" to refer to a curve, the other pertaining to the use of "B-spline" to refer to a mathematical function.
"Spline" already has a disambiguation page. It seems to me that "B-Spline" needs one too, for parallel reasons. Dratman ( talk) 21:28, 24 January 2011 (UTC)
Isn't B in B-spline just from name Bazier. It is just like linear, quadratic, qubic splines have in each interval linear quadratic or qubic form, similary in B(azier)-splines in each subinterval we have a Bezier function (which is a function of basis polynomials aka Bernstein basis functions). So who and why, call B-splines a "basis splines" ? I do not get it, and I'm not sure if this is correct. —Preceding unsigned comment added by 149.156.82.207 ( talk) 19:13, 7 April 2011 (UTC)
In de Boor's "A Practical Guide to Splines" (2001), chapter IX, p 99, he has a section titled "B stands for basis", and makes it clear that Bezier splines are a special case of B-splines. — Preceding unsigned comment added by Eigenjohnson ( talk • contribs) 14:34, 7 March 2020 (UTC)
I have two objections with the definition of the B-Spline. Firstly, the article states , but the next formula states . Isn't this inconsistent? Please clarify.
Secondly, consider the following B-Spline: Degree n=1, p=2 points, thus m=p+n+1=4 knots. Let the knot vector be (0,0,1,1), thus t in [0,1]. For t=1 however, both and evaluate to 0 according to the definition in the article. What is the problem? In particular, but .
SimonFuhrmann ( talk) 20:18, 14 August 2011 (UTC)
I added the external link to my free Web e-book. It is a more complete treatment of piecewise interpolation for those new to the subject and aimed at graphics. I'll add references to other related Wiki pages in the future.
My e-book is both a study of the fundamentals described in simple terms as well as a reference showing many types of Polynomial Interpolation -both common types and some developed by the author. It also shows some techniques not seen elsewhere. Linear interpolation is looked at carefully and shown is as the basis for all more advanced types using only Algebra. Only after understanding how adding squared and cubed terms cause smooth curves, are the more advanced curves examined such as Bezier, Catmul-Rom, b-spline, and Hermite. More advanced mathematical concepts and notations are kept to a minimum. Some additional techniques that are suggested by the mathematics and that the author has not seen elsewhere are examined. A reference is also included with all the most common curve drawing methods and includes drawings to allow comparison with other types.
WHY: I had hoped, but failed to find a book explaining polynomial interpolation basics and thought that one must certainly exist with a collection of interpolation types. I found either purely mathematical tests or advanced graphics texts. Several years later, I started reading the original Internet Usenet "groups", comp.graphics.algorithms, and did lots of searching on the net. I saved whatever I found related to splines and curves, but did not look at it or try to understand any of it until early in 1996, I decided to look at what I had collected, and started to figure things out. I begin recording my thoughts for future reference and this is the result. The very book I wanted originally is now freely available for others.
I do not believe this has any issues with the Wiki self cite guidelines. -- Steve -- ( talk) 22:48, 28 August 2011 (UTC)
Is it true that a cardinal spline is a b spline? Just that we assume that consecutive t_i's have distance 1? I think a remark along those lines in the text would really help understand it. 12.25.180.20 ( talk) 22:57, 13 June 2013 (UTC)
I have done a major revision of this article which was rather confused. In particular, the bits pertaining to computer graphics are now in a separate section. I have had to delete statements such as "Put in matrix-form, it is:<ref>[http://graphics.idav.ucdavis.edu/education/CAGDNotes/Quadratic-Uniform-B-Spline-Curve-Splitting/Quadratic-Uniform-B-Spline-Curve-Splitting.html Splitting a uniform B-spline curve]</ref>
because
If someone can provide an acceptable verification source, it could be re-instated into the section on computer graphics, but it will need further explanation (e.g. uniform knots) and perhaps a revision of the terminology. Petergans ( talk) 17:25, 13 August 2013 (UTC)
It is not clear what the domains and ranges of any functions defined in this article are. The standard notation is to denote a function f with domain A and range B by . Please adhere to this. — Preceding unsigned comment added by 128.32.92.238 ( talk) 20:28, 23 September 2013 (UTC)
I find the definition section highly confusing and little illuminating! The problem is that it is completely unclear why the basis sometimes has 1, sometimes 2 and sometimes 3 subscript indices. It would be great if someone could make that a bit more rigorous. (22. Jan 2014) — Preceding unsigned comment added by 149.217.40.222 ( talk) 13:54, 22 January 2014 (UTC)
The formulae in the section on derivative expressions have a factor of k-1. This would seem to suggest that the derivative of a B-spline of degree k=1 is identically equal to 0. But surely that can't be true. I suspect that the source for these expressions uses indexing starting from k=1 whereas this article uses indexing starting from k=0. Does anyone object if I change the k-1 to k? Ossi ( talk) 14:48, 30 March 2014 (UTC)
I don't understand where k=0 is supposed to be implied. Petergans ( talk) 12:40, 5 April 2014 (UTC)
I've reverted the edit. You can't change one k into k-1 and leave others unchanged.
before your edit -
after your edit - :
Petergans ( talk) 11:46, 11 April 2014 (UTC)
Should the summation start from instead of , since is nonzero on interval ? -- RandomOpossum ( talk) 18:14, 18 August 2021 (UTC)
The total number of knots is not k+2. At both ends there are are k knots because the function and all its derivatives are discontinuous at the limits of definition. Stricly speaking, therefore, the total is 3k, but this would need explanation, so giving the number of internal knots as k is simpler, and is also correct. The multiplicity of the knots at the ends is a technicality of no practical importance. Petergans ( talk) 08:47, 18 April 2014 (UTC)
The definition
is quite clear - when k=1 the spline function has degree 1 and is a constant. Unless you can demonstrate an inconsistency within the article, this discussion is closed. Petergans ( talk) 08:49, 20 April 2014 (UTC)
I've now changed the article to be in accordance with de Boor. Ossi ( talk) 14:31, 1 May 2014 (UTC)
I see this topic mentioned a bit here, but it needs to be addressed: If knots are repeated, which is a common case, the ramp functions,
and
may go to infinity, which isn't well-behaved. I'm trying to figure out what the right behavior is: It seems like if the ramp function is infinite then the corresponding B may be zero, so we could wave our hands and make that "correction", but that's not exactly elegant. Conceptually those ramp functions are just trying to indicate how far along each knot span x is, so it's probably safe to clamp the ramp functions to the range [0, 1]. Of course, for a knot that appears thee times, that might get weird since the two ramp functions together wouldn't be a partition of unity. What's the Right Way to deal with this? —Ben FrantzDale ( talk) 13:18, 29 April 2014 (UTC)
import numpy as np
def FindSpan(p,u,U):
"""
Determine the knot span index
"""
if u < U0 or u > U-1]:
raise IndexError("u == {} out of range: [{}, {}]".format(u, U0], U-1]))
m = len(U) - 1
n = m - p - 1
assert n + p + 1 == m, "Invalid n. Should be: {} not {}".format(m - p - 1, n)
if u == Un+1]: return n # Special case
# Do binary search (could use np.searchsorted(U, u, side='right')-1 here)
low = p
high = n+1
mid = (low + high) // 2
while u < Umid or u >= Umid+1]:
if u < Umid]:
high = mid
else:
low = mid
mid = (low + high) // 2
return mid
def BasisFuns(i,u,p,U):
"""
Compute the nonvanishing basis functions
Algorithm A2.2 on p. 70
"""
N = np.nan * np.ones(p+1)
N0 = 1.0
left = np.nan * np.ones_like(N)
right = np.nan * np.ones_like(N)
for j in range(1, p+1):
leftj = u-Ui+1-j
rightj = Ui+j-u
saved = 0.0
for r in range(j):
temp = Nr / (rightr+1 + leftj-r])
Nr = saved + rightr+1 * temp
saved = leftj-r * temp
Nj = saved
return N
The article says "Whereas Bézier curves evolve into only one parametric direction, usually called s or u, NURBS surfaces evolve into two parametric directions, called s and t or u and v." This sounds like it's making the distinction between curves and surfaces. But this isn't fundamental to NURBS versus B-splines. Am I misunderstanding? You can certainly take the tensor product of B-splines or Bézier curves to get surfaces. —Ben FrantzDale ( talk) 17:28, 7 May 2014 (UTC)
The WP:LEAD of this article is basically incomprehensible unless you read the "introduction" first, even though it's basically the same material and the definitions aren't that complicated. I suggest replacing most of the current lead with the material from the section called "introduction" and abolishing the latter. JMP EAX ( talk) 11:58, 15 August 2014 (UTC)
The much more confused article Bézier spline duplicates some of this, although this (B-spline) article isn't exactly peachy either for it fails to explain how B-splines relate to piecewise/composite Bézier curves. JMP EAX ( talk) 15:06, 15 August 2014 (UTC)
The comment(s) below were originally left at Talk:B-spline/Comments, and are posted here for posterity. Following several discussions in past years, these subpages are now deprecated. The comments may be irrelevant or outdated; if so, please feel free to remove this section.
Please add useful comments here--
Cronholm144 07:26, 24 May 2007 (UTC)
There seems to be a notational inconsistency. Under "Definition", the degree of a spline is defined to be its polynomial degree plus one, whereas under "Examples", the degree is identified with the degree of the polynomial. This makes one suspicious of indexing. —Preceding unsigned comment added by Myblueface ( talk • contribs) 13:26, 18 April 2010 (UTC) |
Last edited at 13:26, 18 April 2010 (UTC). Substituted at 08:45, 29 April 2016 (UTC)
The Cardinal Spline section uses the function
but that subscript plus symbol is certainly not conventional notation, and needs explaining, or better: this function needs rewriting to a more conventional notation so that the majority of readers can understand it without needing to leave wikipedia to find out what the actual meaning of the notation is. Pomax ( talk) 17:41, 23 July 2016 (UTC) — Preceding unsigned comment added by 76.10.187.132 ( talk)
Currently, the Definition section's first paragraph gives a definition of a B-spline. The second paragraph goes on to claim that For any given set of knots, the B-spline is unique, hence the name, B being short for Basis. However, a (non-zero) multiple of a B-spline is again a B-spline for the same knots with the current definition, so uniqueness does not hold. -- 66.253.183.240 ( talk) 17:54, 9 October 2016 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on B-spline. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{
Sourcecheck}}
).
This message was posted before February 2018.
After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than
regular verification using the archive tool instructions below. Editors
have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the
RfC before doing mass systematic removals. This message is updated dynamically through the template {{
source check}}
(last update: 5 June 2024).
Cheers.— InternetArchiveBot ( Report bug) 05:06, 23 October 2016 (UTC)
Should the following excerpt:
Application of the recursion formula with the knots at gives the pieces of the uniform B-spline of order 3
be labeled ?
The notation presented previously suggests B-splines of order 3 (degree 2?) should be notated
Specifically, the solution presented here seems to me to be the piecewise function for :
I don't mean to be obnoxious here. Every write-up I've ever seen on splines immediately launches into mathematical details. It would be really helpful if this write-up started by painting a 60,000 foot view of splines to orient the reader. What are the basic ideas here? What are we trying to do and why? What's the "Spines for Dummies" story. Five years ago, I struggled through the early parts Dierckx's book. I have since forgotten. Am I now willing to spend many, many hours reading through minutiae ??? Most people need splines as part of a larger task and do not have the time and energy to read all of the gory details. — Preceding unsigned comment added by 2601:648:8400:554:BEE9:2FFF:FE99:5FBC ( talk) 15:57, 7 December 2022 (UTC)
It would be great to see the control points on these graphs, like on the first graph. 2A02:8071:B783:4980:B8F4:7DD9:7183:8BF0 ( talk) 18:45, 5 June 2023 (UTC)