
588 Chapter 12 Surfaces
L = 0 L = 1
Figure 12.7 Subdivisions of parameter space for a rectangle patch.
{
s = i/P;
for(j=0;j<M;j++)
{
t = j/P;
vertex[i][j] = X(s,t); // evaluation of patch
}
}
However, this does not minimize the number of floating-point operations for B
´
ezier
rectangle patches of odd degree. Let’s consider an example for bicubic patches. Ig-
noring loop overhead and the divisions for computing s and t (these can be replaced
by incrementing by a precomputed delta), the floating-point operations occur in the
evaluation of the B
´
ezier patch X(s , t). Define
q
i
=
3
j=0
B
3,j
(t)P
i , j
= R
(i)
0
+ tR
(i)
1
+ t
2
R
(i)
2
+ t
3
R
(i)
3
= R
(i)
0
+ t(R
(i)
1
+ t(R
(i)
2
+ tR
(i)
3
))