
8. B-splines 215
curve
B(t)=
n
i=0
w
i
b
i
N
i,n
(t)
n
i=0
w
i
N
i,n
(t)
,
it is sufficient to apply the projective transformation to the homogeneous con-
trol points
ˆ
b
i
,where
ˆ
b
i
=(w
i
b
i
,w
i
)ifw
i
=0,and
ˆ
b
i
=(b
i
, 0) if w
i
=0.The
transformed images of
ˆ
b
i
define a NURBS curve which is the transformation
of B(t).
The proof is analogous to the equivalent result for rational B´ezier curves
given in Section 7.5.3. Suppose the projective transformation matrix M is ap-
plied to B(t)=
n
i=0
ˆ
b
i
N
i,n
(t) (expressed in homogeneous coordinates). Then
B(t)M =
n
i=0
ˆ
b
i
N
i,n
(t)
M =
n
i=0
N
i,n
(t)
ˆ
b
i
M
=
n
i=0
ˆc
i
N
i,n
(t) ,
defining a NURBS curve with control points and weights given by ˆc
i
=
ˆ
b
i
M
from which the Cartesian control points and weights can be obtained. In par-
ticular, if the transformation is a perspective or parallel projection then the
projected image of a NURBS curve onto a viewplane can be executed by ap-
plying the projection to the homogeneous control points.
As for the case of rational B´ezier curves, the above argument can be adapted
to show that NURBS curves are invariant under the viewplane coordinate map-
ping VC and the device coordinate transformation DC. It follows that the whole
process of viewing a rational B´ezier curve can be executed by applying the com-
plete viewing pipeline matrix VP = M · VC · DC to the control points.
Example 8.24
Consider the perspective projection of Examples 4.7 and 7.27 onto the xy-
plane with viewpoint V(1, 5, 3). The projection matrix M and viewplane co-
ordinate matrix VC are determined in Example 7.27. The quadratic NURBS
curve, defined on the knot vector t
0
=0,t
1
=0,t
2
=1,t
3
=2,t
4
=3,
t
5
= 3, with control points b
0
(0, 0, 0), b
1
(1, 0, 0), b
2
(1, 0, 1), b
3
(1, 1, 1), and
weights 1, 2, 2, 1, has homogeneous control points
ˆ
b
0
(0, 0, 0, 1),
ˆ
b
1
(2, 0, 0, 2),
ˆ
b
2
(2, 0, 2, 2),
ˆ
b
3
(1, 1, 1, 1). Thus
⎛
⎜
⎜
⎜
⎝
ˆ
b
0
ˆ
b
1
ˆ
b
2
ˆ
b
3
⎞
⎟
⎟
⎟
⎠
M · VC =
⎛
⎜
⎜
⎝
0001
2002
2022
1111
⎞
⎟
⎟
⎠
M · VC =
⎛
⎜
⎜
⎝
6.6 −1.2 −3.0
9.6 −7.2 −6.0
14.4 −10.8 −4.0
4.8 −3.6 −2.0
⎞
⎟
⎟
⎠
.
Multiply the homogeneous control points through by −1 to give positive
weights. Then the image of the curve is the planar quadratic NURBS curve