Game Development Reference
In-Depth Information
11.7 Bicubic Surfaces
Our knowledge of cubic curves can be readily extended to bicubic surfaces.
Whereas a single component
()
Q
i t
of a cubic curve required four geometrical
()
constraints
G through
G
, a single component
Q
s t
,
of a bicubic surface,
i
+
3
ij
called a patch , requires 16 geometrical constraints
G
through
G
. The gen-
ij
i
++
3,
j
3
eral parametric representation of a surface patch is given by
33

()
()()
Q
st
,
=
B
s B t
G
,
(11.89)
ij
k
l
i
++
k
,
j
l
kl
==
00
where the parameters s and t range from 0 to 1, and the functions B , B , B , and
B are the blending functions for the type of cubic curve on which the surface
patch is based. Calling the basis matrix corresponding to the blending functions
M , we can write Equation (11.89) in the form
GG G
r
r
r
G
r
ij
,
ij
,
+
1
ij
,
+
2
ij
,
+
3
r
r
r
r
GG G
G
()
()
i
+
1,
j
i
+
1,
j
+
1
i
+
1,
j
+
2
i
+
1,
j
+
3
()
Qst
r
ij
,
=
SM
T
s
T
T ,
t
(11.90)
GG G
r
r
r
G
r
i
+
2,
j
i
+
2,
j
+
1
i
+
2,
j
+
2
i
+
2,
j
+
3
r
r
r
r
GG G
G
i
+
3,
j
i
+
3,
j
+
1
i
+
3,
j
+
2
i
+
3,
j
+
3
()
23
()
23
where
S
s
1,
ss s
,
,
,
T
t
1, ,
t t
,
t
, and the index r represents one of the
()
x , y , or z coordinates of
Q
s t
,
. The geometrical constraint matrix G for a bicu-
ij
bic surface patch is a 4
array of coordinates.
A bicubic Bézier surface patch is defined by 16 control points. The surface
passes through four of these points at the corners of the patch, and the remaining
12 control points influence the shape of the interior of the patch. A simple exam-
ple is shown in Figure 11.19. Two adjacent Bézier patches have C continuity at
the edge where they meet whenever they share the same four control points along
that edge. They have G continuity across the edge if the adjacent control points
on either side of the edge are collinear with the control points on the edge, and C
is achieved if the distances to the control points on either side of the edge are
equal, ensuring that the tangent vectors have equal magnitude. When four Bézier
patches meet at a single point P , C continuity at that point requires that each pair
of adjacent patches meet with
××
43
1
C continuity and that the eight nearest control
points are coplanar with P .
()
ij s Q is obtained
by finding two tangent vectors and then calculating their cross product. The tan-
The normal vector at a point on a bicubic surface patch
,