Rational Bspl

Rational B-Spline

Rational B-Spline is seldom to be used in real CAD application because it is hard to be controlled. This is not my opinion, it is the opinion of the real designer. Please read this article, The Dirty LittleSecrets of Hull Design by Computer.

For the information of Rational B-Spline, you can refer to the following two articles of Wikipedia,

Here below is the simplest form of Rational Bezier equation and its sample figure.

Anyway, as I wish to extend my Bezier-X solutions to cover all the categories of NURBS, so I spent over a year just try to conquer the Rational-part-of-NURBS, but I failed to find any theoretical method so far. Yet, you can see that I still be able to locate the true intersection points in between two rational Bezier curves on the “X of Rational NURBS” page, but the way I did it is via simulating curve. As soon as the simulating curve is close enough to the original curve then it can be used to find the real X points in between two Rational B-Splines through a little modification of my Bezier-X method.

Frankly I wrote the demo solution for Rational B-Spline is just to show that my Bezier-X solution is extendible to solve the real X points in between any two complicated curves as soon as we can find the way to simulate them with either NURBS or poly-Bezier. Rather than that I am not recommend to use Rational B-Spline by myself, because it is un-nature in its curvature to me.

The real usage of Rational B-Spline

On the article of Non-uniform rational B-Spline of Wikipedia, it says “Rational Splines can represent any conic section”. But if you read the textbook carefully, you will find the only Rational-Spline application that we put in discussion is used to represent Arc with the spline degree of 2; apart from that there is no other common application of Rational-Spline were heard and never mentioned to the Spline of degree 3 or higher.

Besides the application of Arcs, some says the weight of control-point can give it certain local control ability. The Knots-Equations that I presented can also give you some local control ability by varying the strength and alignment of the knots-vector. But I have to admit one truth; there is no way to generate a true Arc just by varying the knots-vector. Because no matter how you did that, any piece of cubic NURBS segment is just a piece of cubic Bezier curve, and the curvature in between the ordinary cubic Bezier curve and Arc are different in nature. (I do have thought to use quartic Bezier to emulate the Arc, but neither I have time to test it nor it can fit the main-stream thinking of the contemporary CAD development, so I just leave it there.)

The completeness of my NURBS-X solution

What are the abilities of my NURBS-X solution,

  • I can solve all the intersection points in between any two non-uniform b-spline of degree 2, 3 and 4; also the two target curves can be the same degree or in the mix.

  • The intersection points in between a rational b-spline and a non-uniform b-spline can be solved directly with my current solution as well.

  • For the case of the two target curves are both rational b-spline, though I have developed a way to solve them. But its working accuracy of the method is heavily depending on the similarity of the simulating curves.

The word of NURBS is really covered a big set of curves. By math definition, you can say the non-rational curve is just a sub-set of rational curve, but in fact they are quite different in their characteristics and the rational one is much more complicated than the non-rational one. Even I have learned some secrets in behind nature curve but to deal with the rational b-spline has really made me exhausted.