uwestoehr wrote: ↑Tue Mar 22, 2022 1:14 am
What does your definition says about the basis functions? What order must they have, what are in turn their base functions? Are these Bernstein polynoms? I don't see there a definition about this.
Hello Uwe. Now that we have a bit more time after the release, let's try to get this clarified. I'm still not being too mathematically rigorous here, so excuse the broad strokes.
Thing is, it seems you're mixing up the concepts of "Bezier curves" and "B-Splines". Bernstein polynomials form the basis for Bezier curves only. When weights are applied, we get what is called a
rational Bezier curve. The rational part comes from the fact that certain normalization has to be done, as you wrote in the wiki (note the function is now a rational function in the parameter, which is t in the case of the previous link). Uniform or non-uniform does not come into picture yet. That comes into picture for splines.
Now, a spline is a combination of Bezier curves. B-splines are basis functions for a general spline
that respect the continuity, but let us set that aside for now, and look at the spline in terms of the bases of the constituent Bezier curves. In that case, the basis functions look something like these (sorry for the transparent background, you can open these in a new tab if they're not clear):
- first bezier curve bases
- Bernstein_Polynomials_1.png (35.87 KiB) Viewed 1753 times
- second bezier curve bases
- Bernstein_Polynomials_2.png (37.71 KiB) Viewed 1753 times
In this case, the first curve spans a 0<=t<0.5, and the second spans 0.5<=t<=1.0. We define the functions to be zero outside of their respective ranges. Now, if we consider the pole at t = 0.5 to be the same for both curves, we have 7 poles, and this is equivalent to a cubic spline with a 3-multiplicity knot at t=0.5. However, if we want continuity at higher derivatives, we have to impose more restrictions on these poles. This effectively reduces the number of poles, since one new point dictates two other points at every derivative continuity imposed. I will not go into the details of how, but the lectures we have been discussing can shed some light on that.
Finally, we come to the "non-uniform" part: instead of doing the split at 0.5, if we did the split at, say 0.6 (so the first curve spans a 0<=t<0.6, and the second spans 0.6<=t<=1.0), that is an example of a "non-uniform" spline. I cannot properly explain what difference it makes with the present "broad strokes" explanation, but that is exactly what is being done in this video that you previously shared:
https://www.youtube.com/watch?v=w-l5R70y6u0.