Curvature-continuous extensions for rational B-spline curves and surfaces

Curvature-continuous extensions for rational B-spline curves and surfaces

Cu r v a t u r e - c o nti n u o u s extensions for rational B-spline curves and s u r f a c e s S Shetty and P R White The paper presents a method ...

593KB Sizes 5 Downloads 76 Views

Cu r v a t u r e - c o nti n u o u s

extensions for rational B-spline curves and s u r f a c e s S Shetty and P R White

The paper presents a method for extending rational B-spline curves and surfaces. The approach taken is geometric, and it can easily be implemented in a CAD~CAM surface modeler based on the rational B-spline mathematical form. The method uses knot insertion and the reflection of control points to generate extensions. As extrapolation can, in general, result in unpredictable results, this method should be used for relatively 'short" extensions. extensions, continuity, rational ( urves and surfaces, retie(lion

Since their introduction as accepted entities in the Initial Graphics Exchange Specification 1 in 1983, nonuniform rational B-spline curves and surfaces have become widely used in commercial and private C A D / C A M systems. They have several major advantages over their nonrational counterparts. These advantages, and the underlying mathematics, are explained in detail by Versprille 2 and Piegl and Tiller ~, To complement curve and surface construction features, a surface modeler needs other applications to make it a more versatile system. Some of these applications include the trimming and extension of curves and surfaces, the creation of transition surfaces between nonintersecting surfaces, and the blending of surfaces that meet at corners. This paper presents methods for extending rational B-spline curves and surfaces. A geometric approach is taken, with the emphasis on continuity conditions between the original geometry and its extension. The need to extend curves and surfaces arises in instances where there is insufficient wireframe data to build curves and surfaces. Another instance is the generation of the 'theoretical' intersection of two disjoint surface patches. The behavior of this intersection curve helps in the identification of problems with one or both patches. Extension can also be used to modify existing geometry in cases where a small increase in curve and surface geometry is desired. An example of this can Department of Mechanical Engineering, University of Toledo, 2801 W Bancroft Avenue, Toledo, Ohio 43606, USA Paper received: 20 July 1989. Revised:28 February 1990

484

arise in surface-surface intersection problems where surface edges meet one another. As extrapolation can, in general, lead to unpredictable results, the proposed method should be used for 'small' magnitudes. To the authors' knowledge, literature on the extension of data in geometric modeling is not widely available. Several commercial CAD/CAM systems offer data-extension capabilities, but the specific methods used are not known. One method applicable to Bezier curves uses the reverse of the curve-subdivision process to obtain the extension 4. This method, however, cannot guarantee positive weights when it is applied to rational curves. The proposed method can be applied to rational and nonrational B-spline curves and surfaces, and it encompasses freeform and some standard shapes, and guarantees positive weights in the extended geometry if there are positive weights in the original geometry.

BASIC PRINCIPLE The problems associated with extending curves and surfaces are generally those associated with the extrapolation of data. To achieve a reasonable extension, some historical data has to be extracted. The scheme proposed here uses a 'reflection' strategy. This strategy extracts information from the area just preceding the edge where an extension is desired, and reflects this information to obtain the extended geometry. The historical data is extracted from as far back as is necessary to achieve the desired amount of extension. Reflection actually causes a reversal in the trend of the data. For example, a curve with increasing curvature as it approaches the point of extension leaves this point with decreasing curvature in the resulting extension. An ellipse about the normal plane containing its major axis is an example of this behavior. In the case addressed here, i.e. that of rational B-spline curves and surfaces, this strategy actually reflects control points to achieve the extension. The method works on a curve level, where the control points are reflected about the plane normal to the curve at the point where the extension is desired (see Figure 1). The reflection is applied to the Cartesian coordinates of the control points. The weight at the reflected point is equal to the weight at the original

0010 4485/91;070484 08 (C, 1991 Butterworth-Heinemann Ltd

computer-aided design

Normalplane

Normalplane Q~ P1

Q2 a

P21

Q3 Normalplane

Figure "I. Reflection of control points about normal plane

control point. For surfaces, this curve scheme is applied to all rows of control points in the direction of extension. One can quickly see that this scheme of reflecting control points ensures that the control points that dictate geometric tangent and curvature continuity between the original curve and its extension are automatically generated. In Figure 1, this means that control points P1, Po and Q1 are collinear, and P2, P1, Po, Q1 and Q2 are coplanar. These conditions are necessary for geometric tangent and curvature continuity to exist. The next section shows the sufficient conditions for tangent and curvature continuity of rational B-spline curves and surfaces. This reflection scheme has been developed on the basis of the observation that reflecting the control points of simple shapes, such as arcs of circles and other conics about the normal planes containing their major axes, portions of cylinders, cones, and surfaces of revolution, generates extensions that retain the character of the original data. Some examples of these cases are shown in Figure 2. This technique works quite well when it is applied to freeform surfaces, although certain modifications have to be made to meet continuity requirements.

b

Original surface

Extended surface

CONTINUITY BETWEEN RATIONAL B-SPLINE CURVES AND SURFACES The continuity of biparametric surface patches has been studied by, among others, Veron et al. s, Faux and Pratt 6, B~zier7, Farin8, Kahmann 9 and Sarraga 1°. All these researchers worked with surface patches in the nonrational B~zier form, while Sarraga has addressed the continuity between rational B~zier surface patches. Sarraga worked with cubic data with the resulting adjacent patch being of degree 6. The method described in the current paper uses the tensor-product properties of B-splines to generalize the curve scheme to surfaces. There are, however, certain parameters that have to be determined before this generalized scheme is applied to surfaces. The current method creates geometry that is of the same degree as the original

volume 23 number 7 september 1991

C Figure 2. Examples showing reflection of control points about normal plane; (a) circular arc, (b) ellipse reflected about normal plane containing its minor axis, ( c ) truncated cone

485

data. The conditions for tangent plane and curvature continuity between surfaces are established below.

Tangent-plane continuity In Figure 3, let P(up, vp) and Q(uq, Vq) be two rational B-spline surface patches that are defined over normalized, nonperiodic knot vectors in both parametric directions. A nonperiodic knot vector is one for which the first and last knot values are each of multiplicity equal to the order of the data 3. If the surface patches have a common boundary, then, using a common parameter s = v_ = Up for this boundary, the condition P(s, 0) = Q(0, s)'~olds. For the surface patches to have equal unit surface normals along their common boundary, the derivative vectors P~p(s, 0), Qu~ (0, s) and Q~(0, s) are coplanar, i.e. Pvp(S, 0) + ~(S)Qu,(O,s) + c((s)Q~(0, s) = 0

(1)

where ),(s) and c((s) are some arbitrary functions with

;.(s) # 0. Denote the functions P(s, 0) and Q(O, s) in terms of their homogeneous coordinates and weights: P(s, 0) = PH(S, 0)/Wp(s, 0) or

tangent-plane continuity between two rational Bspline surface patches are given as followsm: PH, + CO'~(S)QHu + CO~(S)QH, = ~QH

(2a!

Wp, -~- U.)Z(S)WQ. Jr- (L)0~(S)WQs = TWQ

(2b)

where co = Wp/WQ = PH/QH, and T is a constant independent of s. Details of the derivation of Equations 2a and 2b are presented by Sarraga 1° In the method of extension discussed in this paper, the control points that determine tangent-plane continuity are collinear along each row of control points of the surface, and so the scalar :((s) is set to 0 in Equations 2a and 2b. Also, as the degree of the original data is equal to the degree of the extended data, for compatibility, /t(s)is set to a constant, say ~o- The resulting equations are: PH, + coZoQHo = "cQH

(3a)

Wp, + co;10WQ, = ,WQ

(3b)

As the method uses nonperiodic knot vectors, the B-spline expansions for the homogeneous coordinates and weights and their first derivatives can be substituted in Equations 3a and 3b. Using the tensor-product properties of B-splines 11, the conditions for tangentplane continuity are given as follows: (kp - 1 ) Ap ° (PH,,-- PH,,)

P = PH/wp and

Q(0,

s)

= QH(0, s)/WQ(0, s)

co2o (kq -- 1) Aq ° ( Q H . , -

QH, ,) -~- TQH,

(4a)

or

(kp -- 1) Apo (Wp,., - Wp,.°)

Q = QH/WQ and let u = Uq and v = vp. The first derivatives are given by

= co'~.o(kq - 1) Aqo (Woo,, - WQ~) + ~WQ ....

(4b)

Pv = [PH, Wp -- PHWp,]/W~ ' Qu = [QH, WQ Q,

= [QHWQ

--

QHWQu]/W~

--

QHWQ]/W~

i = 0, 1, 2 , . . . , n q -

1

where

Substituting these expressions for the first derivatives in Equation 1 and simplifying, the conditions for

kp = order of patch P in v direction kq = order of patch Q in u direction Ap0 = knot-vector difference (Vk.~+1 --%) of first span in patch P Aq0 = knot-vector difference ( U k , ~ - uo) of first span in patch Q nq -- number of control points along the common edge The tangent-vector continuity condition for two rational B-spline curves is obtained by applying Equations 4a and 4b for nq = 1.

Curvature continuity

Up

Vq

, ,I,°1 Figure 3. Condition for tangent-plane continuity [s = Up = Vq.]

486

As shown by Kahmann 9, two tangent-plane continuous surface patches P and Q are considered curvaturecontinuous if the following condition is satisfied: Pvv(S, O) + y(s)Quu(O, s) + ~/(s)Q.,(o, s) + ~ ( s ) Q . ( 0 , s) + ~(s)Q.(O, s) + 6(s)Qs(0, s) = 0 (5)

computer-aided design

In the application discussed in this paper, as the control points that determine curvature continuity are coplanar along each row of control points of the surface, the functions associated with all derivatives with respect to s, that is, along the common edge, are set to 0 r/(s) = I p ( s ) = a ( s ) = 0

Thus, the curvature-continuity condition is a more relaxed geometric, or G 2, condition than the parametric, or C 2, condition that would result if ~(s) is set to 0. As in the tangent-continuity equations, as the method of extension creates extended data of degree equal to the degree of the original data, for compatibility, y(s) is set to a constant Yo, and ~(s) is set to a constant 40. This curvature-continuity condition has previously been used by others 6'12'13, and is expressed by

Pv,,(s, 0) + YoQuu(0, s) + ~oQu(O, s) = o

(6)

where 70 = --)'o2. The second derivatives of the two rational B-spline surface patches, in terms of their homogeneous and weight coordinates, are given by

p.Wml/W~,

(kp - 1)(kp - 2) [ApoPH ~ -- (2Apo + Ap1)PH 1 Apo2(Apo + Ap~) . . . . + (Apo + AP1)PH,.o] = CO7o

(kq -- 1 )(kq - 2)

Aqg(Aqo + Aq~)

x [-AqoQa~, + (2Aqo + Aql)QH~i -- (Aqo + Aq~)QHo ] + {a~o + 2Z).o} (kq - 1) .' Aqo x [QH.,,- QHll ] + 0QH ....

+ (Apo + Apl)We,.o] = e~7o

Quu = [QH WQ -- 2 WQ~ {QHuWQ _ QHWQ~} °u

where 0 is a constant that is independent of s. As in the tangent-plane continuity conditions, the use of nonperiodic knot vectors allows the substitution of the B-spline expansions for the homogeneous coordinates and weights and their first and second derivatives. Then, using the tensor-product properties of B-splines ~1, the conditions for curvature continuity are given as follows:

(8a)

(kp -- 1)(kp - 2) [Ap0We ~ _ (2Ap ° + Apl)Wp ~ Apg(Apo + Ap~) 'r

Pvv = [ PHv~We -- 2 wPv { PH. We -- PH WP v } Wp -

Wevv + o~y0Wqu° + {m~o + 2z),0} WQu = OWQ (7b)

(kq -- 1)(kq -- 2)

Aq~(Aqo + Aql)

x [--AqoWQ~., + (2Aqo + Aql)WQ~,,

WQ

-- (Aqo + Aql)WQ ] + {COCo + 2Z).o} (kq -- 1) Aqo

-- Q H W Q j / W ~

r'

Substituting in Equation 6 gives

x [WQ,,.,- WQI.,] + OWQo.,

1 W2 +

Wpv Wp { PH~Wp

[ PH,~We -- 2

--

PHWp,,

} -- PH Wp v~]

Ap1 = knot-vector difference (Vk, + 2 -- Vk,, + 1 ) in the second span of patch P Aql = knot-vector difference (Ukq + 2 -- Ukq + 1)in the second span of patch Q

~o [QH ° WQ -- QHWQo] = 0

Simplification yields PH,, + COYoQHuu

+

{

~o~0 + 2

(

Z)'o--Co

w,. Wp

()'o2+70)

i = 0,1, 2, ..., nq -- 1 where

Y0 [QH W Q - - 2 W Q ° W~ u° WQ { QHuWQ -- QHWQo}

- Q , WQoo]+

(8b)

)}1

The curvature-continuity condition for two rational B-spline curves is obtained by applying Equations 8a and 8b for nq = 1.

QH~ WQ

EXTENDING CURVES = / w e " + ¢°Y°Wo~°

Substituting Yo = -)'o2 in the first derivative terms gives[PHv, + C°YoQHo. + {C°~o + 2T)'o}QH~] _ QH [We w + my0WQoo + {CO¢o + 2Z2o} WQo] WQ Assuming that there are no common factors between the homogeneous-coordinate terms and the weight terms results in PH~ + ¢OYoQH.. + {me0 + 2*).o}QHu = 0QH

volume 23 number 7 september 1991

(7a)

To extend curves using the reflection scheme, one must have solutions for Equations 4a and 4b for tangentvector continuity, and Equations 8a and 8b for curvature continuity. The process of reflecting control points requires, first, an estimate for the desired extension. The extension can be derived from an estimate of the arc length of the curve. The appropriate parameter value in the parametric domain of the original curve is found using this estimate. This parameter value is used to obtain a percentage of the knot-vector span. The curve is then subdivided at this parameter value using a knotinsertion procedure such as the one developed by Boehm 14. Assume that the knot vector of the original

487

curve is given as: [U 0 U 0 Lift UII UL , + I LILr + 2 . . . . . . . . . . I

Lln

I UI I

I

multil)li< ily k v

Uf

Ui U l]

I

nqultil)[it it~ kl~

where n = number of control points and A P 0 ~ Ukp, I I

APl =

Uo

Ukp + 2 - - Ukp + 1

For convenience, let u 0 = 0.0, and let the required extension be ~% of the knot-vector span from the beginning point of the curve. Then the extension in parametric space is given by z ~ = (~/100)(uf - u o) = (~, uf)/100 Let ua = A~i. The knot value at which the curve is subdivided is ua. The knot vector of this subdivided segment is given as: [U0 Uo U0 Uo U k p + 1 Ukp+ 2 " ' "

U~ U~ U~ U~]

multiplicity kF, • "" Un

1 Uf Uf Uf Uf[

The control points of the subdivided curve are now reflected about the normal plane at the beginning point of the curve. The reflection of the control points is done on three coordinates [x, y, z] of the rational curve. The weight at the reflected point is equal to the weight at the subdivided point. The knot vector of the curve generated by the original curve with the reflected points is given as [U

~ U

6 U

~ U

¢~..U

2 U_ 1 Uo UO UO Uo U k ~ , + l U k p + 2 • " Un

1 Uf Uf Uf Uf]

where U

1 ~

U

2 =

- - Uk v + 1

--Ukp+2

As observed in the previous section, the reflection scheme generates the necessary conditions for geometric tangent and curvature continuity between the original curve and its extension. This is because the control points that determine the tangent vectors of the original curve and its extension are collinear, and the control points that determine the osculating plane are coplanar. The values for Aq0 and Aql are chosen such that

= ~Apo ifA~>gpo

Aqo (A~

otherwise

and

fA.1 Aql =

488

1 A~O.--O Apo

if A6 > Apo + Ap~ if Apo + Ap1 >~ A~ > Apo otherwise

The values chosen for Aqo and Aql represent the knot-vector differences of the first two spans of the subdivided curve. These choices, with the assumption that ,;.0 = 1, give a reasonable parameterization across the extension point that is dependent ()n the ratio Apo/Aqo. Another simplifying assumption made is that the weights of the control points at the extension point are equal, which implies that ~u = 1. As the extended curve is generated from the original curve, their orders must be equal, i.e. kp = kq. After the control points are reflected, the values of the constants r, 0 and ~o can be calculated from Equations 4b, 8a and 8b using the weights and control points of the original curve and the reflected curve. Although these values can be used as shape parameters, they are not applied in the curve-extension case. No attempt is made to calculate any values, as the reflected curve is the desired extension. However, with the extension of surface patches, suitable choices must be made to meet continuity requirements and to obtain reasonable extensions. The process of extending curves can be summarized as follows: • Find the appropriate parameter value for subdivision, basing this on an estimate of the desired extension. • Subdivide the curve at this parameter value. • Reflect control points of the subdivided curve about the normal plane to obtain the extended curve. Figure 4 illustrates the above extension scheme.

EXTENDING SURFACES To extend surface patches, the process of extending a curve is applied to all rows of control points in the direction of extension to generate the control points of the extended surface. The reflection of the control points is done row by row about the respective normal plane of that row. The resulting crossboundary control points that dictate tangent-plane continuity are collinear. Thus, the assumption that the scalar c~(s) in Equations 2a and 2b is set to 0 is valid. To obtain tangent-plane continuity, solutions have to be found for Equations 4a and 4b. For the nonrational B-spline case, this is quite straightforward, as the value of the constant r is equal to 0. Here, all three coordinates [x, y, z] are reflected to generate the new control points. However, in the rational case, certain adjustments have to be made when the weights of the control points of the extended surface are selected, to ensure tangent and curvature continuity between the original surface and its extension. To satisfy Equations 4a and 4b, a valid choice must be made for the constant ~. Here, the approach taken is that, once the control points are reflected row by row about their respective normal planes, the value of r is such that it constrains the adjusted control points to within the convex hull generated by the reflected points. Solving Equation 4b with reflected weights for all rows of control points, the constant r is chosen as = maxr i

i=0,1,2,...,nq--

1

The next step in this process is to choose values for

computer-aided design

P1

P1

Po

Po

P2

P3

P3

P4

P4

P5

P5

a

b P1

Po = Qo

Q1

Q2

P3

P4~

C

Figure 4. Example of curve extension; (a) original curve, (b) subdivided curve showing control points to be reflected (S), (c) extended curve with reflected control points [(a) original knot vector [0.0 0.0 0.0 0.0 0.4 0.7 1.0 1.0 1.0 1.0], Ap0 = 0.4, Apl = 0.3, n = 6, kp = 4; (b) subdivided knot vector [0.0 0.0 0.0 0.0 0.25 0.25 0.25 0.25 0.4 0.7 1.0 1.0 1.0 1.0], A~ = 0.25; (c) final knot vector [-0.25 -0.25 -0.25 -0.25 0.0 0.0 0.0 0.0 0.4 0.7 1.0 1.0 1.0 1.0], Aqo = 0.25, Aql = 0.00.]

the constants 0 and ~0 in Equations 8a and 8b. As there are an infinite number of solutions depending on the values chosen for 0 and ~0, a practical approach to the determination of these constants is given here. For the nonrational case, the values of 0 and ~o are

volume 23 number 7 september 1991

set to 0, which results in the pure parametric curvature-continuous (or C 2) condition. For the rational case, the row of control points for which the value of is maximum is used to solve for 0 and ~0 in Equations 8a and 8b.

489

The chosen value of r is now applied to Equations 4a and 4b, and the values of O and d_-oare applied to Equations 8a and 8b, row by row, to obtain the homogeneous coordinates and weights that satisfy the conditions for tangent-plane and curvature continuity between the original surface and its extension. A division of the homogeneous coordinates by the weights gives the control points of the extended surface. The process of extending surfaces can be summarized as follows:

a

• Find the appropriate parameter value for subdivision based on an estimate of the desired extension. • Subdivide the surface at this parameter value. • Reflect all the rows of control points of the subdivided surface about their respective normal planes. • Calculate r from the maximum value obtained for every row of control points using Equation 4b. • Calculate 0 and ~o using Equations 8a and 8b, basing this on the location of the control points of the row used to calculate r. • Update the tangent points and their weights by applying Equations 4a and 4b. • Update the curvature points and their weights by applying Equations 8a and 8b. A major problem when dealing with rational B-splines is the possibility of generating negative weights. Given positive weights in the original surface, the method suggested above has the advantage of avoiding the generation of negative weights in the extended surface. To illustrate this point, consider any row of control points across the subdivided curve before reflection P and the reflected control points Q. Let the Bezier points TM of the first spans of P and Q be denoted by bp~ and bqi, respectively (see Figure 5). Using the geometric relationships developed by Farin qs and Boehm~_,. t~ for the tangent- and curvature-continuity of curves, the following analysis is performed:

Ir,/Iq = (Ap0/Aqo)(Wq~/Wp~) = ~, hl,/hq = (Apo/Aqo)2(Wq2/Wp2) = ~,2

(9) (10)

where v is a constant, and Ap0 = Aqo. Let the control point obtained as a result of the correction for tangent plane continuity be denoted by bql. As the value of r is chosen such that it constrains the control points determining tangent-plane continuity to lie within the convex hull of the reflected points, the weight at this control point is greater than or equal to the reflected weight, or W'q~ >~ Wpl. Also, the value of v for any given row of control points satisfies v~>l.0

d

~

bpl bpo=bqo bqlbqlbq2~b~

Figure 5. Geometry for continuity conditions

490

Figure 6. Practical example ot surface extension; (a) wireframe data for car roof, ( b ) surface patch generated from wireffame data, (c) surface patch extended, (d) extended surface patch trimmed at windshield boundary

computer-aided design

However,

REFERENCES

v 2 = hp/hq >~ 1.0

1 'Initial Graphics Exchange Specification (Version 3.0)' Document NBSIR 86-3359 National Bureau of Standards, USA (1986)

The new condition from Equation 10 is now

hp/ h'q = (Apo/ Aqo)2(W'q2/Wp2)

(11)

where hq is the new distance of point bq2 from the line joining bpl and bql. As hn is greater than or equal to h'q, Equation 11 is satisfiec~by 1

! Wq2 ~ Wp2

The degree of continuity achieved by this method between the original surface and its extension depends on the degree of continuity of the common edge at which the extension is desired. The presence of a multiple knot in the interior of the knot vectors, in either the direction of the common edge or in the reflected knot vector, results in an extended surface whose continuity is reduced by one degree for every repetition of that knot. Figure 6 shows a practical example of surface extension by the method described in this paper. From a wireframe model of half an automobile (see Figure 6a), a surface representing the roof is built (see Figure 6b). The surface is then extended towards the front of the car (see Figure 6c), and finally the windshield boundary is created by trimming the surface with an arbitrary curve (see Figure 6d).

CONCLUSIONS The proposed method of extending rational B-spline curves and surfaces ensures that the shape and parameterization of the original surface is not modified in any way, while a curvature-continuous extension is created. The method does not guarantee that self-intersecting surfaces will not be generated, even if the original surface is well behaved. This inherent limitation of the method is similar to the case of a truncated cone that is extended beyond its vertex. Another inherent theoretical limitation of this method is that the extended portion of the curve or surface cannot be greater than the original data in the parametric space in the direction of extension. Finally, on the practical side, curve and surface extension should be restricted to small magnitudes, as extrapolation in general can lead to unpredictable results.

ACKNOWLEDGEMENTS This work was supported by a grant to the University of Toledo, USA, from the Challenge Fund of Chrysler Motors, Highland Park, Michigan, USA. The authors wish to acknowledge the support and encouragement offered by the Engineering Systems Development Department of Chrysler Motors. The authors also wish to thank the referees of this paper for their valuable comments, which helped in the improvement of the paper.

volume 23 number 7 september 1991

2 Versprille, K J 'Computer-aided design applications of the rational B-spline approximation form' PhD Thesis Syracuse University, USA (Feb 1975) 3 Piegl, L and Tiller, W 'Curve and surface constructions using rational B-splines' Comput.Aided Des. Vol 19 No 9 (1987) pp 485-498 4 Farin, G Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide Academic Press, USA (1988) p 76

5 Veron, M, Ris, G and Musse, J P 'Continuity of biparametric surface patches' Comput.-Aided Des. Vol 8 No 4 (1976) pp 267-273 6 Faux, I D and Pratt, M J Computational Geometry for Design and Manufacture Ellis Horwood, UK (1979) 7 B~zier, P Numerical Control - Mathematics and Applications John Wiley, UK (1972)(translated by A R Forrest) 8 Farin, G 'A construction for visual C 1 continuity of polynomial surface patches' Comput. Graph. & Image Proc. Vol 20 (1982) pp 272-282 9 Kahmann, J 'Continuity of curvature between adjacent B~zier patches' in Barnhill, R E and Boehm, W (Eds.) Surfaces in Computer-Aided Geometric Design North-Holland, Netherlands (1983) pp 65-75

10 Sarraga, R F 'G 1 interpolation of generally unrestricted cubic Bezier curves' Comput.-Aided Geom. Des. Vol 4 (1987) pp 23-39 11 Boehm, W, Farin, G and Kahmann, J 'A survey of curve and surface methods in CAGD' Comput.Aided Geom. Des. Vol 1 (1984) pp 1-60 12 Boehm, W 'Smooth curves and surfaces' in Farin, G (Ed.) Geometric Modeling: Algorithms and New Trends SIAM, USA (1987) pp 175-184 13 Goldman, R N and Barsky, B A 'fl-continuity and its applications to rational beta-splines' Technical Report UCB/CSD88/442 University of California, Berkeley, CA, USA (Aug 1988) 14 Boehm, W 'Inserting new knots into B-spline curves' Comput.-Aided Des. Vol 12 No 4 (1980) pp 199-201 15 Farin, G 'Visually C 2 cubic splines' Comput.-Aided Des. Vol 14 No 3 (1982) pp 137-139

16 Boehm, W 'Curvature continuous curves and surfaces' Comput.-Aided Geom. Des. Vol 2 (1985) pp 313-323

491