I am working through The NURBS Book and I have come across two types of surface interpolations for my data:

1) Global Interpolation of data with a B-spline surface, and

2) Skinning surface (makes a surface by interpolating over B-spline curves).

I see that option (1) interpolates a set of data points, while option (2) interpolates over a set of B-spline curves. If my data is a set of sets of planar points I could easily use option (1) or (2). Option (1) is straightforward. For option (2) I would simply interpolate each set of points with a B-spline curve and then interpolate over the curves.

I guess my question is, Is there a difference between the two methods for my particular case, that is, when the actual data points are known?

I suppose that if I only had curves and not data points, I would need to do option (2).


The surface skinning technique basically assumes that each curve is an isoparametric curve of the surface. So, if you interpolate data points into B-spline curves first and use surface skinning to interpolate these curves, you are assuming that the points on the same B-spline curves have the same u or v values in the surface's parameter space. Therefore, when input curves are not well-aligned, very often the resulting skinned surface will have bad parametrization. If you interpolate directly from data points, you will not have this problem.

As a matter of fact, if you have some curves that are very badly aligned, it is often recommended to sample points on the curves and interpolate a surface from the sampled data points. This way the resulting surface has a better chance to be well parametrized. Of course, this way the input curves only lie closely on the resulting surface.


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.