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