Graphics Reference
In-Depth Information
This, however, can be written in matrix form as
P
00
(1
P
01
−
v
)
P
uv
=[(1
−
u
)
u
]
·
·
(9.57)
P
10
P
11
v
which expands to
−
P
00
−
v
1
11
10
P
01
11
10
P
uv
=[
u
1]
·
·
·
·
(9.58)
P
10
P
11
Let's illustrate this with an example. Given the following four points:
P
00
=
(0
,
0
,
0)
,P
10
=(0
,
0
,
4)
P
01
=(2
,
2
,
1)
,P
11
=(2
,
2
,
3), we can write the coordi-
nates of any point on the patch as
−
02
02
−
v
1
11
10
11
10
x
uv
=[
u
1]
·
·
·
·
−
02
02
−
v
1
11
10
11
10
y
uv
=[
u
1]
·
·
·
·
−
01
43
−
v
1
11
10
11
10
z
uv
=[
u
1]
·
·
·
·
x
uv
=2
v
y
uv
=2
v
z
uv
=
u
(4
−
2
v
)+
v
By substituting values of
u
and
v
in (9.47) between the range 0
≤
u, v
≤
1
we obtain the coordinates of any point on the surface of the patch.
If we now introduce the ideas of Bezier control points into a surface patch
definition, we provide a very powerful way of creating smooth 3D surface
patches.
9.7.2 Quadratic Bezier Surface Patch
Bezier proposed a matrix of nine control points to determine the geometry of
a quadratic patch, as shown in Figure 9.18. Any point on the patch is defined
by
⎡
⎤
⎡
⎤
⎡
⎤
⎡
⎤
v
2
v
1
1
−
21
P
00
P
01
P
02
1
−
21
P
uv
=[
u
2
u
1]
⎣
⎦
·
⎣
⎦
·
⎣
⎦
·
⎣
⎦
·
−
220
100
P
10
P
11
P
12
−
220
100
P
20
P
21
P
22
The individual
x
,
y
and
z
-coordinates are obtained by substituting the
x
,
y
and z values for the central
P
matrix.
Let's illustrate the process with an example. Given the following points:
P
00
=(0
,
0
,
0)
P
01
=(1
,
1
,
0)
P
02
=(2
,
0
,
0)
P
10
=(0
,
1
,
1)
P
11
=(1
,
2
,
1)
P
12
=(2
,
1
,
1)
P
20
=(0
,
0
,
2)
P
21
=(1
,
1
,
2)
P
22
=(2
,
0
,
2)