# A couple of questions on the NURBS basis functions

I read a little about NURBS curves (specifically from http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/), and I have a couple of questions about the motivation behind the choices made in designing the basis functions.

My current understanding is that, given input knot vector, weights, control points (say we are 1-dimensional as the generalization to higher dimensional curves or surfaces doesn't appear to be a difficulty) and degree, we have basis functions $B_{1},\ldots,B_{n}$ such that each basis function looks like a bump function and the basis functions are a partition of unity. Furthermore, if we assume that knot vector doesn't have multiplicity, then each basis function is in class $C^{d}$, where $d$ is the degree.

My questions are below:

1) The notes say that the support of $B_{i}$ is going to be $d$ intervals in the knot vector. So the support of $B_{i}$ is going to be increasing in the degree $d$. In particular, this seems to me like the curve produced is going to be less local in its dependence on the control points.

By this, I mean that if I move a control point $x_{i}$, then the curve near $x_{i-\lfloor d/2\rfloor},\ldots,x_{i+\lfloor d/2\rfloor}$ are all going to move (whatever the precisely statement is, the interval of control points grows linearly in $d$). Now, this seems like a bad thing, as I would assume we want to have the curve closely approximate the control points and making the curve depend on an interval of control points instead of the closest control point makes this harder.

However, it doesn't seem like a difficult task to make the support of $B_{i}$ smaller, say only two intervals in the knot vector, while still maintaining that it is in class $C^{d}$. I'm sure somebody has thought about this, but I can't find this easily. Why don't people do this?

2) There are examples of bump functions in basic analysis that are $C^{\infty}$. These won't be rational functions like the NURBS basis functions, but why don't we use $C^{\infty}$ bump functions as basis functions? It seems to me that when we increase the degree of the NURBS basis functions, we approximate the control points less closely so we have more regularity (differentiability). But if we use $C^{\infty}$ bump functions, we get a smooth curve.

Why don't people use (non-polynomial) $C^{\infty}$ basis functions? Well, the basis functions used in the Bezier curves I mentioned above are $C^{\infty}$, because they are polynomials (Bernstein polynomials, actually). In the CAD industry (which is where NURBS are used most, I guess), you can't just make up your own new types of curves, with new types of basis functions. People who use CAD systems often have to exchange data with other people who use other CAD systems, and NURBS are the standard exchange medium -- every system uses them. The benefits of standardisation and easy data exchange far out-weigh any benefits that could be gained by using some exotic new form of curve.