What is the difference between a B-spline surface interpolation and a skinning surface?

370 Views Asked by At

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).

1

There are 1 best solutions below

0
On

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.