330 Chapter 17 Bezier Triangles
17.10 S-Patches
Bezier patches in higher dimensions have a fairly abstract flair; yet, they may
be used to design "normal" surfaces in 3D. One method to do this is due to T.
DeRose and C. Loop; see
[167], [168], [398],
They devised a method to contruct
patches with an arbitrary number s of edges.
In order to build an s-sided patch, we take as its domain a convex 2D polygon
Vs with vertices
pj,...,
p^,
ordered counterclockwise. For every point p inside
this polygon, we construct "generalized barycentric coordinates" w^,...,
w^,
by
considering all triangles formed by p and the polygon vertices p^—this approach
is due to Gregory and Charrot
[110].
If the area^ of triangle p,
p^,
pj^i is denoted
by A/, then we define
;r,- = Ai..... A,_2
•
A,+i •...
•
A,.
Since these
TTJ
do not sum to one, we normalize and obtain
Ui= "^ . (17.27)
TTi + . . . +
TT,
For s = 3, we obtain standard barycentric coordinates in a triangle. If p is on the
edge
p^,
pi^i of
7^5,
then only
Uj
and Uj^i are nonzero.
The key idea now is this: since the u^ sum to one, they may be interpreted
as barycentric coordinates of an (s
—
l)-dimensional simplex S^; see Section 3.5.
We call the vertices of the simplex
Sj;
|i| = 1. In particular, if s = 3, the simplex is
a triangle; if s = 4, it is a tetrahedron. We associate the point p/ of Vs with the
point
[0^^~^^,
1,0^^~^^]
of
tS^.
All points u = (w^,...,
w^)
inside this simplex that
have barycentric coordinates (17.27) trace out a two-dimensional subset of the
simplex. It has the property that if p is on one of the edges of
Vg^
then u is on the
corresponding edge of 5^.
Next, we may define a Bezier patch over S^. Recall that S^ is just the domain
of that patch; the corresponding Bezier points may "live" in any dimension. We
restrict them to be 3D points bj, with |i| =
w,
the degree of the Bezier patch. This
number n is referred to as the depth of the S-patch. The equation of the S-patch
becomes
x(u) = J]) bjBf
(u).
(17.28)
\i\=n
5 If p is outside the polygon, we use signed areas.