Graphics Reference
In-Depth Information
12.9.2
Theorem.
The bicubic patch defined by equation (12.36) is affinely
invariant.
Proof. By Theorem 11.2.2.3 we need to expand equation (12.37) and show that the
functions that are the coefficients of p 00 , p 10 , p 01 , and p 11 add to 1 (the other elements
of the geometric matrix B are “vectors”). But this sum is just
2
2
2
Ê
Á
ˆ
˜
Â
Â
Â
() () =
()
()
FuFv
Fu
Fv
=
1
,
i
j
i
j
ij
,
=
1
i
=
1
j
=
1
using identity (11.17).
Although the twist vectors p uv (u,v) of a bicubic patch do have a geometric inter-
pretation, they are the least geometric part of the geometric matrix. For that reason,
they are sometimes set to zero.
Definition. A bicubic patch for which the twist vectors vanish, that is, a patch that
has a geometric matrix of the form
(
)
(
)
(
)
(
)
p
00
,
p
01
,
p
00
,
p
01
,
Ê
ˆ
v
v
Á
Á
Á
()
()
()
()
˜
˜
˜
p
10
,
p
11
,
p
10
,
p
11
,
v
v
,
(
)
(
)
p
00
,
p
01
,
0
0
u
u
Ë
¯
()
()
p
10
,
p
11
,
0
0
u
u
is called a Ferguson patch .
Ferguson patches may simplify specifying the data for a patch, but they have prob-
lems. They make the patch look flat in a neighborhood of its corners. This is espe-
cially noticeable for networks of patches and therefore they are used very little. There
are better ways to specify the twist vectors automatically without user intervention.
Recall the Gregory square.
The Adini twist vector is obtained at a vertex by using information from the bound-
ary of a patch or patches. In the single patch case we compute the bilinearly blended
Coons patch from the cubic boundary curves of our patch and use its mixed partial
derivative at the vertex as the twist vector. In the case of a network of patches this
would not give us C 1 continuity at the vertices, but a simple modification works. We
compute the bilinearly blended Coons patch for the boundary of the union of the four
patches that meet at the vertex and use the mixed partial derivatives of that larger
patch at the vertex. If the network of patches over domains [u i ,u i+1 ] ¥ [v j ,v j+1 ] defines
the global parameterization q(u,v), then one can show that the Adini twist vectors are
(
) -
(
)
(
) -
(
)
qu v qu v
uu
,
,
quv
,
quv
,
ui
+
1
j
ui
-
1
j
vi
j
+
1
vi
j
-
1
(
) =
quv
,
+
uv
i
j
-
v
-
v
i
+
1
i
-
1
j
+
1
j
-
1
(
) -
(
) +
(
) -
(
)
q uv
,
q uv
,
q uv
,
q u
,
v
i
+
1
j
+
1
k
+
1
j
-
1
i
-
1
j
-
1
i
-
1
j
+
1
(12.38)
-
.
(
)
(
)
uuv
-
-
v
i
+
1
i
-
1
j
+
1
j
-
1
Another way to specify a bicubic patch is by means of a 4 ¥ 4 grid of points p ij
and requiring that the patch interpolate those points. These points provide 48 con-
Search WWH ::




Custom Search