Non-Uniform Rational B-Spline

Non-uniform rational B -splines ( German: non- uniform rational B -splines, NURBS short ) are mathematically defined curves or surfaces that are used in the computer graphics field, for example in CGI or CAD, modeling arbitrary shapes. In principle, any technically producible or natural form are represented using NURBS. In the computer graphics field, the geometry information is however shown on piecewise function-defined geometry elements to map instead of the entire design on a single NURBS.

Development

In the 1950s, mathematically precise descriptions of freeform surfaces were needed especially in the automobile and shipbuilding, for the correct reproducibility of technical components. Prior to that time, such surfaces were described by single produced by a designer physical models.

Thus began among others, the engineer Pierre Étienne Bézier, this time at Renault in France, with the development of the eponymous Bezier curve. Regardless of Bézier worked Paul de Casteljau, an employee of Citroën, at the same time also in this mathematical problem. Because Bézier published the results of his work are now in the computer graphics splines, whose control points do not lie on the curve itself as " Bezier spline ", while the name of de Casteljau in the algorithm, named after him survives, of the numerical processing parametric surfaces is used. In the 1960s it became clear that non-uniform rational B -splines ( NURBS) is a generalization of Bézier splines, which may be regarded as non- uniform rational B- splines.

At first NURBS were only used in proprietary CAD tools from automotive companies. Later, they found their way into more widespread computer graphics applications, such as the Open Graphics Library (OpenGL).

On systems from Silicon Graphics was the first time in 1989, the real-time processing and interactive rendering of NURBS curves and surfaces possible. At CeBit In 1994, the company's CAS and CAA Berlin in cooperation with the Technical University of Berlin before the first baptized in the name NöRBS, interactive NURBS modeller for PCs. Nowadays, most professional computer graphics applications NURBS technology, which is realized in most cases by the integration of a NURBS engine that is powered by a specialized company included.

Application

NURBS are in computer- aided design (CAD) and manufacturing (CAM ) is almost irreplaceable and part of numerous industry standards, such as IGES ( Initial Graphics Exchange Specification ), STEP ( Standard for the Exchange of Product model data) and PHIGS ( Programmer's Hierarchical Interactive Graphics System ). In general, the interactive editing of NURBS curves and surfaces is very intuitive and predictable. Control points are always connected either directly to the curve or surface, or act as if they are connected with a rubber band. Manipulation of the geometry elements can - most obviously in Bezier curves - are carried out directly at the checkpoints or be realized by higher-level tools. Such tools are based in part on the properties of NURBS curves and surfaces to represent different continuity. The concept of continuity can be defined differently in this context.

Positional continuity (C0 ) is for when the end points of two curves or surfaces meet. Nevertheless, curves or surfaces may touch at an angle that leads to a sharp edge or corner at this point and interfere with light effects. The parallelism of the final vectors of curves or surfaces in the tangential continuity (C1 ) leads to a suppression of sharp edges. Tangential continuity is often sufficient, as the lighting of such geometries continuously and thus appears natural. With the same amount of end vectors prevails curvature continuity (C2). A lighted curvature- continuous transition shows no change, so that the two surfaces appear as a single surface, and is perceived as an optically perfectly smooth. The consistency level is very useful when the realizable continuous surface of many bicubic surface elements to consist of.

For practical purposes, first and second degree geometric continuities (G0 and G1) are the same as the position and tangential continuity ( C0 and C1). However GCon third degree (G2 ) differs from curvature continuity, since the parameterization in this case is also continuous. In practice, G2 continuity can be easily achieved by the use of conventional (uniform ) B-splines.

Another definition of continuity Cn is in Computer Graphics - Principles and Practice given, section 11.2. This type of definition is in addition for curves and surfaces with a basic function of higher than third order. Both direction and amount of n-th derivative of the curve () or surface must in this case have the same value in the connection. The demand for the same amount is the main difference between the upper definition. Additionally G1 continuity is reduced to the demand for parallelism of the tangent vectors, while C1 continuity requires the same amount (which is referred to in the specification as the upper C2 continuity ). C2 -continuity after the latter definition prescribes the same direction and magnitude of the curvature vector. This is an important distinction to the previous definition, if basic functions of higher order are used (as cubic) for the curve definition.

Higher levels of continuity are also possible with NURBS.

The realization of perfectly smooth looking surfaces requires NURBS surfaces that reach at least C2 continuity. Defects in the surface can be detected by illumination and reflection. A method for evaluating a surface based on the evaluation of a captured by ray tracing or reflection and illustration image of a surface with white stripes reflected on them, so even the smallest deviations of the surface can be detected. This method comes from the prototypes in the automotive sector, where the surface quality is ensured by checking the reflections from a Neonlichthimmel on the body.

Mathematical Description

NURBS curves and surfaces have a number of interesting properties:

  • They are invariant to projective transformations.
  • They offer a common mathematical representation for both standard analytical shapes (eg, conics ) and free-form surfaces.
  • Reduce the memory requirements for geometric objects (compared to simpler methods).
  • They can be relatively quickly evaluated by numerically stable and accurate algorithms.
  • They are generalizations of non-rational B -splines and non-rational and rational Bézier curves and surfaces. The statement that NURBS curves are a generalization of Bezier curves, meaning that all Bezier NURBS curves, but not all NURBS curves are Bezier curves.

A NURBS curve is defined by the degree of their Basispolynome ( = p order of NURBS curve - 1), a weighted amount () control points and a knot vector. NURBS curves and surfaces are generalizations of both B -splines and Bezier curves and surfaces. The main difference between these two types of splines is the weighting of the control points with the weights. By NURBS curves are rational.

A NURBS curve is the sum of the weighted with rational B- spline basis functions of the control points, that is by the formula

Fully defined. Rational B-spline basis function is calculated from the B-spline basis functions of degree of Basispolynome and the associated weights of the control points to

The parameter switches in the area of the knot vector

The individual segments of the spline curve is active. The elements of the knot vector are monotonically increasing, all and all.

Boundary conditions and definitions

Control points

Knot vector

The node vector consists of parameter values ​​which define the influence of the control points on the NURBS curve. The number of nodes is always equal to the number of the control points plus the degree of the curve plus one ( ). For example, a cubic curve with four control points eight nodes (4 3 1 = 8). For graphic designers nodes are usually not helpful; they are needed only for internal calculations. For this reason, nodes in many graphic design programs can not be changed or even visible. Newer versions of NURBS software (such as Alias ​​Maya ) allow interactive changes to node positions, much less intuitive, however, as changes at checkpoints.

The values ​​of the knot vector must be in ascending order. This is (0, 0, 1, 2, 3) valid, (0, 0, 2, 1, 3) is not. The individual node values ​​have no statement for themselves; solely the ratios of the differences between the node values ​​have meaning. Consequently give the node vectors ( 0, 0, 1, 2, 3), ( 0, 0, 2, 4, 6), and (1, 1, 2, 3, 4) all have the same curve. Furthermore, the multiplicity of a node must be less than or equal to the degree of the curve (no node is allowed more than the degree of the curve appear ). For first-degree NURBS each node is paired with a control.

Order of a NURBS curve

A NURBS curve from the right, it is made of polynomials of degree. The order of a NURBS curve is determined by the number of adjacent control points that affect the curve. The curve consists mathematically of polynomials together, whose degree is one less than the order of the curve (). So second-order curves (which are represented by linear polynomials ) linear curves, curves of the third order quadratic curves and curves of the fourth order cubic curves called. The number of control points has to be greater than or equal to the order of the curve.

In practice, cubic curves are used most often. Curves fifth or sixth grade are sometimes useful, especially for derivatives, curves of higher degree are never used in practice, since they lead to internal numerical problems and their calculation tends to disproportionately requires a lot of computation time.

Unit circle

As opposed to non-rational curves that are not suitable to represent circuits, this works without problems with NURBS. The unit circle in the xy plane, for example, as a NURBS curve of degree 2 with knot vector ( 0,0,0,1,1,2,2,3,3,4,4,4 ) and the following control points and weights are constructed.

NURBS surfaces

While a NURBS curve is stretched only in one direction, parametric, a NURBS surface is defined by two parameters called and clamped. The curve can be represented by the evaluation of different parameters in the two - or three-dimensional Cartesian space. Analogously, the mapping of a NURBS surface in Cartesian space by evaluating with different values ​​of two parameters.

Are defined by a control grid and the rational basis function

With a two-dimensional weights matrix. The second dimension of the surface with the parameter is switched by the analog to built knot vector

With the order and length.

Simple explanation of a complex state of affairs

In the 1950s, Bezier has discovered the mathematical formula that can describe a sweeping curve. The curve is defined by a few so-called control points. As a result, it has been found that these Bezier curves are not yet sufficient to show, for example, a circle exactly. Then, mathematical formulas have been developed, in which the individual control points to different degrees (non uniform ) on the curve can act, the so-called B- splines. The term spline is historic and dates back to shipbuilding. Ruler -like flexible metal strip, so-called traditional splines (English splines ) were laterally loaded with weights and could therefore represent a defined curve. Several of these curves in succession represented the ribs, which in turn resulted in the hull of the ship.

Later, mathematical formulas have been developed that are both Béziers formula as well as the B-splines generalized, the so-called "Non uniform rational B-splines ." This so you can represent arbitrary curves and if you add not only one direction ( " length" ) as a curve, but a second ( " width ") so that any surface can be represented. Theoretically, these surfaces can be arbitrarily complex and large. As the cost of computing the formulas, however, with increasing complexity increases dramatically and can no longer be calculated in reasonable time even with a powerful computer, complicated surfaces are represented by a plurality of mutually set called patches. In industrial production almost exclusively NURBS are now used to any type of product to be produced object ( yogurt cups, rocket engines, sunglasses, etc. ) to be able to exactly capture mathematically.

607742
de