i
i
i
i
i
i
i
i
13.2. Parametric Curved Surfaces 595
Figure 13.16. Different degrees in different directions.
Here, q
i
(v)=
n
j=0
B
n
j
(v)p
i,j
for i =0...m. As can be seen in the
bottom row in Equation 13.29, this is just a B´ezier curve when we fix a
v-value. Assuming v =0.35, the points q
i
(0.35) can be computed from
aB´ezier curve, and then Equation 13.29 describes a B´ezier curve on the
B´ezier surface, for v =0.35.
Next, some useful properties of B´ezier patches will be presented. By
setting (u, v)=(0, 0), (u, v)=(0, 1), (u, v)=(1, 0), and (u, v)=(1, 1)
in Equation 13.28, it is simple to prove that a B´ezier patch interpolates,
that is, goes through, the corner control points, p
0,0
, p
0,n
, p
n,0
,andp
n,n
.
Also, each boundary of the patch is described by a B´ezier curve of degree
n formed by the control points on the boundary. Therefore, the tangents
at the corner control points are defined by these boundary B´ezier curves.
Each corner control point has two tangents, one in each of the u and v
directions. As was the case for B´ezier curves, the patch also lies within the
convex hull of its control points, and
m
i=0
n
j=0
B
m
i
(u)B
n
j
(v)=1
for (u, v) ∈ [0, 1] ×[0, 1]. Finally, rotating the control points and then gen-
erating points on the patch is the same mathematically as (though usually
faster than) generating points on the patch and then rotating these. Par-
tially differentiating Equation 13.28 gives [332] the equations below:
Derivatives [patches]:
∂p(u, v)
∂u
= m
n
j=0
m−1
i=0
B
m−1
i
(u)B
n
j
(v)[p
i+1,j
− p
i,j
],
∂p(u, v)
∂v
= n
m
i=0
n−1
j=0
B
m
i
(u)B
n−1
j
(v)[p
i,j+1
− p
i,j
].
(13.30)