What's the detailed expression

39 Views Asked by At

Thank you in advance.

I am not sure if B-spline/NURBS can express as basic function in matrix, as, $$ x(t)=B(t)c $$ $$ B(t)=[b_1(t)...b_M(t)] $$ in which x(t) is a Dx1 states, B(t) is known temporal B-spline basis functions, each individual basis function is alos D-dimensional, c is a Mx1 column of coefficients.

If yes, What's the detailed expression of B(t)? Can someone help me with the following Question?

1

There are 1 best solutions below

0
On

I don't understand what you mean by "Dx1 states", or "temporal B-spline basis functions".

But I'll take a shot, anyway ...

B-spline basis functions are real-valued functions. If $b_1(t) \ldots b_M(t)$ are b-spline basis functions for some space of splines, then any spline function $x(t)$ in that space can be written as a linear combination in the form: $$ x(t) = b_1(t)c_1 + \cdots + b_M(t)c_M $$ That's what "basis" means, in any vector space, of course.

You can find the definition of b-spline basis functions in any book on splines. They are usually defined recursively. Look here, for example. Since the definition is recursive, it's not easy to write down explicit formulae, except for the cases where degree is only two or three. Even then, since the functions are piecewise polynomials, the explicit formulae are messy, unless the knots are uniformly distributed. For the case of quadratic b-splines with uniform knots, explicit formulae for the basis functions are given on the Wikipedia page I cited above.

You can choose to think of this as the product of the row $[b_1(t) \ldots b_M(t)]$ and the column $[c_1 \ldots c_M]^T$ if you want to, but I don't see how that helps.

The coefficients $c_1 \ldots c_M$ can come from any space. In CAD, they are usually elements of $\mathbb{R}^2$ or $\mathbb{R}^3$ or $\mathbb{R}^4$, but they could be $d$-dimensional objects, too, and things would still work.