Graphics Reference
In-Depth Information
Â
d
puv
(
,
) =
P uv
(
(
,
)
,...,
(
uv
,
)
) =
B
(
abc
, ,
)
b
.
(12.51)
ijk
,,
ijk
,,
(
ijk I d
,,
m
Furthermore, if we define points b i,j,k
, 1 £ m £ d, by
0
b
=
b
.
ijk
,,
ijk
,,
m
m
-
1
m
-
1
m
-
1
b
=
a
b
+
b
b
+
c
b
,
i
++=-
j
k
d
m
,
ijk
,,
i
+
1
,,
j k
ij
,
+
1
,
k
ijk
,,
+
1
then
m
(
)
(
)
b
=
Puv
(
,
,...,
uv
,
, ,..., , ,..., , ,..., ),
r
r s
s t
t
ijk
,,
12
44
44 144144123
3
m
i
j
k
d
and p(u,v) = b 000
.
Proof. See [Gall00]. The second part of (2) is proved by a simple induction
and leads to Algorithm 12.12.2.1 for computing p(u,v) called the de Casteljau
algorithm .
Definition. Using the notation in Theorem 12.12.2.5 a set of points like the set of
b i,j,k is called a triangular or B é zier control net and the parametric surface p(u,v) is
called a triangular B é zier surface of degree d whenever r = (1,0), s = (0,1), and t = (0,0).
The definitions and facts about triangular blossoms, especially the notation, may
look formidable in the abstract but, like in the case of blossoms for curves, “the beast
has a bark that is louder than its bite.” The examples and applications in the next
section will show that actually working with triangular blossoms is not that bad
because it involves fairly simple triangle geometry.
Inputs:
A triangular array of points b i,j,k , 0 £ i, j, k, i + j + k = d
A tuple (a,b,c) with a + b + c = 1
d
Output:
b 0,0,0
0
Step 1:
Set
b i,j,k
= b i,j,k .
Step 2:
For m = 1, 2,...,d and i + j + k = d - m
m
m-1
m-1
m-1
b i,j,k
= a b i+1,j,k
+ b b i,j+1,k
+ c b i,j,k+1
Algorithm 12.12.2.1.
The de Casteljau algorithm for triangular patches.
Search WWH ::




Custom Search