Computer Aided Geometric Design 27 (2010) 233–244
Contents lists available at ScienceDirect
Computer Aided Geometric Design www.elsevier.com/locate/cagd
Polyhedral vertex blending with setbacks using rational S-patches Pei Zhou ∗ , Wen-Han Qian Robotics Institute, Shanghai Jiao Tong University, 200240, PR China
a r t i c l e
i n f o
a b s t r a c t
Article history: Received 17 February 2009 Received in revised form 11 September 2009 Accepted 17 January 2010 Available online 20 January 2010
Setbacks not only beautify the shape of polyhedral vertex blending, but also overcome the difficulties inherited from non-setback blending. However, stitching several tensor product Bézier surfaces, the existing approaches to setback vertex blending may cause twist compatibility problems and approximate solutions, especially when the vertex gathers more edges. This paper proposes a new algorithm, yielding an exact solution using a single rational S-patch. Although S-patch developers Loop and DeRose (1989) also investigated vertex blending (1990), they did not configure setback. In addition, the new algorithm reduces the depth of the S-patch and extends the edge blending surfaces to use rational Bézier representation, so that circular rounding can be made. Miscellaneous examples demonstrate that the method produces smooth and natural connecting shapes. © 2010 Elsevier B.V. All rights reserved.
Keywords: Rational S-patch Multisided Bézier surface Setback vertex blending G 1 -continuity
1. Introduction In engineering, polyhedron models are blended very often for manufacturing, strength, aesthetic and usage purposes. The edges of a polyhedron can be rounded easily in CAGD using the rational tensor product Bézier surfaces with constant or variable radius. More researchers investigated the vertex blending problem. Fig. 1 shows a number of vertex configurations. The existing vertex blending approaches can be classified by the resulting equation form. For example, the recursive formula is generated by the subdivision method (Peters and Reif, 1997; Hwang and Chuang, 2003). The implicit form is produced by the algebraic method (Kosters, 1989; Braid, 1997; Mou et al., 2007) or functional splines (Hartmann, 2001). The parametric form can be obtained by stitching several rectangular patches (Gregory, 1974; Szilvasi-Nagy, 1991; Gregory and Zhou, 1994; Varady and Rockwood, 1997) or triangular patches (Peters, 1995), or using a single multisided surface (Loop and DeRose, 1990; Warren, 1992). In general, the parametric form is more popular. For instance, it is trivial to determine points, curves and trimmed patches on a parametric surface. Vertex blending in early works (Loop and DeRose, 1990; Szilvasi-Nagy, 1991; Gregory and Zhou, 1994) had no setback. It was first proposed by Varady and Rockwood (1997), who pointed out: setbacks not only beautify the blended vertex shape, but also overcome the inherent difficulties in the following cases: (1) the edge blending radii are not equal, (2) the angle between edges is not around 90 degrees, (3) undesirable shape comes out in convex–concave configurations. In addition to the above, we find another important advantage: the existence of setbacks greatly facilitates the realization of the G 1 -continuity in constructing process because along the spring curves the vertex blending surface contacts the primary planar faces rather than the edge blending surfaces. The setback advocators carried out their proposal using a uniform rectangular topology (Varady and Rockwood, 1997; Braid, 1997; Varady and Hoffmann, 1998). However, the twist compatibility problem may happen when edges increase. Moreover, the construction becomes more complicated and the solution may be approximate. Although Warren’s multisided
*
Corresponding author. E-mail address:
[email protected] (P. Zhou).
0167-8396/$ – see front matter doi:10.1016/j.cagd.2010.01.001
© 2010
Elsevier B.V. All rights reserved.
234
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
Fig. 1. Miscellaneous vertex configurations. (a) The 3-edge convex vertex is very common, known as a suitcase corner. (b) 4-edge convex vertex. (c) The apex of a pyramid may have as many edges as we like. Thus convex vertices are easy to configure. Actually, concave vertices are the same as the convex in blending. If the pyramid base takes a non-convex polygon, its apex becomes a multi-edge convex–concave vertex. More practically, (d)–(h) are 3-, 4-, 4-, 5-, 6-edge convex–concave vertices respectively. The last one is also called three-beam corner.
rational Bézier patches (Warren, 1992) with base points avoided these problems, his method only turned out vertex blending without setback, and the number of patch sides was at most 6. First developed by Loop and DeRose (1989), regular S-patches are also called multisided Bézier surfaces (Goldman, 2004). Many properties of the regular S-patch were figured out by Loop and DeRose (1989). Especially, the control points of an m-sided rational regular S-patch of depth n in C 1 -contact with a given rational triangular Bézier (briefly RTB) surface of degree n can be constructed geometrically by use of the latter control net (see pp. 224–226 and pp. 228–230, Loop and DeRose, 1989). Later, Loop and DeRose (1990) made use of the regular S-patches to construct the B-spline surfaces of arbitrary topology. However, to avoid complication, they only considered the polynomial edge blending surfaces. Moreover, the non-existing of setback leads to the depth of resulting S-patches being 5 when the edge blending surfaces are quadratic. In this paper, the setback vertex blending surface having exact G 1 -contact with the rational edge blending surfaces and the initial planar faces is generated using a single rational regular S-patch of depth 3. Consequently, not only the resulting surface looks fairer with elegant setbacks, but also the twist compatibility problem disappears. Furthermore, there still exist enough freedoms usable for adjusting the surface shape. In what follows, Section 2 outlines the S-patch theory. Section 3 deduces the first-order cross boundary derivative of rational regular S-patches. Section 4 succinctly introduces the edge blending using rational tensor product Bézier (briefly RTPB) surfaces. As a typical case, setback blending of a 3-edge convex vertex is detailed in Section 5 using a 6-sided rational regular S-patch of depth 3 (denoted by mS = 6). Section 6 discusses how to construct more elegant setbacks using mS = 7 for 3-edge convex–concave vertices. Section 7 extends the foregoing results to multi-edge vertices. Finally, concluding remarks are written in Section 8. 2. Rational regular S-patches S-patches are defined on a convex polygonal domain (Loop and DeRose, 1989; Farin, 2002, p. 330). When the domain polygon P is the affine image of a regular polygon, the corresponding S-patches are called regular. Fig. 2 shows an m-sided regular S-patch of depth n defined on P , where the symbol ek denotes a multi-index whose components are all zero except the kth component which is one. An affine rational regular S-patch can be formulated as
n |i|=n w i bi B i (l1 ( p ), l2 ( p ), . . . , lm ( p ))
S( p ) = B ◦ L ( p ) =
n |i|=n w i B i (l1 ( p ), l2 ( p ), . . . , lm ( p ))
,
p ∈ P , bi ∈ R3 ,
(1)
which is the composition of an embedding L : P → Ω (Ω = { v 1 , v 2 , . . . , v m } is a simplex of dimension m − 1) and a Bézier simplex B : Ω → R3 (illustrated in Fig. 2). The Bézier simplex is defined as
n |i|=n w i bi B i (u)
B(u) =
n |i|=n w i B i (u)
n |i|=n w i bi B i (u 1 , u 2 , . . . , um )
=
n |i|=n w i B i (u 1 , u 2 , . . . , um )
,
u ∈ Ω,
(2)
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
235
Fig. 2. An m-sided regular S-patch of depth n defined on a regular polygon P .
m
where w i are the rational weights, bi = [xi , y i , zi ]T are the S-patch control points, i = (i 1 , i 2 , . . . , im ) = k=1 ik ek (hereinafter, we omit the parentheses and commas when using it as subscript), and its components m of (i 1 , i 2 , . . . , im ) for brevity m are nonnegative integers. |i| = n denotes k=1 ik = n. Summing to one, i.e., k=1 uk = 1, (u 1 , u 2 , . . . , um ) are the barycentric coordinates of u with respect to Ω . We write u = (u 1 , u 2 , . . . , um ). The (m − 1)-variate Bernstein polynomials of degree n are
B ni (u) = B ni (u 1 , u 2 , . . . , um ) = where
n i
=
n i
i
i
i
u 11 u 22 · · · umm ,
(3)
n!
(4)
i 1 !i 2 ! · · · i m !
is the multinomial coefficient. Following Farin (1999), underline the projective counterparts of affine points. Thus, the corresponding projective regular S-patch is
S( p ) =
bi B ni l1 ( p ), l2 ( p ), . . . , lm ( p ) ,
bi ∈ P3 ,
(5)
|i|=n
where P3 denotes the three-dimensional projective space; bi = [ w i xi , w i y i , w i zi , w i ]T are the homogeneous form of bi ; lk ( p ), k = 1, . . . , m are rational functions that partition unity. They mean
lk ( p ) =
πk ( p ) π1 ( p ) + π2 ( p ) + · · · + πm ( p )
,
k = 1, . . . , m
and
m
l k ( p ) = 1,
(6)
k =1
where πk ( p ) = σ1 ( p ) · · · σk−2 ( p )σk+1 ( p ) · · · σm ( p ), and all indices are treated in cyclic fashion. As shown in Fig. 2, σk ( p ) denotes the signed (positive if p is inside P ) area of the triangle ppk pk+1 . In this case, lk ( p ), k = 1, . . . , m are nonnegative. Let us enumerate their three useful properties:
• The point S( p ) can be evaluated by the projective multivariate de Casteljau algorithm with respect to lk ( p ), k = 1, . . . , m (Loop and DeRose, 1989; Goldman, 2004). Then S( p ) can be obtained by projecting S( p ) from the projective space into the affine space.
• If the domain P is a triangle or parallelogram, then the regular S-patches reduce to RTB or RTPB surfaces respectively. • Each boundary curve of a regular S-patch is a rational Bézier curve. Besides, the rth-order cross boundary derivative depends only on the control points having a distance r or less from the boundary (Loop and DeRose, 1989, p. 218). 3. The first-order cross boundary derivative of rational regular S-patches As shown in Fig. 3, p (t ) = (1 − t ) pa + tp b is a line segment in the domain polygon P , and intersects p 1 p 2 at pa . Substituting p (t ) into Eq. (1) yields
236
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
Fig. 3. A line segment in the regular domain polygon P .
n |i|=n w i bi B i (l1 ( p (t )), . . . , lm ( p (t )))
S(t ) = S p (t ) =
n |i|=n w i B i (l1 ( p (t )), . . . , lm ( p (t )))
t ∈ [0, 1].
,
(7)
Actually it corresponds to a curve on the regular S-patch after affine maps. Let uk (t ) = lk ( p (t )), k = 1, . . . , m, and note that m−1 um (t ) = 1 − k=1 uk (t ). Evaluated at t = 0, the first-order cross boundary derivative of S(t ) is
= dt t =0
dS(t )
d
n |i|=n w i bi B i (u(t ))
dt
t =0
− pa
d
n |i|=n w i B i (u(t ))
dt
n |i|=n w i B i (u(t ))|t =0
t =0
(8)
,
where pa is the affine image of pa and can be formulated as
pa =
w b B n (u) |ˆi0 |=n ˆi0 ˆi0 ˆi0
w B n (u) |ˆi0 |=n ˆi0 ˆi0
(9)
,
where ˆi0 = (ˆi 1 , ˆi 2 , 0, . . . , 0), |ˆi0 | = ˆi 1 + ˆi 2 = n and
B nˆ (u) = i0
n! ˆi 1 ˆi 2 u u , ˆi 1 !ˆi 2 ! 1 2
u1 + u2 = 1
(10)
are univariate Bernstein polynomials. According to the chain rule, the first term in the numerator of Eq. (8) is
d
n |i|=n w i bi B i (u(t ))
dt
t =0
=
m −1
∂
n |i|=n w i bi B i (u)
∂ uk
k =1
duk (t ) u 3 =···=um =0
dt
(11)
.
t =0
Resorting to Eq. (3), we have
∂
n |i|=n w i bi B i (u)
∂ uk
u 3 =···=um =0
=
w i bi
|i|=n
n! i 1 ! · · · (ik − 1)! · · · im !
i u 11
i −1 im · · · ukk · · · um
u 3 =···=um =0
n! i1 i m −1 − w i bi u · · · um , i 1 ! · · · (im − 1)! 1 u 3 =···=um =0
k = 1, . . . , m − 1.
(12)
|i|=n
By substituting ik + 1 for ik (alternatively i + ek for i) in the first term of the right part of Eq. (12) and im + 1 for im (alternatively i + em for i) in the second term analogously, we get
∂
n |i|=n w i bi B i (u)
∂ uk
u 3 =···=um =0
=n
|i|=n−1
( w i+ek bi+ek − w i+em bi+em ) B ni −1 (u)
, u 3 =···=um =0
k = 1, . . . , m − 1. (13)
Since u 3 = · · · = um = 0, then i 3 = · · · = im = 0. Eq. (13) becomes
∂
n |i|=n w i bi B i (u)
∂ uk
u 3 =···=um =0
=n
( w i0 +ek bi0 +ek − w i0 +em bi0 +em ) B ni0−1 (u),
where i0 = (i 1 , i 2 , 0, . . . , 0), |i0 | = i 1 + i 2 = n − 1, and B ni −1 (u) = 0 from Eq. (11) to Eq. (14), we get easily
d
n |i|=n w i B i (u(t ))
dt
t =0
=
m −1 k =1
k = 1, . . . , m − 1,
(14)
|i0 |=n−1
∂
(n−1)! i 1 i 2 u u , u1 i 1 !i 2 ! 1 2
n |i|=n w i B i (u)
∂ uk
duk (t ) u 3 =···=um =0
dt
t =0
,
+ u 2 = 1. Similar to the above derivation
(15)
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
237
Fig. 4. The schematic control points in B 1 when m = 5, n = 2.
where
∂
n |i|=n w i B i (u)
∂ uk
u 3 =···=um =0
=n
( w i0 +ek − w i0 +em ) B ni0−1 (u),
k = 1, . . . , m − 1.
(16)
|i0 |=n−1
Substituting Eq. (11) and Eqs. (14)–(16) into Eq. (8) and rearranging,
n −1 m −1 n |i0 |=n−1 sk B i0 (u) duk (t ) = , dt t =0 w B n (u) dt t =0 |ˆi |=n ˆi ˆ
dS(t )
k =1
0
0
(17)
i0
where
sk = w i0 +ek (bi0 +ek − pa ) − w i0 +em (bi0 +em − pa ).
(18)
Substituting Eq. (9) into Eq. (18), we have
sk = w i0 +ek bi0 +ek −
w b B n (u) |ˆi0 |=n ˆi0 ˆi0 ˆi0
w B n (u) |ˆi0 |=n ˆi0 ˆi0
w b B n (u) |ˆi0 |=n ˆi0 ˆi0 ˆi0
− w i0 +em bi0 +em −
w B n (u) |ˆi0 |=n ˆi0 ˆi0
.
(19)
Note that duk (t )/dt |t =0 , k = 1, . . . , m − 1 are scalar in Eq. (17), and the vector-valued terms in sk , i.e., bi0 +ek , k = 1, . . . , m − 1, bi0 +em and bˆi are just the members of a control point set close to the boundary. Let this set be 0
B 1 = bi i = i0 + e j , i0 = i 1 e1 + i 2 e2 , |i0 | = i 1 + i 2 = n − 1, and j = 1, . . . , m .
(20)
For example, when m = 5 and n = 2, all the elements in B 1 are showed in Fig. 4. We use this notation because B is the initial of “boundary”. As usual, in this paper Bernstein polynomials are also denoted by B but have a superscript and an argument. Generally, we define
B k = bi i = i0 + e j , i0 = ik ek + ik+1 ek+1 , |i0 | = ik + ik+1 = n − 1, and j = 1, . . . , m ,
k = 1, . . . , m .
(21)
Thus, we end up with the following theorem: Theorem 1. If all the members of the set B k lie on a plane, then the generated rational S-patches have G 1 -contact with the plane along lk ( p ) + lk+1 ( p ) = 1. Proof. Since dS(t )/dt |t =0 is the linear combination of sk , k = 1, . . . , m − 1, the conclusion holds straightforwardly for l1 ( p ) + l2 ( p ) = 1. The other boundary cases can be proved likewise. 2 4. Edge blending in advance Before vertex blending, we blend the me edges meeting at the vertex using me RTPB surfaces of degree (2, 2) respectively as follows:
2
rk (u , v ) =
i =0
2
2
i =0
j =0
2
w ki, j rki, j B 2i (u ) B 2j ( v )
j =0
w ki, j B 2i (u ) B 2j ( v )
,
k = 1, . . . , m e ,
(22)
where rki, j = [xki, j , yki, j , zki, j ]T are the affine Bézier control points, w ki, j are weights, and B 2i (u ), B 2j ( v ) are the univariate Bernstein polynomials. rk (u , v ) moves across or along the kth edge when u or v varies.
238
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
The projective counterparts are
rk (u , v ) =
2 2
rki, j B 2i (u ) B 2j ( v ),
k = 1, . . . , m e ,
(23)
i =0 j =0
where rki, j = [ w ki, j xki, j , w ki, j yki, j , w ki, j zki, j , w ki, j ]T are the homogeneous form of rki, j . In general, rki, j , i = 1, 0 j 2 are put onto the kth edge and rki, j , i = 0, 2, 0 j 2 fall on the primary planar faces sharing this edge. Let
rki,1 = (1 − μk )rki,0 + μk rki,2 ,
i = 0, 1 , 2 ,
where μk can be used to modify the spring curves of setbacks, influencing the fullness of the vertex blending surfaces. Such influence will be discussed in Section 5.4. Besides, the constant radius of edge blending surfaces always leads to the following weights: w ki, j = 1, i = 0 or i = 2, j = 0, 1, 2; w ki, j = cos(θk /2), i = 1, j = 0, 1, 2, where θk is the central angle of the kth edge-blended circular arc. 5. 3-edge convex vertex blending with setbacks 5.1. Barycentric coordinates As shown in Fig. 5(a), a regular hexagon P adjoins a regular triangle T in the domain space R2 . P and T are coplanar if and only if the vertices of P can be represented as the barycentric combination of the vertices of T (Farin, 2002, p. 34):
p j = u j p 1 + v j p 2 + w j o, where
p
det uj =
1
p
det
j
1
1
, ,
p2 o , 1 1
j = 1, . . . , 6,
p
det vj =
, o
p2 , 1 1
1
p
det
1
1
1
(24)
, ,
pj o , 1 1
, o
p2 , 1 1
p
det wj =
1
1
p
det
1
1
,
p2 p j , 1 1
,
p2 o , 1 1
,
and
u j + v j + w j = 1.
(25) 5.2. Achieving G 1 -continuity between a 6-sided S-patch and the edge blending surfaces To realize G 1 -continuity between rk (u , v ) and a 6-sided regular S-patch of depth 3, we elevate the degree of the contact curve rk (u , 0) first (Farin, 2002, p. 81), then assign the four generated projective control points to be the boundary control points of the S-patch:
⎧ b3e2k−1 = rk2,0 ⎪ ⎪ ⎪ ⎪ ⎪ 1 2 ⎪ ⎪ ⎨ b2e2k−1 +e2k = rk2,0 + rk1,0 3
3
1 2 ⎪ ⎪ ⎪ be2k−1 +2e2k = rk0,0 + rk1,0 ⎪ ⎪ 3 3 ⎪ ⎪ ⎩ b3e2k = rk0,0
,
k = 1, 2, 3.
(26)
Because the direction of the first-order cross boundary derivative along the contact curve can be represented as the difference between two curves, which are determined by rk0,0 , rk1,0 , rk2,0 and rk0,1 , rk1,1 , rk2,1 respectively. Meanwhile, the degree-elevation algorithm does not change the parametrization of curves. Therefore, b3e2k−1 , b2e2k−1 +e2k , be2k−1 +2e2k , b3e2k
and rk2,1 , rk1,1 , rk0,1 produce the same derivative direction, and can be seen as the control points in two rows of a RTB surface (Fig. 5(c)). According to the C 1 -condition between RTB surfaces and regular S-patches, the projective counterparts of the affine S-patch control points in the sets (Fig. 5(b))
B 2k−1 = bi i = i0 + e j , i0 = i 2k−1 e2k−1 + i 2k e2k , |i0 | = i 2k−1 + i 2k = 2, and j = 1, . . . , 6 ,
k = 1, 2, 3
(27)
can be computed using the barycentric coordinates in Eq. (25) as well as the aforementioned two rows constructed RTB control points:
⎧ b2e2k−1 +e ˆ = u j b3e2k−1 + v j b2e2k−1 +e2k + w j rk2,1 ⎪ j ⎪ ⎨ be2k−1 +e2k +e ˆ = u j b2e2k−1 +e2k + v j be2k−1 +2e2k + w j rk1,1 , j ⎪ ⎪ ⎩ b2e2k +e ˆ = u j be2k−1 +2e2k + v j b3e2k + w j rk0,1 j
jˆ = 2k − 1, . . . , 2k + 4, correspondingly j = 1, . . . , 6.
(28)
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
239
Fig. 5. 3-edge convex blending using mS = 6.
Note that jˆ is interpolated from 1 to 6 in cyclic fashion, i.e., jˆ = ( jˆ − 1) mod 6 + 1. After projecting Eq. (28), we get easily the S-patch control points in B 1 , B 3 , B 5 and the corresponding weights. As a result, the generated 6-sided regular S-patches will exactly have G 1 -contact with the edge blending surfaces r1 (u , v ), r2 (u , v ) and r3 (u , v ) respectively. 5.3. Achieving G 1 -continuity of the 6-sided S-patch with the primary planar faces The desired regular S-patches are also demanded to have G 1 -contact with three planar primary faces. For brevity, we only discuss the G 1 -continuity in plane α (shown in Fig. 5(c)) here. Similar propositions hold for the other two faces. According to Theorem 1, the G 1 -continuity can be realized provided that we put all points in the set B 6 (see Fig. 5(b)) onto the plane α . Note that B 6 and B 1 (resp. B 5 ) have an intersection I 1 (resp. I 2 ). The control points in I 1 and I 2 cannot be placed on α freely. According to Eq. (21), we have
B 1 = bi i = i0 + e j , i0 = i 1 e1 + i 2 e2 , |i0 | = i 1 + i 2 = 2, and j = 1, . . . , 6 ;
240
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
Fig. 6. The influence of design parameters on blending surfaces (μ2 = μ3 = 1/3).
B 5 = bi i = i0 + e j , i0 = i 5 e5 + i 6 e6 , |i0 | = i 5 + i 6 = 2, and j = 1, . . . , 6 ;
B 6 = bi i = i0 + e j , i0 = i 6 e6 + i 1 e1 , |i0 | = i 6 + i 1 = 2, and j = 1, . . . , 6 .
It follows that
I 1 = B 6 ∩ B 1 = {b300000 , b210000 , b201000 , b200100 , b200010 , b200001 , b110001 }; I 2 = B 6 ∩ B 5 = {b100002 , b010002 , b001002 , b000102 , b000012 , b000003 , b100011 }, where b110001 and b100011 are marked by ♦ in Fig. 5(b). The residual points in B 6 are movable on α . They compose the set
M = B 6 \( I 1 ∪ I 2 ) = {b101001 , b100101 }, whose points are marked by in Fig. 5(b). We are pleased to ascertain that the S-patch control points in I 1 and I 2 lie exactly on the plane first equation in Eq. (28) and taking k = 1, we have jˆ = j and
b2e1 +e j = u j b3e1 + v j b2e1 +e2 + w j r12,1 ,
α . In fact, based on the
j = 1, . . . , 6.
(29)
This barycentric combination relation implies the control points b2e1 +e j , j = 3, 4, 5, 6, b3e1 , b2e1 +e2 , and r12,1 are coplanar in the modeling space. Actually, as shown in Fig. 5(c), b3e1 , b2e1 +e2 , and r12,1 have been located in the plane α based on the foregoing construction. Therefore, the points b2e1 +e j , j = 1, . . . , 6 in I 1 lie on the plane α . The last point b110001 in I 1 is determined by the second equation in Eq. (28) when we take k = 1 and j = 6. Therefore
be1 +e2 +e6 = u 6 b2e1 +e2 + v 6 be1 +2e2 + w 6 r11,1 .
(30)
Since o, p 1 , and p 6 are collinear in the domain (Fig. 5(a)), so v 6 = 0 based on Eq. (25). Thus, Eq. (30) becomes
be1 +e2 +e6 = u 6 b2e1 +e2 + w 6 r11,1 ,
u 6 + w 6 = 1.
(31)
Analogously, it implies that be1 +e2 +e6 (i.e., b110001 ), b2e1 +e2 , and r11,1 (illustrated in Fig. 5(c)) are collinear in the plane α . Hence, all the points in I 1 are located in the plane α . The similar conclusion can be derived for I 2 . The remaining points in the control net of a 6-sided regular S-patch can be defined freely or computed by the following formula:
bi =
i 1 w 3e1 b3e1 + i 2 w 3e2 b3e2 + · · · + im w 3em b3em i 1 w 3e1 + i 2 w 3e2 + · · · + im w 3em
,
m = 6,
(32)
and the weights are
wi =
i 1 w 3e1 + i 2 w 3e2 + · · · + im w 3em 3
.
(33)
Especially, the points in M can be computed using Eq. (32) first, then we project them onto the plane α along its normal vector. After determining the S-patch control net, the resulting setback vertex blending surface for the 3-edge convex vertex is depicted in Fig. 5(d). 5.4. Influence of design parameters on the setback vertex blending surfaces As shown in Fig. 6(a), we choose μk = 1/3, k = 1, 2, 3 in the left half of the blending surface, but select μ1 = 7/8 in the right half and mesh it. The tangent vector along r1 (u , v ) influences the spring curve more, and Fig. 6(b) displays the fullness becomes larger. Aiming to adjust the fullness rather than changing the spring curve, the following two points can be used.
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
241
Fig. 7. 3-edge convex–concave blending using mS = 6.
As shown in Fig. 5(b), marked by ! and coinciding in the center of the control net, b101010 and b010101 are not members of the sets B k , k = 1, . . . , 6. Therefore, they can be used to adjust the fullness of the setback vertex blending surfaces without destroying the constructed G 1 -continuity. We specify them as
b101010 = b010101 = v + λ
n1 + n2 + n3
n1 + n2 + n3 2
,
(34)
where v is the vertex point (see Fig. 5(c)), n1 , n2 and n3 are the unit normal vectors of the initial faces respectively. The left half of the blending surface in Fig. 6(c) is generated by choosing λ = 0. In order to illustrate the influence, we take λ = 4 in the right half and mesh it. Fig. 6(d) displays that the bigger λ is, the larger is the fullness. Therefore, we call λ the fullness parameter. 6. 3-edge convex–concave vertex blending with setbacks Fig. 7(a) shows a 3-edge convex–concave vertex, whose concave angle is 150 degrees. We basically duplicate the construction process of the above convex case, yielding a handsome setback vertex blending surface. However, when the concave angle becomes smaller, the 6-sided regular S-patch is not employable. An illustrative example is shown in Fig. 7(b), where the concave angle is 90 degrees. This problem can be solved successfully if using mS = 7. Referring to Fig. 8, the construction process consists of 5 steps: Step 1. Position the corner points of the control net in the modeling space as shown in Fig. 8(d). Note that b3e5 is the intersecting point by two boundary lines of two edge blending surfaces, where e5 = (0, 0, 0, 0, 1, 0, 0). Step 2. Modify the regular triangular domain T (Fig. 8(a)) to its affine image Tˆ (Fig. 8(b)), whose corner point oˆ is the intersecting point of p 2 p 3 and p 7 p 1 . It is because the collinearity of p 7 p 1 oˆ and p 3 p 2 oˆ ensures b1100001 and b1000011 lying on the plane α , which are marked by ♦ in Fig. 8(c) and shown in Fig. 8(d). Note that, according to the basic theorem in affine geometry that all triangles are affine images of a regular triangle, together with the regular S-patch only demanding its domain being the affine image of a regular polygon, so changing T to Tˆ does not influence G 1 construction in next step. Step 3. Choose μk and calculate the points in sets B 1 , B 3 and B 6 by imitating the foregoing construction from Eq. (24) to Eq. (28). These sets are shown in Fig. 8(c).
α . According to Eq. (21), we have
B 1 = bi i = i0 + e j , i0 = i 1 e1 + i 2 e2 , |i0 | = i 1 + i 2 = 2, and j = 1, . . . , 7 ;
B 6 = bi i = i0 + e j , i0 = i 6 e6 + i 7 e7 , |i0 | = i 6 + i 7 = 2, and j = 1, . . . , 7 ;
B 7 = bi i = i0 + e j , i0 = i 7 e7 + i 1 e1 , |i0 | = i 7 + i 1 = 2, and j = 1, . . . , 7 ;
Step 4. Determine the points in M and put them onto plane
I 1 = B 7 ∩ B 1 = {b3000000 , b2100000 , b2010000 , b2001000 , b2000100 , b2000010 , b2000001 , b1100001 }; I 2 = B 7 ∩ B 6 = {b1000002 , b0100002 , b0010002 , b0001002 , b0000102 , b0000012 , b0000003 , b1000011 }; M = B 7 \( I 1 ∪ I 2 ) = {b1010001 , b1001001 , b1000101 }, whose members are marked by in Fig. 8(c). Step 5. Define the remaining points using Eq. (32) with m = 7 and Eq. (33). Note that there is not point corresponding to the center of control net. Nevertheless, any free points near to the center can be adopted to adjust the fullness. The final vertex blending surface with graceful setbacks is shown in Fig. 8(e).
242
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
Fig. 8. 3-edge convex–concave blending using mS = 7.
7. Multi-edge vertex blending with setbacks The blending process for multi-edge vertices is analogous to the 3-edge convex case except the following three changes:
• The regular triangular domain adjacent to the regular polygonal domain should be modified to a specified affine image, whose points are p 1 , p 2 , and the intersecting point of p 2 p 3 and pm p 1 respectively. • The ranges of relevant indices become: j = 1, . . . , m, where m = 2me ; k = 1, . . . , me ; jˆ = 2k − 1, . . . , 2k + m − 2. • The points in M are obtained by the general set operations below:
B 1 = bi i = i0 + e j , i0 = i 1 e1 + i 2 e2 , |i0 | = i 1 + i 2 = 2, and j = 1, . . . , m ;
B m−1 = bi i = i0 + e j , i0 = im−1 em−1 + im em , |i0 | = im−1 + im = 2, and j = 1, . . . , m ;
B m = bi i = i0 + e j , i0 = im em + i 1 e1 , |i0 | = im + i 1 = 2, and j = 1, . . . , m ; I 1 = B m ∩ B 1 = {bi | i = 2e1 + e j , j = 1, . . . , m, or i = e1 + e2 + em }; I 2 = B m ∩ B m−1 = {bi | i = 2em + e j , j = 1, . . . , m, or i = e1 + em−1 + em };
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
243
Fig. 9. Multi-edge setback vertex blending. (a), (b) and (c), (d), (e), (f), (g) correspond to Fig. 1 (b), (f), (e), (c), (g), (h) respectively.
M = B m \( I 1 ∪ I 2 ) = {bi | i = e1 + em + e j , j = 3, . . . , m − 2}. Fig. 9 illustrates the results of such blending. 8. Concluding remarks Using a single rational regular S-patch of depth 3, a new algorithm for setback vertex blending is put forward. It has the following distinctions:
244
P. Zhou, W.-H. Qian / Computer Aided Geometric Design 27 (2010) 233–244
• To get rid of the twist compatibility problems in joining several rectangular patches, which often leads to an approximation solution, now setback vertex blending is achieved exactly by a whole multisided Bézier surface.
• The overall blending construction is simplified to determining the relevant control points of a regular S-patch by simple linear computation and some set operations.
• Compared with Loop and DeRose’s approach, in addition to the difference in setback, the depth of the resulting regular S-patch in quadratic edge blending case decreases from 5 to 3 by using setbacks. Moreover, the available form of edge blending surfaces is extended to RTPB. This paper is an extension of Loop and DeRose’s pioneering work. Going forward from their achievement to setback blending, we met a series of obstacles, including:
• In general the more sides an S-patch has, the more complicated it becomes. If setbacks are adopted, then the sides are doubled (m = 2me ). This idea hindered our try at one time. In fact the added sides are those boundary curves, along
which the S-patch is required to keep G 1 -contact with the primary planar faces. This situation even benefits the S-patch generation. • How to make the S-patch G 1 -contact with the RTPB edge blending surfaces is still a problem, although Loop and DeRose had constructed a depth 5 regular S-patch having G 1 -contact with polynomial edge blending surfaces. Fortunately the G 1 -continuity between a depth 3 rational regular S-patch and RTPB surfaces can be attained by degree elevation and utilizing a theorem of theirs. • How to make the S-patch G 1 -contact with the primary planar faces is another problem. For this we work out Theorem 1 based on the first-order cross boundary derivative of the m-sided rational regular S-patches of depth n (deduced in Section 3). Acknowledgements The authors appreciate the comments and suggestions of the associate editor sincerely. This work was supported by the National Natural Science Foundation of China under Grant 59685004. References Braid, I.C., 1997. Non-local blending of boundary models. Computer Aided Design 29 (2), 89–100. Farin, G., 1999. NURBS from Projective Geometry to Practical Use, second ed. A.K. Peters, Ltd. Farin, G., 2002. Curves and Surfaces for CAGD, A Practical Guide, fifth ed. Morgan Kaufmann Publishers. Goldman, R., 2004. Multisided arrays of control points for multisided Bézier patches. Computer Aided Geometric Design 21 (3), 243–261. Gregory, J.A., 1974. Smooth interpolation without twist constraints. In: Barnhill, R.E., Riesenfeld, R.F. (Eds.), Surfaces in Computer Aided Geometric Design. Academic Press, New York, pp. 71–88. Gregory, J.A., Zhou, J.W., 1994. Filling polygonal holes with bicubic patches. Computer Aided Geometric Design 11 (4), 391–410. Hartmann, E., 2001. Implicit G n -blending of vertices. Computer Aided Geometric Design 18 (3), 267–285. Hwang, W.C., Chuang, J.H., 2003. N-sided hole filling and vertex blending using subdivision surfaces. Journal of Information Science and Engineering 19, 857–879. Kosters, M., 1989. Quadratic blending surfaces for complex corners. The Visual Computer 5, 134–146. Loop, C., DeRose, T., 1989. A multisided generalization of Bézier surfaces. ACM Transactions on Graphics 8, 204–234. Loop, C., DeRose, T., 1990. Generalized B-spline surfaces of arbitrary topology. Computer Graphics (ACM) 24, 347–356. Mou, H.N., Zhao, G.H., Wang, Z.R., Su, Z.X., 2007. Simultaneous blending of convex polyhedra by S 32 algebraic splines. Computer Aided Design 39 (11), 1003–1011. Peters, J., 1995. Smoothing polyhedra made easy. ACM Transactions on Graphics 14, 162–170. Peters, J., Reif, U., 1997. The simplest subdivision scheme for smoothing polyhedra. ACM Transactions on Graphics 16, 420–431. Szilvasi-Nagy, M., 1991. Flexible rounding operation for polyhedra. Computer Aided Design 23 (9), 629–633. Varady, T., Rockwood, A., 1997. Geometric construction for setback vertex blending. Computer Aided Design 29 (6), 413–425. Varady, T., Hoffmann, C.M., 1998. Vertex blending: problems and solutions. In: Daehlen, M., Lyche, T., Schumaker, L.L. (Eds.), Mathematical Methods for Curves and Surfaces, vol. II. Vanderbilt University Press, pp. 501–527. Warren, J., 1992. Creating multisided rational Bézier surfaces using base points. ACM Transactions on Graphics 11, 127–139.