Adding flexibility to piecewise quadratic curves and surfaces

Adding flexibility to piecewise quadratic curves and surfaces

Computer Aided North-Holland Geometric Design 469 10 (1993) 469-481 Adding flexibility to piecewise quadratic curves and surfaces Nira Gruberger ...

721KB Sizes 0 Downloads 17 Views

Computer Aided North-Holland

Geometric

Design

469

10 (1993) 469-481

Adding flexibility to piecewise quadratic curves and surfaces Nira Gruberger Department of Mathematics, Texas A&M University, College Station, TX 77843-3368, USA

David Levin School of Mathematical Sciences, Tel-Auk Unicersity, Tel-A&

Charles

Israel 69978

K. Chui

Department of Mathematics, Texas A&M University, College Station, TX 77843-3368, USA Received January 1991 Revised August 1992

Abstract Gruberger, Computer

N., D. Levin and C.K. Chui, Adding flexibility Aided Geometric Design 10 (1993) 469-481.

to piecewise

quadratic

curves

and

surfaces,

A simple method is presented for adding flexibility to quadratic BCzier curves. The new curve is also piecewise quadratic with a doubled number of quadratic segments, but with the same number of inflection points and the same number of possible curvature discontinuities. In the case of convex control polygon, the new curve can be designed to be G*. The generalization to surfaces is also presented. Keywords.

Bezier;

curves;

surfaces;

quadratic;

bi-quadratic;

G’continuity;

flexibility.

1. Introduction Many authors introduced schemes for designing BCzier curves that adjoin with geometric continuity. Farin [Farin ‘821 constructed a piecewise G* cubic spline and also piecewise G* cubic BCzier curves. Boehm [Boehm ‘851 improved Farin’s result to produce piecewise G* BCzier curves of degree > 2. Also, Farin [Farin ‘881 presented the geometric conditions for constructing piecewise quadratic G* BCzier curves. Piecewise BCzier curves have also been designed using subdivision methods, see [De Casteljau ‘59, Lane & Riesenfeld ‘80, Chaikin ‘741. Many algorithms for BCzier surfaces have been designed as well, see e.g. [Doo ‘78a, ‘78b, Catmull & Clark ‘78, Doo & Sabin ‘78, Lane & Riesenfeld ‘801. In this paper we introduce a method for flexible design of piecewise quadratic BCzier curves. The significance of the method lies in its being a useful tool for local control of the curvature of a curve. The curves generated by the process of Section 2 are globally G’ like the usual quadratic BCzier curves, but each segment is now replaced by two quadratic segments meeting with G* continuity. For planar, convex control polygons we provide an additional process for generating a piecewise quadratic C* curve, satisfying G* conditions at all joints. Correspondence

to: D. Levin, School of Mathematical

0167~8396/93/$06.00

0 1993 - Elsevier

Science

Sciences,

Publishers

Tel-Aviv

University,

B.V. All rights reserved

Tel-Aviv,

Israel 69978.

470

N. Gruberger et al. / Piecewise-quadratic curlies and surfaces

Fig. 1

In Section 3 we present an extension of the univariate process of Section 2 to surfaces and provide a G’ tensor-product piecewise bi-quadratic BCzier surface. Again, we have flexibility in designing the surface but with some limitations on the choice of the interpolation points.

2. Two design processes

for piecewise

quadratic

curves

Given a control-polygon with vertices (zJ~}~=,c iw3 (see Fig. l>, one can choose points (pi}, i=l ,..., n - 1, on the edges {vi, v,+ ,), respectively, and define the piecewise quadratic (p.q.> Btzier curve with segments b,(u)

=piJ?;(U)

+I@f(u)

+p&(u),

i=2,...,n-

1

where B:(u) = (1 - u)*, B:(u) = 2241 - U) and B;(u) = u* are the quadratic Bernstein polynomials. These segments constitute a G’ curve passing through the points {pi} and only at these points the curve may have curvature discontinuity or inflection points. We would like to replace each quadratic segment hi(u) by two quadratic segments bi i(u) and hi,*(u), such that the curve formed by all the new segments has the following properties: 1. The curve passes through the points (pJ~:,,‘. 2. The curve is G’, and it is G2 between P,_~ and pi, i=2,...,n1. A method to obtain a curve with the properties l-2 above, is given below and we name it the refined piecewise quadratic method, or the RPQ method. Description of the RPQ method Starting

with the control-polygon

{oJ:= i, we define

pi=a,ui+(l--ai)oi+,,

i=l,...,

point

pi on each edge (Vi, Ui+ i> by

n-l,

where the weight ai satisfies 0 , we wish segments b,,,(u) and b,,,(u) that satisfy properties 1-2 above. Algorithm description at the corner

(2.1) to define

two

quadratic

{vi _ ,, vi, Vi + I)

We wish to find a point qi on the segment {pi-I, Yi} and a point ri on the segment {vi, Pi)> such that if a point si is defined on the segment (qi, ri}, the two corners, {pi_,, qi, Si} and

Fig. 2.

N. Gruberger et al. / Piecewise-quudratic curues and surfaces

471

{si, ri, p,}, would constitute the control polygons of two adjacent pieces of quadratic Bezier curves that meet with G* continuity at si (see Fig. 2). Namely, we wish the two curve segments

‘Pi_lB~(U) +qqiBf(U) +SiB,2(U)> OG”

bi,l(U)

bi,*(U)=SiB~(U)

+riBf(“)

+PiB,2(u)> OGuull,

G

‘>

(2.2) (2.3)

to agree with G2 continuity at si. The determination of the points qi, ri and si can be obtained by recalling Boehm’s algorithm for G2 agreement of two BCzier segments of arbitrary degree d. We review the algorithm below. For further details see [Boehm ‘851 and [Barsky & De Rose ‘881. Given a control polygon with vertices {u,}:=” and two constant numbers ,6r and p2, with p, > 0, the algorithm determines a second polygon with vertices {wJf=,, such that the two polygons would constitute control-polygons of two adjacent Btzier curves of degree d that agree with G2 continuity at their joint (where the shape parameters are /3, and &). We present the algorithm for the case d = 2 which is considered in this work.

Algorithm (Boehm). (a) Let

y= (b) Cc) (4 (e)

Pz+P,(l

+p,>



let wg = v2, define w1 = wg + p,(v2 - v,>, let T = v1 + &(v, - v,$, set w2 = w, + (l/y)(w, - T).

Figure 3 provides a geometric interpretation of the algorithm. By utilizing Boehm’s formulation of G2 continuity for the problem we have addressed above, one can realize that the choice of the points qi and ri is arbitrary (see Fig. 2). However si should be determined according to the following relations: Define /3, as follows

:

’ =I then the point

I Pjri I . I vi4i I rrVi

I ’ I qiP,_

1

(2.4)

I

si is to be determined

Pl

S.= * x+,

1 + -r1+j3,

by

(2.5)

L.

Fig. 3.

N. Gruberger et al. / Piecewise-quadratic curces and surfaces

472

p2

“2

“3

Fig. 4

Specifically, if the segment

Pl = 1

and

{qi, ri) is parallel sic

to {pi-i,

pi) it follows from (2.4)-(2.5)

that

(qiiri).

(2.6)

Namely, if the segment {qi, rJ is parallel to (pi_,, pi}, then S, can be placed at the midpoint of the segment {qi, ri}. In this case one can assign a parameter (Y~,where 0 < (Y~< 1, to the vertex vi and thus define the points qi and ri in the following way qi=ajPj-1

+ (1 -(Yi)vj,

ri = fx,pj + (1 - cfi)vi, and also define s,= 1

(2.7) (2.8)

si by (qi+ri)

2

.

(2.9)

Hence, to construct the control polygon of a piecewise-quadratic and G’ curve that satisfies properties l-2 above, one has to follow either (2.4)-(2.5) or (2.7)-(2.9) at each corner. We sum up the result in a theorem. Theorem 2.1. The refined piecewise quadratic (RPQ) Bkzier curve defined by (2.2)-(2.3) {pi), {qJ and (SJ defined by (2.0, (2.4)-(2.5), satisfies properties l-2 above.

with

Example 2.2. In Fig. 4 we show a control polygon (vi,. . . , u,), points {p,, . . . , ps} on the edges and the RPQ curves obtained using the parameters LY*= 0.4, (Ye= 0.3, 0.4, 0.5, (Ye= 0.4, and LYE= 0.4, 0.6, 0.8. The curves meet with G’ continuity at p,, and they are G2 between pi-i and pi. We now wish to study the circumstances under which the free parameters in the RPQ process can be used to yield G2 continuity at the points pi as well. pi on the segment bi,2(u), must It is clear that the curvature vector at p; , i.e. approaching lie on the same plane through pi-l, ui and pI. Also the curvature vector at p+ is on the plane should be planar if G2 continuity is through pi, u~+~ and P,+~. Therefore, the control-polygon

N. Gruberger

et al. / Piecewise-qundrafic

Fig. 5.

requested at p, for i = 1,. . . , n - 1. Another from the requirement to have G2 continuity

413

curues and surfaces

\

restriction on the control-polygon, that follows at pi, is given by the following theorem.

Theorem 2.3. A necessary condition for the piecewise B&er curue in Theorem 2.1 to be G2 at the interpolation points (pi):=-,‘, is that the control polygon (v,, . . . , on) is convex. Proof. Consider the refined control polygon near a point pi, cf. Fig. 5. We have already established that the points si, ri, pi, qi+, and si+,, must lie in a plane P. For a G2 contact between b,,,(u) and bi+ i,i (t) at pi, the curvature vectors must be the same at pi. Therefore, s, and s, + , must lie in P on the same side of the line (u,, c,+i), and this imply convexity of the control polygon. 0 We therefore assume that the control polygon following we derive an improved refined piecewise for generating a G2 piecewise quadratic curve.

(v,, . . , v,J is planar and convex. In the quadratic process, or the IRPQ method,

The IRPQ process For the sake of simplicity we will utilize a formulation of G* continuity that developed and is a direct result of Boehm’s algorithm given above. It is as follows. A formulation

we have

of G2 continuity

Let (v,}$,, be the control points of one BCzier curve and let (wJ~=~, be the control points of an adjacent BCzier curve (see Fig. 6). We assume that the two curve segments meet with G2 continuity at vd, with vd = wO. We denote ang@w,, wlvd_,) by a and ang(Tw,, TV,_,) by T.

T

Fig. 6.

N. Gruberger et al. / Piecewise-quadratic curves and surfaces

474

We also denote by 1AB I the length of a segment {A, B). Utilizing of G* continuity (see Fig. 3) we have the following relations lw*wtl

where

7

and

lv&,v&*1 =Ph,

p, = I w,vd I / I vdvd_ 1I. The two expressions 1~2~~1.

characterization

I Tvd-, I

1

(Tw,l=

Boehm’s

yield

I$jwJ2

ITv,_,l

~Tw,l~l~~_,u~_~~

=“=

Ivdvd_,12’

(2.10)

But since

I

ITud-,

=-

sin(a) where

lTw,l

(2.11)

sin( 6)

6 = a&TV,_,,

vd_tw,),

I WZWII lu&Iu&21

sin( (.y) p= sin(s)

we have Iv&l2

(2.12)

Iudu&112

see Fig. 6. Hence,

relation (2.12) serves as a condition for G2 continuity at v& Given a Control and weights (a,} assigned to the edge (vi, vi+J, respectively, determine the points {pi} as in (2.1). In the following we describe a corner cutting method to construct the desired curve. The first corner {p,, v2 pz} is being cut arbitrarily. Let the cutting line generate an angle cy, with {v,, VJ and angle 6, with {v,, v,l. Then, a point s1 is determined by the new formulation of G”, in (2.121, as follows: polygon

b,,

u2,.

..)

sin( aO) ----=G ’ sin( 6,) f*

4

(2.13)

f:

where the values of e,, fO, e,, fi, e2, f2, e3, f3, f4 are ihstrated cut the corner (p2, v3, pJ and determine a point s2 on the following properties will hold: 1. The curve is G2 at pz. 2. The curve is G2 at s2.

Fig. 7.

in Fig. 7. Next, we wish to cutting line such that the

N. Gruberger et al. / Piecewise-quadratic curLIesand surfaces

If we predetermine the angle czl that is generated equations that govern the next step are:

the cutting

I u3p2 1-e2

e3 +f3

-= w

between

line and (Ye, v,}, the

(2.14)



sin(a,)

u3)

475

(2.15)

2 f3 sin(%)

e2

(-1

= c

f2

(2.16)

sin( aO) ’

where 6, is the angle between {02, v3) and the cutting line. Equation (2.14) guarantees an actual corner cutting, and by (2.12), eqs. (2.15) and (2.16) enforce G2 continuity at s2 and p2, respectively. By substituting, in (2.15), the following expression for f4 (2.17) we arrive at the set of equations: e3 -=

I u3P2

ff3

sin( u3)

I -e2

(2.18)



sin(cr,)

sin( a,) e2 sin(6,)

i-1 e2

f2

Hence,

dividing

2

=

f3

sin(%)

<

sin( aO) .

and

(2.19)

(2.20)

(2.18) by (2.20) we obtain

“3 + 1 = sin(u,) sin((w,)

f3 However,



I U3P2

sin($)

f2’

sin(a”)

e, -(T&)-

(2.19) can be rewritten

I

(2.21)

as

(2.22) Now, division of (2.22) by (2.21) yields an expression for e3/f3. Isolating the value of e3/f3 also from (2.21) and equating with the previously obtained value we arrive at the following equation for e2 a2

2a(

I u3P2

I -e,) + ce2= 2 ( l u3P2l -e2)2

(2.23)

where a=

sin( vg) sin( 6,)

fi

sin( cri) sin( a,,) <

(2.24a)

N. Gruberger et al. / Piecewise-quadratic curues and surfaces

476

and c=

I “3P3

1sin(

al)

_

, y3p2

,

(2.24b)

sin( 6,) Note. If c = 0 in (2.23), we obtain the factor [ Iu3p2 I - e,l>:

the following

quadratic

equation

for e2 (after

eliminating

2e,2 + ue2 - a I u3p2 I = 0. Equation (2.25) is associated of its solutions satisfies O
(2.25)

with parallel

corner

cutting

and it can easily be verified

that one (2.26)

Iu3pzI. is not parallel,

namely

c # 0, then we would

obtain

f(e~)-(c-2a)e~+(2aIv,p,I-u2)e~+2u2/~3p2Ie2-u2l~3~2l2=O where a and c are given by (2.24). One solution 0 < e2 < I u3p2 I if al > ang(u,p,,

can easily verify

that

the following

cubic (2.27)

equation

(2.27) possesses

a

(2.28)

PA.

This follows from the observation that f(O) = --a2 I u3p2 I * and f( I ~3~2 I) = c I ~3~2 I, which is positive if (2.28) is satisfied. Having found e2 we can solve equation (2.19) for e3/f3 and thus determine s2. The above steps are applied at each corner. We have thus determined the control polygon for the p.q. curve. Recalling the results of Theorem 2.1 tie can state the following theorem. Theorem 2.4. For a convex and planar control polygon the IRPQ process converges to a piecewise-quadratic Bkzier curve that is G2 everywhere, interpolates the points {pi} and lies in the

convex hull of the control polygon. Remark. One can obtain an algorithm similar to the IRPQ method, that generates an interpolating piecewise cubic G* curve for 2- or 3-dimensional control-polygons. The procedure is similar to the IRPQ method except that the analogous equation to (2.27) turns out to be quadratic for both parallel and nonparallel corner cutting.

3. Surfaces In the following, we use the definitions of G’ and G2 continuous surfaces given in [Kahman ‘831. Given two surface patches a(u, v) and b(x, y), with a common boundary ~(1, v) = b(0, y), 0 < v = y Q 1 (cf. Fig. S), we have the following definitions.

Fig. 8.

471

N. Gruberger et al. / Piecewise-quadratic curLIes and surfaces

Fig. 9.

Definition 3.1. G’ continuity: G’ continuity at the common boundary of two patches there is tangent-plane continuity at each point of the common boundary.

is valid if

From the theory of differential geometry it can be shown that tangent-plane continuity equivalent to the condition that a,(l, u), a,(l, u) and b,(O, y) are coplanar, namely: det(a,(l,

u), ~~(1, u), b,(O, Y)) =O.

A sufficient condition for (3.1) to hold is that continuous functions p(u) and q(u) such that b,(O, Y) =P(u)u,(~, Note that as a consequence

u) +s(u)a,.(l,

is

(3.1) a,(l,

v), a,.(1 U> f (0, 0, 0) and

u),

where

of (3.2), the unit normals

coincide

P(U)

there

>0.

exist

(3.2)

at the common

boundary.

Definition 3.2. G2 continuity: Two patches u(u, U> and b(x, y), with common boundary ~(1, U) = b(0, y), meet with G2 continuity if u,(l, u>, u,(l, U> # (0, 0, 01, and if there exist continuous functions p(u), q(u), r(u), s(u), with p(u) > 0, satisfying b,(O, Y) ‘P(U)%(l,

u> +q(L’)a.(l,

u)

(3.3)

and b,, =p2aUU + 2pqu,, where

b and a are evaluated

One can obtain

these equations

+ q2uul. + ruU + su,

(3.4)

at (0, y> and (1, u> respectively. by using the Dupin

indicatrix

concept,

see [Kahman

‘831.

Representation of the problem Let {~~,~}~l)!!,be a rectangular control-point mesh, and let a point P,,~ be defined on each “face” {u~,~,u~+~,~, u,+,,~+~, ZJ~,~+~} for i = 1,. . .,m - 1 and j = 1,. . . , n - 1 as a convex combi-

Fig. 10.

478

N. Gruberger et al. / Piecewise-quadratic curues and surfaces

Fig. 11. nation of the four vertices, see that interpolates at {pi j}, is G’ RPQ process. The bake idea application of the RPQ method

Fig. 9. We wish to construct a piecewise bi-quadratic surface continuous and is flexible in the sense described above by the in the method we are going to present for surfaces is the for the univariate case to the two parametric directions u and

V. In order to obtain the explicit representation of the surface in the bivariate case, we revisit the univariate setting. Focusing on one corner of the control polygon, e.g. (pi-i, vi, P,}, with an assigned weight (Y~,we define points qi and ri by (2.7) and (2.8), respectively, and we also determine si by (2.9). The RPQ process would yield the two curve segments bi,l and bi,z that meet with G2 continuity at si, see Fig. 10. Introducing the explicit form of qi and Ti from (2.7) and (2.8) into the expression of b,,,(u) in (2.21, will yield:

b,,i(U)

=pi_i[B,2(U) +Vi[(l

+“iBf(U)

+ +“iB,2(U)]

-LYi)Bf(U)

+ (l -~i)B,2(U)]

+Pi[+(YiB,2(U)]

(3.5)

for 0 Q u < 1. Now, if we define B,(u)

=B,2(U)

B,(u)

=(l

+“iB:(U)

-a,)B:(u)

+ (1-~i)B22(U),

(3.6)

L4).

B3( CL)= ++,“< It can easily be verified space of all polynomials

+ 3”iB,2(U),

that B,(u), B,(u) and B,(u), in (3.6), constitute a basis of 7r2, the of degree G 2. Thus, b,,i(u>, in (3.5), can be expressed as

bi,l(u)=Pi_,B,(u)+UiB2(U)+PiB3(U), Similarly

bi,2(u>, in (2.31, can be rewritten

OG”G1’

(3.7)

as

bi,2(U)=pi_1B3(1-U)+tiBZ(1-U)+piB1(1-U), Observe

pi, R

that the new basis functions

depend

O
on the local weight

(Yi*

q i+1.,+1

p,+1, jr1

,+I

rl.

,+I

‘+I,,+1

=it1,

‘i+l,

Fig. 12.

v

j+1

j

I-

u

(3.8)

479

N. Gruberger et al. / Piecewise-quadratic curves and surfaces

a qItI,

pi, ,+I

Sl(U,V)

Ii,

ItI

,+I

‘,+I,

Y

s,(u,v) j+l

~tl,

L--J

s,(u,

s,(u,v)

=i+i.

T

jt1

u

v)

qi+l. j

PI,,

jtl

PItl.

I

Fig. 13.

We now turn to discuss

the analogous

method

for the bivariate

case.

Extensions of the RPQ process to surfaces

Given a regular rectangular control-point mesh {u~,~}and weights aj, 0 < aj < 1, associated with the edge (zI~,~,ZJ~,~+ r} and weights bi, 0 < b, < 1, assigned to the edge {Vi,j, Di+ r,jI> we define a sequence of points {qi,j} by the rule 4i.j

and we define

=

ajui,j

+

a second

rj,j = b,Ui,j +

(I

-

aj)ui,,+

sequence

(3.9)

1

of points

(ri j} by the relation (3.10)

(l - b,)Yi+I.j>

see Fig. 11. Note that the constants aj are fixed along a strip in the u direction, similarly are fixed along a strip in the u direction. Now, let us assign weights LY~,pi, 0 < cyj, pi < 1, to the sub-control-polygon consisting

b, of

the points {Pi,j+r> qi+r,j+rl Pi+r,j+r> r,,,+r> ui+r,j+r, ri+r,j+r, P,,j> q;+r,j> Pi+r,jJ (see Fig. 12). The idea is to apply on the above {i, j) sub-control-polygon the univariate steps (2.7)-(2.9) in the u direction with aj and then in the u direction with pi. Note that this process is a tensor product type operation. Hence, instead of giving the explicit expressions for the new control points, we directly derive the final form of the bi-quadratic patch as a tensor product of the univariate forms (3.7j43.8). For that matter, we focus on one patch. Here we obtain four sub-patches based on control points depicted in Fig. 13. To simplify our following derivations

\/----c~p~+, ,=R,

P1. I =R1,3

I

Fig. 14.

,

,

N. Gruberger et al. / Piecewise-quadratic curc~esand surfaces

480

we use a new notation for the control-polygon of the patch as described four sub-patches that would constitute one patch are as follows:

in Fig. 14. Then

the

o
v
(3.11a)

o
v
(3.11b)

k,l=l

s,(“> v) = i

Rk,,Bk(u)C4-dv)~

k,l=l

s,(u,

v) =

;

&,&_,(1

-u)c,(l

-v),

(3.11c)

k,l=l

s,(u, u) =

5 &,&,(1

o
-“)c,-,(v),

v
(3.11d)

k,l=l

where (~-u)~+~~,u(~-u)+~~~u~,

k=l,

2(1-/3,)u(l-u)+(1-/3pi)u2,

k=2,

$Q&

k=3,

(1-v)2+2Lyjv(1-v)+~cXjv2,

Z=l,

2(1-a&o-c)+(1-CXcrj)u2,

1=2,

&XjV2,

I=3.

(3.12a)

and

We claim continuity.

(3.12b)

that two adjacent sub-patches, of the same “father We prove this argument in the following theorem.

patch”,

agree

with

G2

Theorem 3.3. For a “regular” set of control points, the four sub-patches, S,, S,, S,, S,, form together a G2 “father patch”. Proof. Let us examine obtain (S,),,(l>

the contact

between

u) - (S,),,(R

S,(u, v) and S&u, v). Using (3.11) and (3.19,

v) = (2 - 48)

%C,(l -

i

we

v)

I=1

+(4Pi

- 2) ;

R&(1

-u),

(3.13)

‘1.

(3.14)

I=1

( s3),(07

u,

= (

-Pi)

f:

Rl,lCl(l

-

I=1

However,

‘1

+

Pi

C

R3,1Cl(1

-

l=l

(3.13) and (3.14) yield

(sl),~(l,

v, - (s3)uu(02v>= C4Pip2) f: (R3,1-Rl,l)Cf(1-v>~

(3.15)

I=1

(Sl),(l, u) =(s,),(Oi

v, =Pi i I=1

(R3,~-Rl,~)C~(1-v)’

(3.16)

N. Gruberger

et al. / Piecewise-quadratic

481

curves and surfaces

Hence, the conditions (3.3)-(3.4) for G* between S, and S, hold. In the same way, the G2 continuity condition between S, and S,, and between S, and S,, can be shown. To establish G2 continuity over all the “father patches” we just have to show regularity of the surface. For this we have to assume some regularity of the configuration of the control points (Rk,!}. As shown in [Dyn et al. ‘911, the patch formed by the control points (Rk,,) is regular if conv(IRi,j}T_,

:=I)

nCOnV((R;,j}f_,+l

:=,)

=4,

r = 1, 2,

(3.17a)

and

and this holds for any 0 < ‘Yj, Pi < 1.

0

To achieve G’ continuity of the whole interpolation points plj to be Pi,j=‘j’i,j

+

(l

-aj)r~,j+l~

+

(1-

(3.17b)

r=l,2,

conv(IRi,jl~=,j=t)n((~,,j}~=,~=r+~)=b,,

surface

we have

to restrict

the

choice

of the (3.18a)

or equivalently, PL,j =

bzqi,j

bi)qi+l,j.

(3.18b)

Then the whole surface is simply a tensor product of two univariate RPQ processes, and, subject to regularity conditions on the control points [Dyn et al. ‘911, we conclude with the following theorem. Theorem 3.2. Let a surface be defined by equations (3.11)-(3.12), with 0 < cuj, pi < 1, where the interpolation points {P~,~}satisfy (3.18) and the points qiJ and rj,j are determined by (3.9) and (3.10), respectively. Then the surface is G’ and each patch is G2.

References Barsky, B.A. and De Rose, T.D. (19881, Three characterizations of geometric continuity for parametric curves, Report No. UCB/CSD 88/417, Computer Science Division, University of California, Berkeley, CA. Boehm, W. (19851, Curvature continuous curves and surfaces, Computer Aided Geometric Design 2 (41 313-323. Catmull, E.E. and Clark, J.H. (19781, Recursively generated B-spline surfaces on arbitrary topological meshes, Computer Aided Design 10, 350-355. Chaikin, M. (19741, An algorithm for high speed curve generation, Computer Graphics and Image Processing 3, 346-349. De Casteljau, P. (19591, Outilage methodes calcul, Andre Citroen Automobiles SA, Paris. Doo, D.W.H. (1978a), A subdivision algorithm for smoothing down irregularly shaped polyhedrons, in: Proc. Interactive Techniques in Computer Aided Design, Bologna, 157-164. Doo, D.W.H. (1978b1, A recursive subdivision algorithm for fitting quadratic surfaces to irregular polyhedrons, Thesis, Brunel University, Uxbridge, UK. Doo, D.W.H. and Sabin, M.A. (19781, Behavior of recursive division surfaces near extraordinary points, Computer Aided Design 6, 356-360. Dyn, N., Levin, D., and Yad-Shalom, I. (19911, Regularity conditions for a class of geometrically continuous curves and surfaces, in: P.J. Laurent, A. Le Mihaute, and L. Schumaker, eds., Curces and Surfaces, Academic Press, New York 169-176. Farin, G.E. (19821, Visually C2 cubic splines, Computer Aided Design 14 (3) 137-139. Farin, G.E. (19881, Curves and Surfaces for Computer Aided Geometric Design, A Practical Guide, Academic Press, New York. Kahman; J. (19831, Continuity of curvature between adjacent Bezier curves, in: R.E. Barnhill and W. Boehm, eds., Surfaces in CAGD, North-Holland, Amsterdam, 65-75. Lane, J.M. and Riesenfeld, R.F. (19801, A theoretical development for the computer generation of piecewise polynomial surfaces, IEEE Trans. Pattern Anal. and Machine Intelligence 2, 35-46.