
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.