NURBS (which stands for Non Uniform Rational B-Splines on AbbreviationFinder) is a mathematical model widely used in computer graphics to generate and represent curves and surfaces.
The development of NURBS began in 1950 by engineers who needed the precise mathematical representation of free-form surfaces such as those used in car bodies, aerospace exterior surfaces, and ship hulls, that could be technically and accurately reproduced at any time. Previous representations of this type of design could only be made with physical models or models made by the designer or engineer.
The pioneers in this research were Pierre Bézier who worked as an engineer at Renault, and Paul de Casteljau who worked at Citroën, both in France. Bézier and Casteljau worked almost in parallel, although neither of them knew the work that the other was developing. Since Bezier’s work was published first and for this reason it has traditionally been associated with splines – which are represented with control points describing the curve itself – as Bézier splines, while Casteljau’s name is only known by algorithms that I develop for the evaluation of parametric surfaces. In the 1960s became clearly NURBS as the generalization of the Bézier splines, which can be considered as Non-Uniform Rational B-splines.
The first NURBS were used in automotive companies’ proprietary CAD packages. They later became part of the standard in computer graphics packages. In 1985, the first interactive NURBS modeler for the PC, called Macsurf (later Maxsurf), was developed by Formation Design Systems, a small company in Australia. Maxsurf is a design system for hulls, intended to create ships, boats and yachts, for designers who had a need for high precision in sculpting surfaces. Today’s most professional desktop computer graphics applications offer the technology.
NURBS are commonly used in computer-aided design (CAD), manufacturing (CAM), and engineering (CAE) and are part of numerous industry-wide standards used, such as IGES, STEP, ACIS, and PHIGS. NURBS tools are also found in various 3D modeling and animation software packages, such as Shape Z, Blender, Autodesk Maya, Rhino3D, Cinema 4D, Cobalt, and solid modeling solutions. Apart from this there are specialized NURBS modeling software packages such as Autodesk Surface Aliases and solidThinking.
They allow the representation of geometric shapes in a compact form. They can be efficiently handled by computer programs and yet allow for easy human interaction. NURBS surfaces are functions of two mapping parameters to a surface in three-dimensional space. The shape of the surface is determined by the control points.
In general, it can be said that NURBS curve and surface editing is very intuitive and predictable. The control points are always either connected directly to the curve / surface, or they act as if they are connected by a rubber band. Depending on the type of user interface, editing can be done through one-element control points, which are more obvious and common for Bézier curves, or through high-level tools such as spline modeling or edit. hierarchical.
A surface under construction, for example the hull of a motor yacht, is generally made up of several NURBS surfaces known as patches. These patches will be installed together in such a way that the borders are invisible. This is mathematically expressed by the concept of geometric continuity.
Existing high-level tools that benefit from the ability of NURBS to create and establish the geometric continuity of the different levels:
Positional continuity (G0)
It always has the final positions of two curves or surfaces are, at all. Curves or surfaces may still meet at an angle, leading to a broken corner or edge and causing more highlights.
Tangential continuity (G1)
It requires the exit vectors of the curve or surfaces to be parallel, discarding the sharp edges. Because it emphasizes that it concerns an always continuous tangentially continuous edge and therefore a natural appearance, this level of continuity can often be sufficient.
Curvature continuity (G2)
It also requires that the vectors end to be of the same length and the rate of change in length. Highlights falling on the edge of the continuous curvature do not show any change, causing the two surfaces to appear as one. This can be visually recognized as “perfectly smooth”. This level of continuity is very useful in creating models that require many bi-cubic patches to compose a continuous surface.
Geometric continuity mainly refers to the shape of the resulting surface, since NURBS surfaces are functions, it is also possible to discuss the derivatives of the surface with respect to parameters. This is known as the parametric continuity. Parametric continuity of a certain degree implies the geometric continuity of that degree.
First-and second-level parameters continuity (C0 and C1) are for practical purposes identical to positional and tangential (G0 and G1) continuity. Third-level parametric continuity (C2), however, differs from curvature continuity in that its parametrization is also continuous. In practice, C2 continuity is easier to achieve if uniform B-splines are used.
The definition of continuity ‘Cn’ is given in ” Computer Graphics – Principles and Practice ” in section 11.2. It is required that the nth derivative of the curve / surface (\ frac (d ^ n C (u)) (du) ^ n) are equal in a joint. Note that the (partial) derivatives of curves and surfaces are vectors that have a direction and a magnitude. Both must be the same.
Highlights and reflections can reveal perfect smoothing, which is another thing virtually impossible to achieve without NURBS surfaces that have at least G2 continuity. This same principle is used as one of the evaluation methods by which the surface of a ray tracing or a map image of the reflection of a surface with white stripes reflected on it shows even the smallest deviations on a surface or a set of surfaces. This method is derived from car prototyping where surface quality is inspected by checking the quality of reflections from a neon ceiling light on the surface of the car. This method is also known as ” Zebra analysis “.
- Les Piegl & Wayne Tiller: The NURBS Book, Springer-Verlag 1995 – 1997 (2nd ed.). The main reference for Bézier, B-Spline and NURBS; chapters on mathematical representation and construction of curves and surfaces, interpolation, shape modification, programming concepts.
- Thomas Sederberg, BYU NURBS, http://cagd.cs.byu.edu/~557/text/ch5.pdf
- Lyle Ramshaw. Blossoming: A connect-the-dots approach to splines, Research Report 19, Compaq Systems Research Center, Palo Alto, CA, June 1987.
- David F. Roger: An Introduction to NURBS with Historical Perspective, Morgan Kaufmann Publishers 2001. Good elementary book for NURBS and related issues.
- Foley, van Dam, Feiner & Hughes: Computer Graphics – Principles and Practice, Addison Wesley 1996 (2nd ed.).