Search code examples
bsplinenurbs

How to combine Rational B-spline Surfaces?


How to combine Rational B-spline Surfaces into one or fewer? How do metrics such as tolerance, u/v degree, u/v span influence the final result, if any?

enter image description here


Solution

  • In general, there is no way to create a single rational B-spline surface as the exact merge result of the 4 input rational B-spline surfaces. So, you will have to settle with an approximation. Consequently, there is no need for this approximating surface to be rational. The approximation schemes typically are divided into two categories:

    1) Given degree and number of spans in U and V directions, try to find the "best fit" surface to the 4 surfaces. Typically, the max deviation between the output surface and the input surfaces are also computed so that users will know how well this surface fit the input.

    2) Given degree in U and V directions and a tolerance value, try to find the "best fit" surface to the 4 surfaces where the max deviation between the output and the input is smaller than the input tolerance value.

    The 2nd approach will normally use the algorithm for the 1st approach and iterate over the number of spans in U/V direction to determine the optimum number of spans. Therefore, typically it will take a lot longer of time when compared with the 1st approach.