In the field of computer aided design and computer graphics, it is often required to describe the surface information of a complex 3D shape. The surface of such an object could have an arbitrary shape (other than planes or quadrics) and is thus called a freeform surface. Freeform surfaces are used to describe car bodies, human models or turbine blades. These shapes are a little different from circles, cylinders, conics or planes which have radial dimensions. There are two main kinds of freeform surface representations: triangular meshes and splines. A triangular mesh is widely utilized in animation, computer games and scientific visualizations while splines are a major format in CAD/CAM industries. A numbers of freeform surfaces have been developed and widely used in industries, such as B-spline surfaces and non-uniform rational B-spline surfaces. Splines are represented in parametric equations and hence they allow more compact representation as compared to other forms of freeform surfaces. With an increasing demand of computer graphics and computer aided design, there is an increasing need for freeform surfaces using one can design complicated 3D models.
Source: www.quertime.com
Before 1950’s, industries designed the curve by using environment dependent aluminum strips, clumsy full scale molding form and time table designing smooth shape, which was very time consuming and tedious. In late sixties, Bezier surfaces were developed by Pierre Bezier and Paul de Casteljau. Initially, these curves and surfaces were used as a basic form in computer modelling to define car bodies in auto- manufacturing. After invention of Bezier curves, they became a standard design tool with useful properties. A Bezier curve is defined by a polyline which is called the control polygon and the vertices of the polyline are called the control points. As control points of a Bezier curve move in space, new Bezier curves are generated. If each control point moves along its own Bezier curve, it forms a tensor-product Bezier surface. A Bezier curve is a single segment and it does not provide local control (i.e., editing or moving of a control point affects the shape of the whole curve) and the editing of Bezier patch by moving one or more control points affects the shape of the whole surface. To increase degrees of freedom of a Bezier curve, we can use higher degree Bezier curves. However, higher degree Bezier curves cannot get local control. Another option is to use piecewise Bezier curves to design complex shapes. However, in the piecewise Bezier curves it is difficult to maintain continuity. The problems of Bezier curves and surfaces are solved by B-spline curves and surfaces.
B-splines are a generalization of Bezier curves, which are defined in a similar fashion. In general, the curve does not interpolate through the control points. Splines are any composite curves formed by piecewise parametric polynomials subjected to certain continuity conditions at the joints. A B-spline curve consists of segments and joints. Between the segments are the knots. Different knot vectors define different B-splines. B-spline surfaces are used to represent sophisticated models. Surfaces must coexist in a model that undergoes changes and certain criteria need to be preserved. For example, surfaces that define a flexible head profile must remain smooth throughout any motion or stretching. B-spline tensor product surfaces meet such requirements which consists of internally aligned and guaranteed continuous piecewise patches. Higher number of control points is needed in order to crate complex surfaces. If a model is intended to be used for further adjustment rather than static viewing, then the model constructed with fewer control points is preferred. B-splines provide valuable properties such as affine invariance, excellent locality, strong convex hull, variation diminishing and the degree of a global B-spline curve does not depend on the number of points. While B- spline curves are flexible with many good properties, they are not able to represent simple curves like circles and ellipses. These simple curves cannot be represented by polynomials either. Thus, we need to extend the B-spline curves. To address this problem, we shall generalize B-splines to rational B-splines. A general rational B-spline is Non- uniform rational B-splines (NURBS). NURBS inherit all advantages of B-splines (such as excellent locality) while extending the liberty of modelling. NURBS provide a single piecewise representation for lines, planes, conic sections, quadric surfaces, freeform curves, sculptured surfaces, etc. Therefore, by using NURBS, we can get the following advantages: compact, parametric, smooth and exact representations.
However, in order to represent a relatively complex model, a NURBS model needs numerous control points which interfere with the design process of 3D models. Handling those superfluous control points is a nuisance for designer to design the model as it takes a longer time for editing. In addition, NURBS do not provide local refinement. Local refinement is actually an attractive technique for modelling complicated shapes. The problems of NURBS can be overcome by using the T-spline. T-spline is a generalization of B-spline, which enable creation of complex 3D models with relatively less control points than the one using NURBS. T-spline enables local refinement. Compared with NURBS, T-splines reduce the total number of control points due to T- junctions which are a main difference between T-splines and NURBS.
Khin Thu Zar Ex-Lecturer School of Information Technology, Digital Media and Mass Communication TMC Academy
References: T Sederberg, J. Zheng, A Bakenov, A Nasri. (2003). T-splines and T-NURCCs. ACM Transactions on Graphics, 22(3), 477-484.
Comments