
9. Surfaces 245
0
2
4
6
x
0
2
4
6
8
10
12
y
0
2
4
6
8
z
Figure 9.10 A NURBS translational swept surface
9.4.4 Surfaces of Revolution
A surface obtained by rotating a generating curve B(s) about a fixed axis is
called a surface of revolution. It is assumed that the curve lies in a plane contain-
ing the axis and, to avoid self-intersections of the surface, that the axis does not
intersect the curve. Let B(s)=
n
i=0
b
i
u
i
N
i,d
(s)/
n
i=0
u
i
N
i,d
(s) (knot vector
s
0
,...,s
m
) be a generating NURBS curve in the xz-plane. Rotating B(s)about
the z-axis results in a NURBS surface of revolution S(s, t). The points in the ith
row of the control polyhedron of S lie in a plane perpendicular to the z-axis, and
consist of a copy of the control polygon of a NURBS circle scaled by a factor f
i
and translated by d
i
units in the z-direction. The NURBS circle (Example 8.21)
has control points (1, 0), (1, 1), (−1, 1), (−1, 0), (−1, −1), (1, −1), (1, 0), weights
1,
1
2
,
1
2
, 1,
1
2
,
1
2
, 1, and knot vector 0, 0, 0,
1
4
,
1
2
,
1
2
,
3
4
, 1, 1, 1. These control points
are expressed as three-dimensional coordinates in the z = 0 plane: c
0
(1, 0, 0),
c
1
(1, 1, 0), c
2
(−1, 1, 0), c
3
(−1, 0, 0), c
4
(−1, −1, 0), c
5
(1, −1, 0), c
6
(1, 0, 0). The
scale factor f
i
is equal to the distance of b
i
from the z-axis (equal to the x-
coordinate of b
i
), and the distance d
i
of translation is the distance of b
i
from
the x-axis (equal to the z-coordinate of b
i
). The knots in the s-direction are
s
0
,...,s
m
, and the knots in the t-direction are inherited from the NURBS cir-
cle. The rows of weights w
i,j
= {u
i
,
1
2
u
i
,
1
2
u
i
,u
i
,
1
2
u
i
,
1
2
u
i
,u
i
} for i =0,...,n,
are the weights of the NURBS circle scaled by a factor u
j
.
Example 9.19
Let B(s)beaNURBScurveofdegreed = 3 with control points b
0
(2, 0, 1),
b
1
(1, 0, 2), b
2
(3, 0, 3), b
3
(1, 0, 4), b
4
(1, 0, 5), weights u
0
=1,u
1
=2,u
2
=3,
u
3
=4,u
4
=2,andknots0, 0, 0, 0, 1, 2, 2, 2, 2. The surface of revolution is given