13472J/1.128J/2158J/16940J COMPUTATIONAL GEOMETRY Lecture 9 N.M. Patrikalakis Massachusetts Institute of Technology Cambridge MA 02139-4307 USA Copyright 2003 Massachusetts Institute of Technology Contents 9 Blending Surfaces 2 9.1 Examples and motivation 2 9. 2 Blending surface approximation in terms of B-splines 9.2.1 Blend construction through a procedural "lofted"surface 9.3 Spherical and circular blending in terms of generalized cylinders 9.4 Blending of implicit algebraic surfaces 11 9.5 Blending as a boundary value problem 9.5.1 Introduction 12 9.5.2 Example: 2nd order(Laplace)equation 9.5.3 Mapping boundary value problem 17 9.5.4 Position and tangent plane continuity 9.5.5 Curvature continuity 9.5.6 Multisided blending surfaces Bibliography 24
13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY Lecture 9 N. M. Patrikalakis Massachusetts Institute of Technology Cambridge, MA 02139-4307, USA Copyright c 2003 Massachusetts Institute of Technology Contents 9 Blending Surfaces 2 9.1 Examples and motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9.2 Blending surface approximation in terms of B-splines . . . . . . . . . . . . . . 4 9.2.1 Blend construction through a procedural “lofted” surface . . . . . . . . 5 9.3 Spherical and circular blending in terms of generalized cylinders . . . . . . . . 7 9.4 Blending of implicit algebraic surfaces . . . . . . . . . . . . . . . . . . . . . . . 11 9.5 Blending as a boundary value problem . . . . . . . . . . . . . . . . . . . . . . 12 9.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 9.5.2 Example: 2 nd order (Laplace) equation . . . . . . . . . . . . . . . . . . 13 9.5.3 Mapping – boundary value problem . . . . . . . . . . . . . . . . . . . . 17 9.5.4 Position and tangent plane continuity . . . . . . . . . . . . . . . . . . . 19 9.5.5 Curvature continuity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.5.6 Multisided blending surfaces . . . . . . . . . . . . . . . . . . . . . . . . 21 Bibliography 24 1
Lecture 9 Blending Surfaces 9.1 Examples and motivation Blending surfaces, providing a smooth connection between various primary or functional sur- faces, are very common in CAD. Examples include blending surfaces between Fuselage and wings of airplanes Propeller or turbine blade and hub Bulbous bow and ship hull Primary faces of solid models Blending(or filleting) surfaces are also byproducts of manufacturing processes such as NC milling with a ball or disk cutter As a result of continuity conditions, blending surfaces are of higher order, or involve a more complex formulation than the underlying surfaces to be joined. For a detailed review, see Woodwark [15], and Hoschek and Lasser [ 9(chapter 14)
Lecture 9 Blending Surfaces 9.1 Examples and motivation Blending surfaces, providing a smooth connection between various primary or functional surfaces, are very common in CAD. Examples include blending surfaces between: • Fuselage and wings of airplanes • Propeller or turbine blade and hub • Bulbous bow and ship hull • Primary faces of solid models. Blending (or filleting) surfaces are also byproducts of manufacturing processes such as NC milling with a ball or disk cutter. As a result of continuity conditions, blending surfaces are of higher order, or involve a more complex formulation than the underlying surfaces to be joined. For a detailed review, see Woodwark [15], and Hoschek and Lasser [9] (chapter 14). 2
Example Join bicubic patches along arbitrary cubic linkage curves in parametric space(see Figure 9.1) Q( w,s) R(U,v) v=v(t) (t3) s=s(+3) Figure 9. 1: Bicubic patches joined along arbitrary cubic linkage curves Linkage curve 1 is: R1(t=R(t)=R(u,v)=R(tS), if u=u(t), =v(t) Similarly curve 2 is R2(t)=Q(t)=Q(3,s3)=Q(t28),i=(3,s=s(t2) So position continuity alone requires a high degree surface in the t parameter direction (of degree 18 in this example). High degree surfaces are expensive to evaluate (e.g. the de Casteljau or Cox-de Boor algorithms have quadratic complexity in the degree of the curve or surface), may lead to greater inaccuracy of evaluation(as the degree increases), and are difficult to process in a solid modeling environment(e. g. through intersections ) Consequently researchers have developed Approximations of blending surfaces with low order B-spline surfaces Procedural definitions of blending surfaces(e.g. "lofted"surfaces, generalized cylinders) in order to reduce some of these problems
Example Join bicubic patches along arbitrary cubic linkage curves in parametric space (see Figure 9.1). R(u , v ) 3 3 Q (w , s ) 3 3 v = v (t )3 u = u (t )3 w = w (t ) 3 s = s (t )3 Figure 9.1: Bicubic patches joined along arbitrary cubic linkage curves. Linkage curve 1 is: R1(t) ≡ R(t) = R(u 3 , v 3 ) ≡ R(t 18), if u = u(t 3 ), v = v(t 3 ) (9.1) Similarly, curve 2 is: R2(t) ≡ Q(t) = Q(w 3 , s 3 ) ≡ Q(t 18), if w = w(t 3 ), s = s(t 3 ) (9.2) So position continuity alone requires a high degree surface in the t parameter direction (of degree 18 in this example). High degree surfaces are expensive to evaluate (e.g. the de Casteljau or Cox-de Boor algorithms have quadratic complexity in the degree of the curve or surface), may lead to greater inaccuracy of evaluation (as the degree increases), and are difficult to process in a solid modeling environment (e.g. through intersections). Consequently, researchers have developed: • Approximations of blending surfaces with low order B-spline surfaces • Procedural definitions of blending surfaces (e.g. “lofted” surfaces, generalized cylinders) in order to reduce some of these problems. 3
9.2 Blending surface approximation in terms of B-splines et us consider two parametric surface patches rmim,(, u), Imana(a, y) and linkage curves Ri(t)= u(t), u(t, R2(t)= r(t),y(t)] defined in the parameter spaces of the two patches respectively The unit normal to Ri that is tangent to the patch(see Figure 9.2) 02=N2 S1|a=a() (9.3) where N=rux r is the normal to the patch, and S1=i(tru(u(t), v(t))+i(tr,(t), v(t)) where r=rmin1(u, v). In general, N and Si are high order polynomials. For example, when the patch is bicubic and the linkage curve is cubic in the parameter space, we have niU?vuv2Nu5uSNt3o s,ir. t2t6t9n tI7 Next, we introduce bias functions b1(t),b2(t)to control the shape of the blending surface and define q1(t)=b1(t)r1(t (9.4) q2(t)=b2(t)r2(t) (9.5) to be used as parametric derivatives of the patch in the direction between the linkage curves For details, see Bardis and Patrikalakis [1 R1(t) Figure 9.2: N, SI rI frame
9.2 Blending surface approximation in terms of B-splines Let us consider two parametric surface patches rm1n1 (u, v), rm2n2 (x, y) and linkage curves R1(t) = [u(t), v(t)], R2(t) = [x(t), y(t)] defined in the parameter spaces of the two patches, respectively. The unit normal to R1 that is tangent to the patch (see Figure 9.2): r1(t) = N × S1 |N × S1| u = u(t) v = v(t) (9.3) where N = ru × rv is the normal to the patch, and S1 = u˙(t)ru(u(t), v(t)) + v˙(t)rv(u(t), v(t)) where r = rm1n1 (u, v). In general, N and S1 are high order polynomials. For example, when the patch is bicubic and the linkage curve is cubic in the parameter space, we have N ∼ ru × rv ∼ u 2 v 3u 3 v 2 ∼ u 5 v 5 ∼ t 30 S1 ∼ u˙ru ∼ t 2u 2 v 3 ∼ t 2 t 6 t 9 ∼ t 17 Next, we introduce bias functions b1(t), b2(t) to control the shape of the blending surface and define: q1(t) = b1(t)r1(t) (9.4) q2(t) = b2(t)r2(t) (9.5) to be used as parametric derivatives of the patch in the direction between the linkage curves. For details, see Bardis and Patrikalakis [1]. N 1 R (t) r 1 S 1 Figure 9.2: N, S1 r1 frame 4
9.2.1 Blend construction through a procedural"lofted"surface Here we use cubic Hermite polynomials as blending functions in the direction between the linkage curves H 1-3m2+2 (9.6 H (98 H4(u)=u3-u2 (9.9) These obey the following boundary conditions H1(0)=1,H1(1)=H1(0)=H1(1) 9.10 H2(1)=1,H2(0)=H2(0)=H2(1)=0 (9.11) H3(0)=H3(1)=B3( 0 9.12) H4(1)=1,H4(0)=H4(0)=H4(1)=0 (9.13) Then the blending surface is B(tu,t)=R1(t)H1(u)+R2(t)H2(u)+q1(1)H3()+q2(t)H4() (9.14 where Ri, R2 are evaluated using a composition mapping(due to high degree, explicit expres- sions are avoided, e. g. degree 18 for cubics), and gl, q2 are similarly evaluated procedurally (to avoid explicit expressions), given that (9.15) (9.16) Next, we construct cubic B-spline approximations to R1, R2, q1, g2 Ri(t) Re Ne 4 (t) (9.17) R2(t)∑R2N4(t) (9.18) E=0 q1()∑Q2N4(t) (9.19) q2(t)∑Q2N4(t) (9.20) where Ne (t) are cubic non-uniform B-spline basis functions and the same knot vector and number of control points is used in all four equations This approximation involves a process for the insertion of knots until errors are less than specified tolerances for the previous four vector functions 5
9.2.1 Blend construction through a procedural “lofted” surface Here we use cubic Hermite polynomials as blending functions in the direction between the linkage curves: H1(w) = 1 − 3w 2 + 2w 3 (9.6) H2(w) = 3w 2 − 2w 3 (9.7) H3(w) = w − 2w 2 + w 3 (9.8) H4(w) = w 3 − w 2 (9.9) These obey the following boundary conditions: H1(0) = 1 , H1(1) = H 0 1 (0) = H 0 1 (1) = 0 (9.10) H2(1) = 1 , H2(0) = H 0 2 (0) = H 0 2 (1) = 0 (9.11) H 0 3 (0) = 1 , H3(0) = H3(1) = H 0 3 (1) = 0 (9.12) H 0 4 (1) = 1 , H4(0) = H 0 4 (0) = H4(1) = 0 (9.13) Then the blending surface is: B(w,t) = R1(t)H1(w) + R2(t)H2(w) + q1(t)H3(w) + q2(t)H4(w) (9.14) where R1, R2 are evaluated using a composition mapping (due to high degree, explicit expressions are avoided, e.g. degree 18 for cubics), and q1, q2 are similarly evaluated procedurally (to avoid explicit expressions), given that: r1 ∼ t 47/ √ t 47 (9.15) q1 ∼ t 50/ √ t 47 (9.16) Next, we construct cubic B-spline approximations to R1, R2, q1, q2: R1(t) ∼= Xn `=0 R (1) ` N`,4(t) (9.17) R2(t) ∼= Xn `=0 R (2) ` N`,4(t) (9.18) q1(t) ∼= Xn `=0 Q (1) ` N`,4(t) (9.19) q2(t) ∼= Xn `=0 Q (2) ` N`,4(t) (9.20) where N`,4(t) are cubic non-uniform B-spline basis functions and the same knot vector and number of control points is used in all four equations. This approximation involves a process for the insertion of knots until errors are less than specified tolerances for the previous four vector functions. 5
The equation for the resulting blending surface is ove Bezier B-sp B(,t)=∑∑ Bke Bk.4()N4(t) (9.21) k=0E=0 Bn(,t)=3∑∑(Bk-Bk-1)B3()N4(t) (9.22) E=0k=1 From position and derivative continuity we get B B (9.24) B1t=R(+Q/3 (9.25 B R (2) R2-Q2/3 (9.26) The disadvantage of approximation is the increase in data and the resulting storage re- quirements. The advantage is that the same class of functions is used which makes it easy to include in a geometric modeler and easy to transfer between CAD/CAM systems Special attention needs to be given to the correspondence of parametrization of linkage curves and this may necessitate reparametrization of linkage curves. See Bardis and Pa- trikalakis [1, and Hansmann [7] for more details on these issues Figure 9.3: Blending surface cross-link curves
The equation for the resulting blending surface is: B(w,t) = X 3 k=0 Xn `=0 Bk,` B´ezier z }| { Bk,4(w) Above B-spline z }| { N`,4(t) (9.21) Bw(w,t) = 3 Xn `=0 X 3 k=1 (Bk,` − Bk−1,`)Bk,3(w)N`,4(t) (9.22) From position and derivative continuity we get: B0,` = R (1) ` (9.23) B3,` = R (2) ` (9.24) B1,` = R (1) ` + Q (1) ` /3 (9.25) B2,` = R (2) ` − Q (2) ` /3 (9.26) The disadvantage of approximation is the increase in data and the resulting storage requirements. The advantage is that the same class of functions is used which makes it easy to include in a geometric modeler and easy to transfer between CAD/CAM systems. Special attention needs to be given to the correspondence of parametrization of linkage curves and this may necessitate reparametrization of linkage curves. See Bardis and Patrikalakis [1], and Hansmann [7] for more details on these issues. t t Figure 9.3: Blending surface cross-link curves. 6
9.3 Spherical and circular blending in terms of general- ized cylinders For a detailed reference on this topic, see Pegna [12 C ∏I Figure 9.4: Model of milling via a spherical ball cutter(3-axis milling)or a disk cutter(5-axis) The center of the sphere(or spherical cutter) moves on the intersection curve of the offsets of the plane II and cylinder C of radius R by an offset amount equal to Rs, i.e. ellipse E(see Figure 9.4) Let a be a unit vector along the cylinder axis, e a unit vector perpendicular to plane Il, and O the intersection of the cylinder axis and the plane. Also (9.27) Rct Rs Rs+R(Rs+Rc)/cos p R。 Figure 9.5: Definition of the ellipse Find the directrix E, an ellipse. The center of E is [0, -Rs tan Rs= Ro. The major (Rs +Re)/cos o along e2. The minor axis is Rs+Rc in the direction parallel to er 0,-sin o, cos pl (9.29)
9.3 Spherical and circular blending in terms of generalized cylinders For a detailed reference on this topic, see Pegna [12]. e e e Π ψ φ 1 2 3 O’ O E C a u Rs Figure 9.4: Model of milling via a spherical ball cutter (3-axis milling) or a disk cutter (5-axis). The center of the sphere (or spherical cutter) moves on the intersection curve of the offsets of the plane Π and cylinder C of radius Rc by an offset amount equal to Rs, i.e. ellipse E (see Figure 9.4). Let a be a unit vector along the cylinder axis, e3 a unit vector perpendicular to plane Π, and O the intersection of the cylinder axis and the plane. Also, e1 = e3 × a |e3 × a| (9.27) e2 = e3 × e1 (9.28) a e2 Rs O O’ e3 φ Rc R + c Rs O e2 R ψ e1 R + s Rc (R + s R )/cos c φ ’ Figure 9.5: Definition of the ellipse. Find the directrix E, an ellipse. The center of E is [0, −Rs tan φ, Rs] = RO0. The major axis is (Rs + Rc)/ cos φ along e2. The minor axis is Rs + Rc in the direction parallel to e1. a = [0, − sin φ, cos φ] (9.29) 7
The equation of the ellipse is(see Figure 9.5): R(v)=Ro +e(Rc+ R)cos v +e 2 Re+ Rs sin t (9.30) os .The projection of the center of the sphere(or projection of the ellipse)on the plane is: tp=(R+ Rs)cos ve1+ Re+Rs 9.31) cOs o tc: Projection of R (equation of the ellipse that is the center of the sphere) to the P: Projection of R onto the axis a P-R (unit normal) 9.32 P-RI R Ro R。:R Figure 9.6: Side view Observe that Ro =((R-Ro) a a (9.33) a(-1)tan o sin (Rc+Rs P-R=(P-Ro)-(R-RoN (9.35) --(Re+Rs)tan o sin 0, -sin o, cos ol (9 (Re+ Rs)cos p, sin g (9.37) P-R=(Re+Rs )[cos -sin cos o, -sin o sin (9.38 P-R P-R tc=r+Rsv (9
• The equation of the ellipse is (see Figure 9.5): R(ψ) = RO0 + e1(RC + Rs) cos ψ + e2 Rc + Rs cos φ sin ψ (9.30) • The projection of the center of the sphere (or projection of the ellipse) on the plane is: tp = (Rc + Rs) cos ψe1 + " Rc + Rs cos φ sin ψ − Rs tan φ # e2 (9.31) • tc: Projection of R (equation of the ellipse that is the center of the sphere) to the cylinder. P: Projection of R onto the axis a. v = P − R |P − R| (unit normal) (9.32) Π a R O’ P tc Rs Rs R Rc v p t Figure 9.6: Side view. Observe that: P − RO0 = ((R − RO0) · a)a (9.33) = a(−1)tan φ sin ψ(Rc + Rs) (9.34) P − R = (P − RO0) − (R − RO0) (9.35) = −(Rc + Rs)tan φ sin ψ[0, − sin φ, cos φ] − (9.36) (Rc + Rs)[cos ψ, sin ψ cos φ , 0] (9.37) P − R = (Rc + Rs)[− cos ψ, − sin ψ cos φ, − sin φ sin ψ] (9.38) v = P − R |P − R| = −[cos ψ,sin ψ cos φ,sin φ sin ψ] (9.39) Hence, tc = R + Rsv (9.40) 8
where R(v)=(Rc+Rs)cos a, R+R sin -Rs tan Rs (9.41) COS te = Recos w, R sin g +Rs ( sin y tan o - sin o coS (9.42) cOS o Rs(1-sin o sin l) which simplifies to Re sin y COS U cos o R, tan p(sin y sin -1), Rs (1-sin o sin v)(9.43) Notice that v is in the normal plane to the directrix: v·Rb=0 where Ru=-(Re+Rs)sin v, Rc+Rs cos v,, 0 cOS Hence, the generatrix is the arc of a great circle of the sphere on the plane tc-R, tp-R between t and t. The angle of the arc is 0=cos-(e3 v)=cos"(sin o sin (9.46) in the local n, b system of the directrix q(u, v )=Rssin Oun-cos Bub for v E0, 1 (947 where R t= Rol t (9.50) Setting v= 2Tu for u E 0, 1, the blending surface B(u, u)=R((u))+q(u, v (a)) (9.51) Note that the surface is not a rational polynomial surface This result generalizes to spherical blends of general surfaces. A schematic diagram of pherical blends of surfaces is shown in Figure 9.7. The implementation is procedural and involves intersections of offset surfaces 11, 10 to define the directrix and the projection of a point on a surface to define the generatrix [14]
where R(ψ) = " (Rc + Rs) cos ψ, Rc + Rs cos φ sin ψ − Rs tan φ, Rs # (9.41) tc = " Rc cos ψ, Rc sin ψ cos φ + RS sin ψ cos φ − tan φ − sin φ cos φ ! , (9.42) Rs(1 − sin φ sin ψ) # which simplifies to tc = " Rc cos ψ, Rc sin ψ cos φ + Rs tan φ(sin ψ sin φ − 1), Rs(1 − sin φ sin ψ) # (9.43) Notice that v is in the normal plane to the directrix: v · Rψ = 0 (9.44) where Rψ = " −(Rc + Rs)sin ψ, Rc + Rs cos φ cos ψ, 0 # (9.45) Hence, the generatrix is the arc of a great circle of the sphere on the plane tc − R, tp − R between tc and tp. The angle of the arc is θ = cos−1 (−e3 · v) = cos−1 (sin φ sin ψ) (9.46) in the local n, b system of the directrix. q(v, ψ) = Rs[sin θvn − cos θvb] for v ∈ [0, 1] (9.47) where b = e3 (9.48) t = Rψ |Rψ| (9.49) n = e3 × t (9.50) Setting ψ = 2πu for u ∈ [0, 1], the blending surface is: B(u, v) = R(ψ(u)) + q(v, ψ(u)) (9.51) Note that the surface is not a rational polynomial surface. This result generalizes to spherical blends of general surfaces. A schematic diagram of spherical blends of surfaces is shown in Figure 9.7. The implementation is procedural and involves intersections of offset surfaces [11, 10] to define the directrix and the projection of a point on a surface to define the generatrix [14]. 9
Offsets Intersection of offsets Figure 9.7: Spherical blends of surfaces
Offsets Intersection of offsets Figure 9.7: Spherical blends of surfaces 10