3D Geometric Modelling Based On NURBS
3D Geometric Modelling Based On NURBS
E. Dimas
a,b,
*
, D. Briassoulis
b
a
Catholic University of Leuven, Leuven, Belgium
b
Agricultural University of Athens, Agricultural Engineering Department, 75 Iera Odos Strasse, 11855 Athens, Greece
Received 8 November 1996; accepted 2 October 1998
Abstract
This article reviews the prevailing geometric modelling techniques, based on Non-Uniform Rational B-Splines (NURBS). Emphasis is
placed on the most important properties of NURBS surfaces and the available techniques for modelling real natural or articial objects given
a cloud of three-dimensional data points on their surface, possibly taken from a scanning device. 1999 Elsevier Science Ltd and Civil-
Comp Ltd. All rights reserved.
Keywords: Non-Uniform Rational B-Splines; Bezier curves; B-Spline curve
1. Introduction
Geometric modelling has already become an important
tool for a variety of applications in many elds such as
industrial design and manufacture, electrical and mechan-
ical engineering, biomedicine, etc. Design and manufacture
of such diverse objects such as aircraft, cars, ship hulls,
shoes and bottles harvest the benets of the emerging tech-
nology and simultaneous intensive research in the mathe-
matical theory, representation and analysis of surfaces. As a
result, physical objects have widely been replaced by
computer models. This leads to better and cheaper products
as the latter are simpler to analyse and easier to change than
the former.
The aim of this article is to provide a survey of Non-
Uniform Rational B-Splines (NURBS) surface properties
and available modelling techniques. In the remaining
section, we present different existing modelling principles
and their underlying mathematical representations. We also
give a historical summary of the development of NURBS
curves and surfaces. In Section 2, we present some of the
basic properties of univariate and bivariate rational basis
functions. In Section 3, we dene NURBS surfaces and
present their most important properties. Section 4 gives
the NURBS characteristics of commonly used surfaces.
Section 5 presents some free-form surface modelling tech-
niques based on NURBS when the input data is a cloud of
three-dimensional (3D) points. We conclude in Section 6
with topics of future research developments.
1.1. Modelling philosophies and underlying mathematical
representations
Geometric modellers can differ in the mathematical
representation scheme of geometric entities. An important
distinction of this kind is between implicit and parametric
representations. It is only a natural consequence that algo-
rithms are heavily inuenced by the choice of modelling
philosophy and mathematical representations.
A parametric surface takes the form
xs; t xs; t; ys; t; zs; t
T
; 1
hence, it is essentially a mapping of a domain D R
2
to R
3
.
In an analogous manner, a parametric curve is a mapping of
D R to R
2
or R
3
. Bezier, B-Splines, NURBS curves and
surfaces are the most popular of parametric representations.
NURBS curves represent a natural generalisation of B-
Spline and Bezier curves. Bivariate NURBS surfaces are
the proper generalisation of tensor product B-Spline and
Bezier surfaces.
Implicit surfaces are dened as the zero contour of a
scalar-valued function, i.e. they are sets of points [x,y,z]
T
which satisfy
f x; y; z 0: 2
Implicit curves are dened as the intersection of two
implicit surfaces, i.e. their dening equations are
f
1
x; y; z f
2
x; y; z 0: 3
Advances in Engineering Software 30 (1999) 741751
0965-9978/99/$ - see front matter 1999 Elsevier Science Ltd and Civil-Comp Ltd. All rights reserved.
PII: S0965-9978(98)00110-0
www.elsevier.com/locate/advengsoft
* Corresponding author.
E-mail addresses: [email protected] (E. Dimas), Briassou@
auadec.aua.gr (D. Briassoulis)
Sometimes other representations can be used (for exam-
ple explicit representations), but parametrics and implicits
are predominant in the academic, industrial and commercial
world.
Geometric modelling systems can also differ in philoso-
phy. Historically, there have been three different in prin-
ciple kinds of geometric modelling systems, used in
industrial applications: wireframe, surface and solid model-
lers. The rst and simplest models, created with the aid of
computers were wireframes. Straight lines, conics or simple
spline curves are used to represent the boundaries of the
object to be modelled. However, lack of explicit surface
information can lead to models which are ambiguous,
incomplete or even impossible to manufacture as they can
correspond to no physical 3D object [1]. These drawbacks
led to the search of more sophisticated schemes. Conse-
quently, wireframe systems gave way to surface and solid
modellers.
Surfaces are used explicitly to describe an object in
surface modellers. More complex shapes can be modelled
with surface modelling than with wireframes.
By denition, a solid is a 3D object with a well dened
inside and outside separated by a two-dimensional (2D)
boundary. Many techniques have been developed for gener-
ating and storing geometric models which are represented as
solids, such as Constructive Solid Geometry (CSG), Bound-
ary representation (B-rep), octrees and others [2]; the rst
two being the most popular. For more details on the devel-
opment of solid modelling systems, see [3,4]. For a recent
survey on strengths and limitations of solid modelling
systems, see [5].
Early solid modelling systems incorporated planar and
quadric halfspaces (sphere, cylinder, etc). However, design
needs are far greater. There is much ongoing research on
algebraic free-form surface design now [610], the inclu-
sion of free-form surfaces (either in algebraic or parametric
form) in solid modellers [11], and the evolution of parallel
processing algorithms [12].
From the point of view of the techniques used for
geometric modelling purposes, there are two basic
approaches: transnite interpolation and discrete approxi-
mation and interpolation. In transnite interpolation, a
surface is constructed such that it goes through a given
collection of curves. Cross-sectional design is an example
of a method that falls into this category [13]. In discrete
approximation (interpolation), a surface that approximates
(interpolates) a given set of data points is constructed.
Based on the manner in which a change in the data affects
the curve or surface to be constructed, we can categorise
methods into global and local. In global methods, a change
in the data affects the whole surface while in local methods
such a change affects the surface locally. In the rst category
are methods like the Gordon surface [14] and polynomial
Bezier surfaces. However, if there are a lot of data the
degree of the polynomial surface required to t the data is
high, which makes the resulting surface unreasonably
complicated for further manipulations. Therefore, designers
are more interested in local methods in which a change in
the data affects the curve or surface locally (in regions in the
vicinity of the data change). Local methods invoke piece-
wise triangular polynomials or bipolynomials to dene the
desired surface. Such techniques include piecewise Bezier,
B-Splines, Rational B-Splines and NURBS curves and
surfaces.
Usually, there is an initial polygonal or polyhedral
approximation of the desired object given in terms of a
triangulation [15] or a rectangular grid of control points.
The initial polygon or polyhedron is then smoothed using
triangular or rectangular (tensor product) piecewise smooth
patches. For piecewise Bezier, one has to enforce smooth-
ness conditions between adjacent patches [1719], but with
the B-Spline or NURBS scheme, this comes without any
special tricks.
A drawback of rectangular patches is their limited ability
to model complex topologies. Very often there are n-sided
(n 4) holes within a rectangular patch complex. Techni-
ques for lling such holes with smooth triangular or rectan-
gular patches have been reported earlier [16]. However,
such problems are avoided using triangular patches, as
more complex topologies can be modelled with triangles
rather than with rectangles. However, triangular or rectan-
gular patches are not the only ones available for modelling
purposes. There have also been n-sided (n 3,4) patches
and smoothing techniques based on them reported in the
literature [2024].
1.2. History
Bezier curves
These were independently developed by Bezier at the
Renault car company in 1962 and De Casteljau at Citroen
in 1959. As Beziers work became known earlier, Bezier
curves are known by his name.
B-Spline curves
They are the proper generalisation of Bezier curves. They
were initiated by De Boor [25], but were concerned with
approximation theory aspects. It was Gordon and Riesenfeld
[26] that married the theory of B-splines with that of Bezier
curves.
Rational curves
These were considered by Coons [27]. Forrest pursued the
ideas further, particularly in connection with conics and
cubics. Following Riesenfeld, Vesprille [28] wrote the
rst report on NURBS in 1975. See also [29,30].
Tensor product Bezier surfaces
They started developing in the late sixties, although De
Casteljau and Ferguson started experimenting sooner. For
tensor product B-Spline and NURBS surfaces techniques
see [3138].
Triangular Bezier patches
They were rst considered by De Casteljau. In their
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 742
Lagrangian form, they are widely used in nite element
methods. They have been extensively studied by Farin [39].
B-Splines over triangles
They were rst considered by Sabin. Triangular B-Splines
surfaces have been studied in [29,36,4043].
For a survey of modelling methods in CAGD, NURBS
design techniques, and a classication of some smoothing
techniques, see [44], [45] and [46], respectively.
2. B-Spline and NURBS basis functions
This section presents the denition and most important
properties of univariate and bivariate B-Spline and NURBS
basis functions.
2.1. B-Spline basis functions
Let U {u
0
; u
1
; ; u
i
; u
i1
; ; u
m
} be a non-decreasing
sequence of real numbers (U is called a knot vector). Then,
the following expression denes the ith normalised B-Spline
function of degree p recursively.
N
p
i
u
u u
i
u
ip
u
i
N
p1
i
u
u
ip1
u
u
ip1
u
i1
N
p1
i1
u; 4
where
N
0
i
u
1; if u
i
u u
i1
;
0; otherwise
:
(
5
The interval u
i
; u
i1
is called the ith knot span. A
knot vector is non-periodic if the rst and last knots
are repeated with multiplicity p 1, i.e. U
{u
0
; ; u
0
; u
p1
; ; u
mp1
; u
m
; ; u
m
}. For most practical
applications, u
0
0 and u
m
1. Knots u
p1
; ; u
mp1
are called interior. Further, a knot vector is called uniform
if the knots are equally spaced, i.e. there exists a positive
real number h such that u
i1
u
i
h, p i m p 1.
Otherwise, the knot vector is non-uniform. Non-uniform
knot vectors offer greater exibility for various design appli-
cations [32,47,48].
B-Spline functions are a natural generalisation of Bezier
functions
B
p
i
u
p
i
!
u
i
1 u
pi
6
for the knot vector with no interior knots, i.e.
U {0; ; 0; 1; ; 1}, where the 0s and the 1s are repeated
p 1 times.
2.2. NURBS basis functions
We can now dene the NURBS basis functions
R
p
i
u
w
i
N
p
i
u
P
n
j0
w
j
N
p
j
u
; 7
where w
i
are n 1( m p) positive real weights. Also
note that if all weights are equal, i.e. w
i
w, for i 1,,n,
the rational basis functions degenerate to B-Spline basis
functions (see partition of unity property). Therefore, they
are generalisations of B-Splines. Indeed,
R
p
i
u
N
p
i
u if w
i
w; i 1; ; n
B
p
i
u if w
i
w; i 1; ; n; U {0; ; 0; 1; ; 1}
;
(
8
where the 0s and the 1s in U are repeated p 1 times. Fig. 1
gives an example of a cubic NURBS basis function. In the
following, we will drop the superscript p indicating the
degree of the basis functions when it is not necessary for
clarity or it is evident from the context. The properties of R
i
are inherited from the normalised B-Spline functions. In
particular, we have
Non-negativity: R
i
(u) 0.
Partition of unity:
P
n
i0
R
p
i
u 1.
Non-negativity and partition of unity means that 0
R
i
(u) 1.
Local support: For u [u
i
,u
ip1
], R
i
(u) 0. In other
words, R
i
(u) is active (non-zero) only in the interva-
l[u
i
,u
ip1
], i.e. from knot u
i
and forward.
In addition, in a knot span u
i1
; u
i
, the only non-zero
basis functions are R
j
(u), i p 1 j i 1. This is an
onoff switch effect, as in the next interval u
i
; u
i1
,
R
ip1
(u) becomes zero and R
i
(u) becomes active (non-
zero).
Differentiability: If the multiplicity of a knot is k, then the
basis function is p k times continuously differentiable
at this knot. It is innitely continuously differentiable in
the interior of a knot span.
For p 0, R
i
(u) has exactly one maximum value in
u
i
; u
ip1
(where it is non-zero).
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 743
Fig. 1. Cubic NURBS basis functions, with knot vector U {0,0,0,0,1/3,1/
2,1,1,1,1} and weights w {1,0.3,0.5,1.5,0.3,2}.
With regard to the inuence of weights on the shape of
the basis functions, the following can be easily proved
For w
i
0, R
i
(u) 0.
For w
j
! , R
i
(u) ! 1, if j i and R
i
(u) ! 0, if j i.
Fig. 2 shows the inuence of a change in the weight w
3
on
the cubic basis function R
3
of Fig. 1 for w
3
[0,5] (all other
weights are kept xed). In general, for u (u
0
,u
m
) when w
i
increases, R
i
(u) increases and R
j
i
(u) decreases.
2.3. Bivariate NURBS basis functions
For reasons which will become apparent in the next
section, in order to dene rational B-Spline surfaces we
use rational B-Splines basis functions of degree (p,q)
R
p;q
i;j
u; v
w
ij
N
p
i
uN
q
j
v
X
k
r0
X
n
s0
w
rs
N
p
r
uN
q
s
v
: 9
Naturally, two knot vectors U, V associated with N
p
i
u
and N
q
i
v, respectively, are now required. The knot lines
u u
r
; r 0; ; k; v v
s
; s 0; ; n form a rectangular
grid in the parameter domain [0,1]
2
. In the following, we
will exclude the superscript (p,q) when the NURBS basis
function is of degree (p,q). Although the rational B-Spline
basis functions are bivariate, they are not a tensor product in
general, in the sense that they cannot be factorised in a
product of two univariate rational basis functions. Note
that, when all weights are equal the NURBS basis degen-
erate to integral (non-rational) B-Spline basis. Therefore, in
this case they are tensor product functions. Hence, bivariate
NURBS basis functions are the proper generalisation of B-
Spline and Bezier tensor product basis functions. See Fig. 3
for an example of a bivariate NURBS basis function.
Properties of univariate rational basis functions also hold
for bivariate rational basis functions. More precisely,
Non-negativity: R
ij
(u,v) 0.
Partition of unity:
P
k
i0
P
n
j0
R
p;q
i;j
u; v 1.
Non-negativity and partition of unity means that 0
R
ij
(u,v) 1.
Local support: For u; v u
i
; u
ip1
v
j
; v
jq1
;
R
ij
u; v 0.
Switch onoff effect: In a knot span u
i1
; u
i
v
j1
; v
j
;
the only active basis functions are R
r;s
u; v; i p 1
r i 1; j q 1 s j 1: When the parameters
are moved to a neighbouring interval, a basis function is
switched off (becomes zero) and another is switched
on (becomes non-zero).
Differentiability: If the multiplicity of a knot in the u(v)
direction is k then the basis function is p k(q k) times
continuously differentiable in the u(v) direction at this
knot. It is innitely continuously differentiable in the
interior of a knot span.
For p,q 0, R
ij
(u) has exactly one maximum value in
u
i
; u
ip1
v
j
; v
jq1
(where it is non-zero).
With regard to the inuence of weights on the shape of
the basis functions, the following can be easily proved
For w
ij
0, R
ij
(u,v) 0.
For w
ij
!
R
p;q
r;s
u; v
1 if r; s i; j
0 if r; s i; j
:
(
10
For xed (u,v), increasing a weight w
ij
increases the
respective basis function R
i,j
, while the rest of the basis
functions decrease.
3. NURBS curves and surfaces
3.1. NURBS and homogeneous coordinates
A geometric model of embedding the projective 3D space
in a Euclidean four-dimensional (4D) space (E
4
) can be used
to dene NURBS surfaces [45]. Points in E
4
are of the form
x; y; z; w
T
. Points in 3D space x; y; z
T
can be embedded in
E
4
as x; y; z; 1
T
, i.e. the hyperplane w 1 is considered a
copy of 3D space.
A NURBS surface is the perspective projection on 3D
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 744
Fig. 2. Inuence of changing weight w
3
on NURBS basis functionR
3
3
.
Fig. 3. A degree (2,3) bivariate NURBS basis function.
space of a tensor product B-Spline surface onto the hyper-
plane w 1. This perspective map is dened as
Mx; y; z; w
x=w; y=w; z=w if w 0
point at infinity if w 0
:
(
11
Note that all points wx; wy; wz; w
T
map to x; y; z
T
. The
set of all points wx; wy; wz; w
T
is called the homogeneous
coordinates or homogeneous form of x; y; z
T
.
Given a set of 3D control points P
ij
x
ij
y
ij
; z
ij
T
, i
0,,k, j 0,,n, and a set of weights w
ij
, i 0, ,k, j
0,,n associated with the control points, we are in a posi-
tion to dene a NURBS surface. For this purpose, we use
homogeneous coordinates to dene the 4D points
h
P
ij
w
ij
x
ij
; w
ij
y
ij
; w
ij
z
ij
; w
ij
T
, i 0,,k, j 0,,n.
We can then construct a non-rational B-Spline surface in
4D space
Nu; v
X
k
i0
X
n
j0
h
P
ij
N
p
i
uN
q
j
v; 0 u; v 1; 12
where, without loss of generality we have assumed that the
knot vectors are of the form
U {0; ; 0; u
p1
; ; u
mp1
; 1; ; 1}:
The NURBS surface R
p,q
(u,v) of degree (p,q) is then
dened as the perspective map
R
p;q
u; v MNu; v
P
k
i0
P
n
j0
w
ij
P
ij
N
p
i
uN
q
j
v
P
k
i0
P
n
j0
w
ij
N
p
i
uN
q
j
v
; 13
or in a more compact form
R
p;q
u; v
X
k
i0
X
n
j0
P
ij
R
p;q
i;j
u; v: 14
The superscript will be dropped when it is clear that the
degree of the surface is (p,q). The piecewise linear interpo-
lant to the control points P
ij
is called the control polygon of
the surface. Note that when all weights are equal, the surface
dened by Eq. (13) becomes a B-Spline surface. If the
weights are not equal and there are no interior knots, the
surface dened by Eq. (13) becomes a rational Bezier
surface. Eq. (12) can be used to evaluate efciently the
NURBS surface [49].
Similarly, a NURBS curve is dened as a perspective
map from 4D space to 3D space or from 3D space to 2D
space
Cu
X
n
i0
P
i
R
p
i
u; 0 u 1: 15
The degree p, number of knots ( m 1) and number of
control points ( n 1) are related by the formula: mn
p 1. Naturally, if the weights are all equal, the NURBS
basis functions R
p
i
u (dened by Eq. (7)) degenerate to B-
Spline basis functions and the curve becomes a B-Spline
curve.
3.2. Properties
The most signicant properties of NURBS surfaces are:
Generalisation: When all weights are equal, the surface
dened by Eq. (13) becomes a B-Spline surface. If the
weights are not equal and there are no interior knots, the
NURBS surface becomes a rational Bezier surface.
For a xed parameter value v a and u ranging in [0,1],
R(u,a) is a NURBS curve of degree p with weights
w
i
X
n
j0
w
ij
N
q
j
a; 16
and control points
P
i
X
n
j0
w
ij
N
q
j
a
w
i
P
ij
X
n
j0
P
ij
R
q
j
a: 17
The NURBS surface interpolates the four corner control
points P
00
, P
0n
, P
k0
, P
kn
.
The derivatives at the corners are the same as the deri-
vatives of the boundary curves R(0,v), R(1,v), R(u,0),
R(u,1) at their endpoints.
Differentiability: Same differentiability properties as the
basis functions.
The basis functions switch the control points on and off.
Strong convex hull property: If u; v u
i
; u
i1
u
j
; u
j1
, then R(u,v) is in the convex hull of the control
points P
rs
,r i p,,i, s j q,,j.
Locality: A movement of the control point P
ij
affects the
surface only in the interval u
i
; u
ip1
v
j
; v
jq1
.
Afne and projective invariance: A NURBS surface is
afnely and projectively invariant, i.e. transforming the
surface by an afne or perspective transform is equiva-
lent to transforming the control points.
Increasing a weight w
ij
pulls the surface towards the
control point P
ij
. For more on the inuence of weights
on NURBS curves and surfaces, see [50].
One important property of NURBS curves that surfaces
do not seem to share is the variation diminishing property
[51].
3.3. Advantages and disadvantages of NURBS
NURBS are very popular both in the academic and
commercial geometric modelling world. Indeed, they offer
advantages which make them attractive for design applica-
tions
They are more general than Be`zier and B-Spline curves
and tensor product surfaces.
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 745
Evaluation is straightforward, fast and computationally
stable.
They offer a common mathematical representation for
free-form surfaces and commonly used analytical shapes
such as natural quadrics, torii, extruded surfaces and
surfaces of revolution.
They are afne (rotation, scaling, translation), parallel
and perspectively invariant as well as invariant under
shear transformations.
It is easy to change their shape through the manipulation
of control points, weights and knots.
Degree elevation, splitting, knot insertion and deletion
and knot renement offer a wide range of tools to design
and analyse shape information.
Some of the disadvantages of NURBS over traditional
representations are
Bad choice of weights can lead to bad curve/surface
parameterization.
More storage is needed to dene traditional shapes, such
as a circle or a sphere.
Some algorithms are numerically unstable (e.g. inverse
point mapping).
Some algorithms work better with other forms than with
NURBS, e.g. computing the intersection curve of two
surfaces.
Point member classication is a difcult problem for
parametric surfaces. Therefore, it is particularly difcult
to include NURBS as nodes in a constructive solid
geometry system.
4. Commonly used surfaces and their NURBS
representation
The most common surfaces used in CAGD are the natural
quadrics (plane, sphere, cylinder, cone), torii, ruled
surfaces, extruded surfaces and surfaces of revolution.
Therefore, it is useful to understand their NURBS represen-
tation and characteristics. For the NURBS representation of
conic curves, see [52].
4.1. Quadric surfaces
Plane
Aplanar surface patch can be obtained by a bilinear NURBS
surface whose control points are on the corners of the patch.
Sphere
A sphere is a surface of revolution. It can be obtained by
revolving a semicircle in, say, the xz-plane with the
endpoints of the semi-circle located on the z-axis, around
the z-axis.
Cylinder
A cylinder can be obtained by linear extrusion (see later).
Cone
A cone is a special case of the cylinder, in which one of the
curves has degenerated into a point. Therefore, it is obtained
by linear extrusion.
General quadrics
Non-rotationally symmetric quadrics are obtained by apply-
ing afne transforms to rotationally symmetric quadrics,
which are surfaces of revolution (see later).
4.2. Extruded surfaces
An extruded surface S(u,v) can be dened by a prole
curve in the u-direction as
Cu
X
n
i0
P
i
R
p
i
u; 0 u 1: 18
which is then extruded in the direction of a unit vector n for
a distance d. Therefore, it has the following characteristics
For xed u a, the u-isoparametric curve S(a,v) is a
straight line between the points C(a) and C(a) dn.
For xed v b, the v-isoparametric curve S(u,b) is a
translation of C(u) by dn, i.e. S(u,b) C(u) dn.
As NURBS curves and surfaces are afnely invariant, any
v-isoparametric curve has the same control points as C(u)
translated in the appropriate direction and distance. The
representation of an extruded surface is
Su; v
X
k
i0
X
1
j0
P
ij
R
p;1
ij
u; v 19
over the knot vectors U (the knot vector of C(u)), V
{0,0,1,1}(the knot vector of a straight line segment), control
points P
i,0
P
i
, P
i,1
P
i
dn for i 1,,k and weights
w
i0
w
i1
w
i
.
4.3. Ruled surfaces
Given two NURBS curves
C
1
u
X
k
1
i0
P
1
i
R
p
1
i
u and C
2
u
X
k
2
i0
P
2
i
R
p
2
i
u
20
a ruled surface is one which is obtained by linear interpola-
tion between C
1
and C
2
. Therefore, it has the following
characteristics
For xed u a, the u-isoparametric curve S(a,v) is a
straight line between the points C
1
(a) and C
2
(a).
S(u,0) C
1
(u) and S(u,1) C
2
(u).
Assuming that k
1
k
2
k (same number of knots in each
curve), p
1
p
2
p (basis functions of the same degree) and
U
1
U
2
U (same knot vectors), the desired representation
for a ruled surface is
Su; v
X
k
i0
X
1
j0
P
ij
R
p;1
ij
u; v; 21
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 746
where the knot vectors are U, V {0,0,1,1} and the surface
control points P
i,0
, P
i,1
come from the rst and second curve,
respectively. More precisely, the surface has control points
P
i;0
P
1
i
; P
i;1
P
2
i
; 22
and weights
w
i0
w
1
i
; w
i1
w
2
i
: 23
If one of the aforementioned conditions are violated, the
situation requires some xing:
1. If p
1
p
2
use p max(p
1
,p
2
) and degree raise the lower
degree curve to degree p. Degree raising does not change
the geometry of a curve. It merely allows us to write a
curve of some degree as a curve of a higher degree. For
illustrative purposes, we present degree raising formulae
for a rational Be`zier curve of degree p to degree p 1
The control points of the p 1 degree curve are
dened in terms of the control points P
i
of the p degree
curve
P
p1
i
iw
i1
P
i1
p i 1w
i
P
i
iw
i1
p i 1w
i
: 24
The new weights become
w
p1
i
i
p 1
w
i1
p i 1
p 1
w
i
: 25
For degree raising of NURBS curves, the Boehm or Oslo
algorithm can be used [53].
2. When the degrees of the curves are the same, a common
knot vector U U
1
U
2
must be found. Simply, let U be
the union of U
1
and U
2
. Knot insertion [53] can be used to
represent the two curves in terms of the common knot
vectors (the parameterization and geometry of the curves
remain unchanged).
Now, the problem is simplied to nding a ruled surface
between two curves of the same degree and common knot
vector. The cone is a special ruled surface between a base
curve C
1
and a degenerate curve C
2
(which is really the
vertex P of the cone). The degenerate curve C
2
can be
represented as a curve of the same degree as C
1
, all control
points equal to P and all weights constant. The desired cone
is a ruled surface between C
1
and C
2
.
4.4. Surfaces of revolution
Surfaces of revolution are obtained by revolving a planar
curve about an axis. Suppose that
Cv
X
n
i0
P
i
R
p
i
v; 0 v 1: 26
is a curve in the xz-plane, with knot vector V, weights w
i
, i
0,,k and control points P
i
x
i
y
i
z
i
T
. A surface of revolu-
tion S(u,v) is obtained by revolving C(v) around the z-axis.
Therefore, it has the following characteristics
For xed v a, the u-isoparametric curve S(u,a) is a
circular arc with centre on the z-axis and lying in a
plane perpendicular to the z-axis.
For xed u b, the v-isoparametric curve S(b,v) is the
curve C(v), rotated some angle around the z-axis.
To dene a surface with such characteristics, we need to
combine a circle denition with the denition of C(v).
However, there are several NURBS representations for the
circle which give rise to different representations of the
revolved surface. In different representations, different
control points, weights and knot vectors are used to describe
a circular arc. Different arcs are then pieced together to form
a full circle [45,48].
Suppose we want to dene a full surface of revolution. A
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 747
Fig. 4. NURBS prole curve and control polygon.
Fig. 5. Control polygon of the surface of revolution dened by the curve in
Fig. 4.
circle can be represented in the form
X
n
j0
P
c
j
R
2
i
u 27
with control points P
c
j
, knot vector U and weights w
c
j
;
j 0; ; n. Therefore, representations of a revolved surface
can be written in the form
Su; v
X
k
i0
X
n
j0
P
ij
R
p;2
ij
u; v; 28
where the knot vectors of the surface of revolution are U
(the circle knot vector) and V (the prole curve knot vector).
The weights w
ij
are the product of weights of the prole
curve with the circle w
ij
w
i
w
j
c
, j 0,,n. The control
points P
ij
for xed i are located on the planes z z
i
. Further,
on each such plane the control points dene a circular arc (or
a full circle) with the centre on [0,0,z
i
]
T
and radius equal to
the distance of P
i
from the z-axis [45,48]. Fig. 4 shows a
prole curve which is revolved to produce the control points
of the surface of revolution of Fig. 5.
5. Free-form surface design
In the previous sections, we summarised the most
important properties, advantages and disadvantages of the
NURBS representation scheme. We also presented briey
the mathematical NURBS representation of commonly used
surfaces such as quadrics, ruled surfaces and surfaces of
revolution. However, the real power of NURBS lies with
their ability to model complex free-form curves and
surfaces.
We can categorise the available tting techniques in two
different groups mainly: interpolation and approximation.
In the following, these tting methods are discussed in more
detail. A typical outline of a tting algorithm would be [54]:
1. Assign initial parameter values to the data points (para-
meterization of the data points).
2. Assume an initial knots distribution (uniform knots is the
most common case).
3. Go through an interpolation or approximation procedure
to obtain the weights and control points of the NURBS
curve or surface, i.e. obtain the tting curve or surface.
4. Optimise the parameter distribution if necessary to obtain
a better t [55].
Therefore, common steps are to be followed for both
methods, i.e. assignment of initial parameter and knot
values. There are different techniques available in order to
parameterize the given data such as the centripetal method,
the cumulative chord length and the base curve or surface
method [54]. See also [54] for an overview of existing para-
meterization methods.
5.1. Interpolation
In interpolation techniques, a curve or surface that passes
through the given data has to be constructed. When the
given data are points, we are dealing with discrete interpo-
lation. However, we might need to construct a surface
which interpolates a set of curves in which case we are
concerned with transnite interpolation.
Interpolating a set of points with a NURBS surface can be
formulated as follows: Given a set of points Q
i
, i 0,,l
and an initial parametrization and knot distribution, nd an
interpolating surface to t the data. More precisely, nd
control points P
ij
and weights w
ij
of a NURBS surface
R(u,v) such that
Q
r
Ru
r
; v
r
X
k
i0
X
n
j0
P
ij
R
p;q
i;j
w
ij
; u
r
; v
r
; 29
0 r l k 1n 1:
Solving Eq. (29) requires the solution of a non-linear
system of equations because of the presence of the unknown
weights. However, Ma [54] shows how to solve Eq. (29) in a
two-step linear manner (see also Section 5.2). The formula-
tion of the analogous curve problem is similar. Fig. 6 shows
an example of a NURBS curve in a 3D space, interpolating a
set of given points.
Interpolating cross-section curves is an example of
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 748
Fig. 6. NURBS curve interpolating a set of points.
Fig. 7. Digitised data taken from a banana.
transnite interpolation. Such data are usually produced in
medical applications, for example tomography. Transnite
interpolation problems have been studied in [13,32,48,56].
5.2. Approximation
In approximation methods, a surface (or curve) which
approximates as closely as possible (according to some
tting criterion) a cloud of given points has to be
constructed. These techniques are especially important
when the given data was obtained from a scanning device.
In such a case, there is usually a huge amount of data avail-
able which in addition could be subject to error owing to the
resolution of the scanning device or accuracy of the image
acquisition method. Fig. 7 shows digitised points on the
surface of a banana. The image acquisition stage could be
an alternative to the design stage of an object, particularly
with real natural objects such as fruits. The resulting
geometric model can then be subjected to analysis.
1
The mathematical formulation of an approximation
problem is Eq. (29); here the digitised points are more
than the control points and weights. Although this is a
non-linear optimisation problem, Ma [54] shows how to
construct the observation equations of the minimisation
problem and then solves them in two linear steps, rst
computing the weights and from this the control points of
the NURBS surface.
The approximation analogue of Eq. (29) for the given
parameterization of measured points is
Q
i
X
k
r0
X
n
s0
w
rs
N
p
r
u
i
N
q
s
v
i
X
k
r0
X
n
s0
w
rs
N
p
r
u
i
N
q
s
v
i
P
rs
;
30
where 0 i l (l is the total number of measured points) or
in matrix form
NP
x
Q
x
Nw NP
y
Q
y
Nw NP
z
Q
z
Nw;
31
where Q
x
, Q
y
, Q
z
are vectors containing the coordinates of
the measured points and
N N
ij
N
p
i
T
N
q
j
: 32
w w
00
; ; w
0n
; w
10
; ; w
1n
; ; w
k0
; ; w
k0
; ; w
kn
T
;
P
x
w
00
x
00
; ; w
0n
x
0n
; ; w
k0
x
k0
; ; w
kn
x
kn
T
;
P
y
w
00
y
00
; ; w
0n
y
0n
; ; w
k0
y
k0
; ; w
kn
y
kn
T
;
P
z
w
00
z
00
; ; w
0n
z
0n
; ; w
k0
z
k0
; ; w
kn
z
kn
T
:
Further, Eq. (31) can be written in matrix form
N 0 0 Q
x
N
0 N 0 Q
y
N
0 0 N Q
z
N
2
6
6
4
3
7
7
5
3l4k1n1
P
x
P
y
P
z
w
2
6
6
6
6
6
6
4
3
7
7
7
7
7
7
5
0
0
0
0
2
6
6
6
6
6
6
4
3
7
7
7
7
7
7
5
:
33
It can be shown that the weights w can be isolated from
the control points in a system of the form
Mw 0; 34
where M is a symmetric non-negative matrix of dimension
(k 1)(n 1). Once the weights were computed, Eq. (31)
can be used to compute the unknown control points. This
method will produce interpolatory solutions if rank(M)
(k 1)(n 1). It can be shown that NURBS weights can be
computed by minimising the Rayleigh quotient of matrix M
under suitable constraints for the weights [54].
An alternative method would be to construct NURBS
cross-section curves of the object (based on the method in
[54]), and then use them to produce a NURBS surface with a
skinning algorithm like those described in [13,32,48,56].
Alternatively, a B-Spline (rather than a NURBS) surface
can be constructed in this way, and then be used as an initial
approximation to the object or as a base surface for para-
meterizing the measured points for the technique of [54] to
be used. An illustrative example of a geometric model of the
banana of Fig. 7, based on NURBS, is presented in Fig. 8.
6. Future research developments
Future research in NURBS curves and surfaces will be
targeted in eliminating some of the disadvantages of
NURBS discussed in previous sections. Therefore, it is
expected that future research in the area will address these
problems as well as
Rational curve and surface interpolation and data tting.
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 749
Fig. 8. NURBS surface model of the banana of Fig. 7.
1
Research work on such a procedure is under way with very interesting
results (to be published in due course).
Although, there is extensive literature for Bezier and B-
Spline surfaces and some recent progress for NURBS
curves and surfaces, the problem is not entirely solved
[54].
Filleting, blending and offsetting operations. These
problems are surface/surface intersection related [45].
Sculpting operators such as deformations [45].
Shape parameter manipulation algorithms [48].
Skinning of surfaces [56].
Visualisation techniques based on precise geometry
instead of polygonal approximation [38].
In conclusion, NURBS curves and surfaces provide a
powerful tool in the hands of the academic and industrial
communities concerned with the design and analysis of
objects. It was the aim of this article to review some of
the properties, techniques, advantages and disadvantages
of the NURBS representation scheme. Some results were
presented in Section 5 in order to show the strength and
exibility of the available methods. An area of special inter-
est is the generation of a 3D model when the only informa-
tion available is a cloud of 3D points on the surface of the
object, possibly obtained from a scanning device. This is of
particular interest for the modelling of real natural objects
(such as fruits), as they cannot be accurately designed other-
wise. A system has already been developed in the course of
the present research effort, enabling the direct creation of
nite element models of real natural or articial objects by
using image processing techniques. This system will be
presented soon.
Acknowledgements
This research work was carried out under a Human Capi-
tal and Mobility research network project funded by the
European Union (CHRX-CT93-0386) relevant to the use
of image processing techniques to directly create nite
element models of real natural and articial products and
systems.
References
[1] Goldman X. The role of surfaces in solid modelling. In: Farin G,
editor. Geometric modelling, Philadelphia: SIAM Press, 1987.
[2] Requicha X. Representations for rigid solids, theory, methods and
systems. Computing Surveys 1980;12:437464.
[3] Requicha AAG, Voelcker HB. Solid modelling, a historical summary
and contemporary assessment. IEEE Computer Graphics and Appli-
cations 1982;2(2):924.
[4] Requicha AAG, Voelcker HB. Solid modelling, current status and
research directions. IEEE Computer Graphics and Applications
1983;3(7):2537.
[5] Requicha AAG, Rossignac JR. Solid modelling and beyond. IEEE
Computer Graphics and Applications 1992;12(5):3144.
[6] Bajaj C, Ihm I. Algebraic surface design with hermite interpolation.
ACM Transactions on Graphics 1992;11(1):6191.
[7] Bajaj C, Ihm I, Warren JW. High order interpolation and least squares
approximation using implicit algebraic splines. ACM Transactions on
Graphics 1993;12(4):327347.
[8] Dahmen W, Thamm-Schaar TM. Cubicoids: modelling and visualisa-
tion. Computer Aided Geometric Design 1993;10:89108.
[9] Dahmen W. Smooth piecewise quadric surfaces. In: Lyche T, Schu-
maker LL, editors. Mathematical methods in computer aided
geometric design, New York: Academic Press, 1989 pp. 181194.
[10] Middleditch A, Dimas E. Triangular algebraic surface patches.
Proceedings of CSG, International Conference on CSG, 1994.
[11] Menon JP. Constructive shell representations for free-form surfaces
and solids. IEEE Computer Graphics and Applications
1994;14(2):2436.
[12] Menon JP, Marisa RJ, Zagalac J. More powerful solid modelling
through ray representations. IEEE Computer Graphics and Applica-
tions 1994;14(3):2235.
[13] Woodward CD. Cross-sectional design of B-Spline surfaces. Compu-
ters and Graphics 1987;11(2):193201.
[14] Gordon WJ. Spline-blended surface interpolation through curve
networks. J Math Mech 1969;18:931952.
[15] Schumaker L. Triangulations in Computer Aided Geometric Design.
IEEE Computer Graphics and Applications 1993;13(1):4552.
[16] Farin G. A construction for visual C1 continuity of polynomial surface
patches. Computer Graphics and Image Processing 1982;20:272282.
[17] Gregory JA. A C2 polygonal surface patch. Computer Aided
Geometric Design 1989;6:6975.
[18] Degen WLF. Explicit continuity conditions for adjacent Bezier
surface patches. Computer Aided Geometric Design 1990;7:181189.
[19] De Rose TD. Necessary and sufcient conditions for tangent plane
continuity of Bezier surfaces. Computer Aided Geometric Design
1990;7:165179.
[20] Charrot P, Gregory JA. A pentagonal surface patch for computer
aided geometric design. Computer Aided Geometric Design
1984;1:8794.
[21] Gregory JA, Lau VK, Zhou J. Smooth parametric surfaces and n-sided
patches NATOASI Series C, 307. In: Dahmen W, Casca M, Micchelli
CA, editors. Computation of curves and surfaces, Dordrecht: Kluwer
Academic Publishers, 1990.
[22] Gregory JA. High order continuous polygonal patches. Computing
1982;116.
[23] Gregory JA, Yuen PK. An arbitrary mesh network scheme using
rational splines. In: Lyche T, Schumaker T, editors. Mathematical
methods in computer aided geometric design, 2. New York:
Academic Press, 1992 pp. 321329.
[24] Varady T. Overlap patches, a new scheme for interpolating curve
networks with n-sided patches. Computer Aided Geometric Design
1991;8:727.
[25] DeBoor C. On calculating with B-Splines. Journal of Approximation
Theory 1972;6(1):5062.
[26] Riesenfeld RF. Applications of B-Spline approximation to geometric
problems of computer aided design, PhDThesis, Syracuse University,
Syracuse, New York, 1973.
[27] Coons SA. Surfaces for computer aided design of space forms, Tech-
nical Report MIT MAC-TR-41, Cambridge, MA, 1967.
[28] Vesprille KJ. Computer aided design applications of the rational B-
Spline approximation form, PhD Thesis, Syracuse University, Syra-
cuse, New York, 1975.
[29] Dahmen W, Micchelli CA. On the linear independence of multivari-
ate B-Splines, I, triangulations of simploids. SIAM Journal of Numer-
ical Analysis 1982;19:9931012.
[30] Piegl L. Modifying the shape of rational B-Splines. Part 1, curves.
Computer Aided Design 1989;21(9):509518.
[31] Barnsky BA, Greenberg DP. Determining a set of B-Spline vertices to
generate an interpolating surface. Computer Graphics and Image
Processing 1980;14(3):203226.
[32] Tiller W. Rational B-Spline for curve and surface representations,
mathematical techniques. IEEE Computer Graphics and Applications
1983;3(6):6169.
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 750
[33] Tiller W. Geometric modelling using NURBS, mathematical techni-
ques, SIGGRAPH Tutorial Notes, 1986.
[34] Piegl L. Modifying the shape of rational B-Splines. Part 2, surfaces.
Computer Aided Design 1989;21(9):538546.
[35] Rogers DF. Constrained B-Spline curve and surface tting. Computer
Aided Design 1989;21(10):641648.
[36] Fong P, Seidel HP. An implementation of triangular B-Spline surfaces
over arbitrary triangulations. Computer Aided Geometric Design
1993;10:267275.
[37] Eisele EF. Best approximations of symmetric surfaces by biquadratic
Bezier surfaces. Computer Aided Geometric Design 1994;11:331
343.
[38] Mana S, DeRose T. Computing values and derivatives of Bezier and
B-Spline tensor products. Computer Aided Geometric Design
1995;12:107110.
[39] Farin G. Triangular Bernstein-Bezier patches. Computer Aided
Geometric Design 1986;3:83127.
[40] Averbach S, et al. Approximation and geometric modelling with b-
splines associated with irregular vertices. Computer Aided Geometric
Design 1991;8:6787.
[41] Fong P. Shape control of B-Splines over arbitrary triangulations, MSc
Thesis, University of Waterloo, Canada, 1992.
[42] Dahmen W, Micchelli CA, Seidel HP. Blossoming bgets B-Splines
built better by B-ptches. Mathematics of Computation 1992;59:97
115.
[43] Greiner G, Seidel HP. Modelling with tiangular B-Splines. IEEE
Computer Graphics and Applications 1994;14(2):5660.
[44] Boehm W, Farin G, Kahmann J. A survey of curve and surface meth-
ods in Computer Aided Geometric Design. Computer Aided
Geometric Design 1984;1:160.
[45] Piegl L. On NURBS, a survey. IEEE Computer Graphics and Appli-
cations 1991;11(1):5571.
[46] Peters J. Local smooth surface interpolation: a classication. Compu-
ter Aided Geometric Design 1990;7:191195.
[47] Farouki R, Hinds J. A hierarchy of geometric forms. IEEE Computer
Graphics and Applications 1985;5(5):5178.
[48] Piegl L, Tiller W. Curve and surface constructions using rational B-
Splines. Computer Aided Design 1987;19(9):485498.
[49] DeBoor C. Basic B-splines. In: Piegl L, editor. Fundamental devel-
opments in CADCAM and geometric modelling, Guildford, UK:
Butterworth-Heinemann, 1991.
[50] Piegl L. A geometric investigation of the rational Bezier scheme for
computer aided design. Computers in Industry 1986;7(5):401410.
[51] Prautzsch H. Simple concepts dont work as the denition of variation
diminishing, SIAM Conference on Geometric Modelling and
Robotics, Albany, 1985.
[52] Farin G. From conics to NURBS, a tutorial and survey. IEEE Compu-
ter Graphics and Applications 1992;12(5):7886.
[53] Boehm W. Inserting new knots into B-spline curves. Computer Aided
Design 1980;12(4):199201.
[54] Ma W. NURBS-based computer aided design modelling frommeasured
points of physical models, PhD. Thesis, Dept of Mechanical
Engineering, Catholic University of Leuven, Leuven, Belgium.
[55] Sarkar B, Menq CH. Parameter optimisation in approximating curves
and surfaces to measurement data. Computer Aided Geometric
Design 1991;8:267290.
[56] Woodward CD. Skinning techniques for interactive B-Spline surface
interpolation. Computer Aided Design 1988;20(8):441451.
E. Dimas, D. Briassoulis / Advances in Engineering Software 30 (1999) 741751 751