Ensuring compatibility of G2-continuous surface patches around a nodepoint

Ensuring compatibility of G2-continuous surface patches around a nodepoint

-'-~ ELSEVIER COMPUTER AIDED GEOMETRIC DESIGN Computer Aided Geometric Design 13 (1996) 931-949 Ensuring compatibility of G2-continuous surface pa...

893KB Sizes 0 Downloads 83 Views

-'-~

ELSEVIER

COMPUTER AIDED GEOMETRIC DESIGN

Computer Aided Geometric Design 13 (1996) 931-949

Ensuring compatibility of G2-continuous surface patches around a nodepoint Xiuzi Ye 1, Horst Nowacki * lnstitut far Schiffs- und Meerestechnik, Technische Universitgit Berlin, Salzufer 17-19, 10587 Berlin, Germany

Received October 1994; revised January 1995

Abstract The problem of ensuring compatibility of mixed partial derivative vectors of surface patches joining G2-continuously around a common nodepoint is essential in modelling G2-continuous r~sided surfaces. Although the compatibility constraints can be removed by using C 2 Gregory patches, these patches have singularities at their corner points. This paper presents conditions for ensuring the compatibility of the mixed partial derivative vectors of surface patches joining G2-continuously around a common nodepoint. After investigating the solvability of these compatibility conditions, a new solution method exploiting G3-continuity of surface patches at a common nodepoint is given. Example surfaces based on this solution method are also provided. Keywords." C ~ and C 2 Gregory patches; Compatibility conditions; Tangent-plane continuity;

Curvature continuity; Geometric continuity of third order; Continuity conditions; NURB surfaces; B6zier patches; r~-sided surfaces

1. Introduction The modelling and control of product shape have widely been studied in the ComputerAided Geometric Design (CAGD) community (Barnhill, 1984; B6hm, 1984; Farin and Kahmann, 1984). Great attention has been paid to the modelling of free-form surfaces including n-sided surfaces for the last two decades. The NURBS (Non-Uniform Rational B-Spline) technique is by far the most widely used surface modelling technique in industry. In fact, it has been so widely accepted that it becomes the de facto industrial * Corresponding author. I Current address: Massachusetts Institute of Technology, Design Laboratory, Room 5-422, Department of Ocean Engineering, 77 Massachusetts Avenue, Cambridge, MA 02139, USA. 0167-8396/96/$15.00 © 1996 Elsevier Science B.V. All rights reserved SSDI 0167-8396(96)0001 6-7

932

X. Ye, H. Nowacki/ ComputerAided GeometricDesign 13 (1996) 931-949

standard (ISO42, 1994). Being capable of representing a wide range of shapes, NURBS curves and surfaces are used in most modern modelling systems as the only canonical form stored in the database. Surfaces in modelling systems are required to meet certain quality conditions in the patch interior and geometric continuity constraints between adjacent surface patches. A natural way to construct geometrically continuous surfaces using NURBS surfaces is to generate the polynomial or rational boundary curves first, then to construct the vectorvalued polynomial or rational cross-boundary derivative functions of surfaces along these boundary curves. After that, Coons-Booleam sum patches are used to interpolate the generated boundary curves and the vector-valued cross-boundary derivative functions, and the resulting patches are converted to NURBS forms by using conversion methods such as those described in (Ye, 1995a). While Coons-Booleam sum patches require that certain mixed partial derivative vectors be compatible at the nodepoints, as has been pointed out in (Gregory, 1974, 1983), incompatibilities of these mixed partial derivative vectors may occur at the nodepoints if the vector-valued cross-boundary derivative functions are generated independently. There are basically two approaches to overcoming these compatibility restrictions, namely, (1) to develop surface patches which avoid the compatibility restrictions, and (2) to generate compatible vector-valued cross-boundary derivative functions. The first solution approach is useful in that it allows to generate the cross-boundary derivative functions along two intersection curves independently--a natural requirement in the piecewise generation of surfaces. John A. Gregory created the first kind of such surface patches called Gregory patches or Gregory squares in (Gregory, 1974, 1983). The Gregory patches are compatibly corrected Coons-Boolean sum patches, i.e., at the nodepoints, the mixed partial derivative vectors involved in the compatibility restrictions in the Coons-Boolean sum patches are replaced by the corresponding weighted combinations of the generated incompatible mixed partial derivative vectors. For example, C 1 rectangular Gregory patches are defined by replacing the twist matrix (twist vectors are (1,1)-derivative vectors) 00~

DI1 = IL 10~v Dluv lluv 1 ' in the C J Coons-Boolean sum patches by the following weighted twist matrix

I ,

D~, =

uOOuv+ vOOvu u+v (1 - u)lOuv + vl0v~,

uOluv + (1 - v)Olvu u+l-v (1 - u)lluv + (1 - v)llvu 1-u+l-v

1-u+v

Similarly, C 2 Gregory patches are defined by replacing further the higher order mixed partial derivative matrices - O0~v

D12 --~

10~,vv

OL, vv ]

11 ....

J

933

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

10 ....

1L~v

and

D22 = -OOuuvv 01u,,w ] llu~v

10uuw

/

in the C 2 Coons-Boolean sum patches by the following weighted higher order mixed partial derivative matrices, respectively (cf, (Barnhill, 1984)):

D;2 =

11,00uvv q- v2OOvvu

uOluvv + (1 - v)2Olvvu

u+v 2

u + (1 - v) 2

(1 - u)lOuvv + v21Ovvu

1 --Uq-V

I -

u2OO~,u~ + vOOvu,~ D~I =

u +

(1 -

lt2Oluuv +

(1 --

v) 2 v)Olvuu

/£2-}-/3

u2 + 1 - v

(1 - U)21Ouuv + vlOvuu

(1 -- u ) i l l u u v + (1 - v ) l l v u u

(1 - u) 2 + v

D~2 =

....

(1 - ~ , ) 1 1 , , ~ + (1 - ~ ) : n

2

(l

(1 -

u) 2 +

1 -

v

u2OOuuvv + v2OOvvuu

u2Oluuvv + (1 - v)2Olvvuu

U2 + V 2

u 2 + (1 - v) 2

-

u)21Ouuvv + v21Ovvuu (l

(1 -

U) 2 if- l '2

--

where (iL,~,ijv~), ( i j ~ , i j ~ ) , mixed partial derivative vectors

u)211 . . . . . + (1 - v)211vvu~, (1 -- 11) 2

(ij~,ijw~)

'

+ (1

'

v) 2

and (ij . . . . . ,i jr ..... ) are the following

~(~)) ~v

'

~u

(7~2,u~V 2t'-i32' ~-fu] , i~2()i~/./, ~--7~ 2) 0v

'

0u 2

'

of the surface patches at the nodepoint with parameters (u = i, v - j), respectively. Gregory patches, especially C 1 Gregory patches, are used in many approaches to construct geometrically continuous n-sided surfaces (Chiyokura and Kimura, 1983; Chiyokura, 1987; Shirman and Sdquin, 1990) and rectangular surfaces (Nowacki, 1989). Avoiding the compatibility constraints is useful in local constructions of surfaces, but it introduces singularities of the surface patches at the nodepoints. For example, although Gregory patches can be converted to rational Bdzier patches, patches which can be considered as special kinds of NURBS surfaces, the weights at the nodepoints are generally zero. Such kind of NURBS surfaces are not included in the ISO STEP standard and are not acceptable for most modern modelling systems, due to the singularities of

934

X. Ye, 14. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

the patches at their nodepoints. At these singular nodepoints, special manipulations are needed to overcome the numerical instability near these points. Many methods for constructing nonsingular surfaces have been proposed (Beeker, 1986; Charrot and Gregory, 1987; Gregory and Hahn, 1989; Jones, 1988; Liang, Ye and Feng, 1988; Loop and DeRose, 1989; Peters, 1992; Sarraga, 1987; Wijk, 1986; Ye, 1994). One of these approaches uses weighted combinations of edge-patches (Charrot and Gregory, 1987; Gregory and Hahn, 1989), i.e., patches interpolating the boundary data (boundary curves and the vector-valued cross-boundary derivative functions) relevant to adjacent edges of an r~-sided surface are generated first, then the n-sided surface is constructed using a weighted combination of these edge-patches. The resulting surface is parametrically continuous in the surface interior if the boundary data given are compatible at the nodepoints. Another construction approach which is widely used in practice constructs an n-sided surface by composing n nonsingular BEzier patches or B-spline surfaces with a common nodepoint called the central point (Beeker, 1986; Jones, 1988; Liang, Ye and Feng, 1988; Peters, 1992; Sarraga, 1987; Wijk, 1986; Ye, 1994). In this approach, the mixed partial derivative vectors of surface patches at the central point are obtained by solving the compatibility conditions. While the generation of tangent-plane (G1-)continuous surfaces using B6zier patches has been widely researched (a survey of these methods can be found in (Du and Schmitt, 1990)), little effort has been spent on the generation of curvature (G2-)continuous surfaces which are needed in some precise design situations such as in the automobile industry. In (Jones, 1988), a method for generating G2-continuous n-sided surfaces from boundary curves with uniformly distributed tangents at a common nodepoint is proposed. This construction method is based on a special kind of solution of the compatibility conditions for curvature continuous surface patches around a nodepoint, also called G2-compatibility conditions in this paper. In (Li and Liu, 1992), G2-compatibility conditions for surface patches with unrestricted nodepoints are studied systematically. A solution method for solving the GZ-compatibility conditions is also provided. As will be pointed out in Section 3.2, this solution method is invalid, for it is based on the nonsingularity assumption of a matrix--an assumption which does not generally hold. A more theoretical description of the so-called C k vertex closure problem, a problem equivalent to the Gk-compatibility problem, can be found in (Peters, 1992). In this paper, the G2-compatibility conditions at irregular nodepoints, i.e., nodepoints which are passed by non-four unrestricted curves or by four curves which are not pairwise tangentially continuous at the nodepoint, are presented. These conditions are expressed by linear vector equation systems, the solvability of which is also studied. It is shown by examples that these linear equation systems are not always solvable. Then, a new method for solving the G2-compatibility conditions at nodepoints is proposed. This solution method exploits G3-continuity of surface patches at a common nodepoint. Finally, example surfaces based on this solution method are provided. The details of the constructions are not described in this paper. They can be found in (Ye, 1994).

X. Ye, H. Nowacki / Computer Aided Geometric" Design 13 (1996) 931-949

935

Ci-1 (Ui)

TTFT/m TrTi-ll~ . . . .

-~Ui

/ " ~ " , X , / ' ' "* rwi~ ..... ~" .....

/

",

\

/

,1¢

/

"~' Ti

p

\

'

"~.~

-,.,

/

Si(ui,vi)

,' ,.

\ ",v,'/

'k[__

/-,,

./

./-,

\'~r.' \w

//

Ti-l~ . . . . . .

X ~Wi

,

'~,

"Or.

. . .v.:,..

""

11 h

~ Zi

,

,,

,,

,o ~_

~ i i ( v i ) ~ C

Fig. 1. Partial derivative vectors of a surface patch &(u~, v~) at a nodepoint P. 2. The p r o b l e m of G2-compatibility

In this section, a brief mathematical description of G2-compatibility conditions based on the GZ-continuity conditions between adjacent surface patches is given. We start with some notation.

2.1. Notation As shown in Fig. 1, surface patches {&(u~, v~), i = l , . . . , n} with boundary curves C~-1 and Ci are assumed to meet at a common nodepoint { P = &(0, 0), i = 1 , . . . , n}. Throughout this paper, indices are used cyclically, i.e., e.g., S-L = S,~-l, So = S,~, Sn+l = $1 and Sn+2 = $2. For simplicity, the partial derivative vectors of the surface patch Si at Pi are denoted by

T,= O&+l(ui+l,vi+l)~u~+l ~,+,=~+,=0 _ ~&(u~,Vd~v~ ,,,=v,=0; TT~= ~2Si+I~./Ii+ ('//,i+ 121~Vi+l ) ui+t=vi+l =0 TTTi

TTTTi

=

~3Si-I-l~(Ui+1,3Vi+I) ] uUi+l ui+l=vi. :=0

=

()4Si-t-1~4(U/q'l'~iq_l Vi+l) u,.+l=v~+l=0 --

~2Si(ui,vi )

~v~

u~=v~=O;

~v~ ~4Si(Ui,Vi)

~V~

u~=v~=0;

936

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

Vi -

a2Si(u~, ~ui~vi vd ,,,=v,=o"

X i-

~3S~(u~, v~) ~u2i Ov i

Wi -- O4Si(ui'Oi2uOv i2vi )

,,,=v,=o

03S~(u~,vd u,=v,=o"

,

Yi -

Oudlv~

'

u~;=vi=O"

O4Si(Ui' Vi ) ui=vi=O"

~4 Si(Ui, Vi )

ui=vi=0'

The common unit normal vector of {Si(ui, vi), i = 1,..., n} at P is denoted by n. The value of a function fi(t~) with parametric domain ti E [0, 1] and index i at t = 0 is denoted by fi0. Its first and second order derivative vectors of at t = 0 are denoted by rio, f/~o and f[~, respectively.

2.2. G2-continuity conditions Let surface patches {Si, i = 1,..., n) be G2-continuous along their given common boundary curves, i.e., S~ and Si+l are G2-continuous along their common boundary curve Ci for / = 1 , . . . , n. That is to say, {Si, i = 1 , . . . , n} satisfy the following GZ-continuity conditions (Kahmann, 1983; Ye, 1995b; Ye, Liang and Nowacki, 1992): v,+,

~S~

~s~+,~v~+, :o = P~(~) ~--~ ~, :o 02Si+1

~V/2+l

+ q~(~)C~(v~)

2 O" i ~ i ui=O

(1)

+ 2pi(vi)q,(vi) \ ~ui ui=O

+ (qi(vi))2C~'(vi) + PPi(Vi)-~u~ u,-o- + qqi(vi)CV(vi)'

(2)

where { (Pi (vi), qi (vi), PPi (vi), qqi (vi)), i = l , . . . , n} are weight functions and {Pi(Vi), i -- 1 , . . . , n} are nonzero in [0, 1], i.e., they are either positive or negative in [0, 1]. By taking the orientations of {Si, i = 1 , . . . , n } as in Fig. l, {pi(vi), i = 1 , . . . , n } are negative in [0, 1]. By letting vi = 0 in (1) and (2) and using the notation from Section 2.1, we have

T,i+l =pioTi-j +qioTi (i = 1 , . . . , n ) , TTi+1 = (pio)ZTTi-I + 2p/0q~0V~ + (qio)ZTTi + PpioTi-I + qqioTi.

(3) (4)

From the point of view of parametric transformations, because {Si, i = 1 , . . . , n} meet at P G2-continuously, in the neighbourhood of Si at P, Si is a C 2 mapping of a C 2 basic surface S, i.e., there exist a C 2 basic surface S(u, v) and C 2 invertible parametric transformations {(ui = u~(u, v), vi = vi(u, v)), i = 1 , . . . , n} such that the surface patches { S~(ui(u, v), v~(u, v) ), i = 1,..., n} are C 2 with the basic surface S(u, v) at P. Let the C 2 inverse transformations of {(ui = ui(u, v), vi = vi(u, v)), i = 1 , . . . , n} be {(u = ~i(ui, vi), v = ~Si(ui, vi)), i = 1 , . . . , n}, then the surface patch S(fzi(ui, vi), f)i(ui, vi)) is C 2 with Si(ui,vi) at P = Si(0,0) for i = 1 , . . . , n , i.e.,

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

Ti = 0 S ( ~ i + I ( U i ÷ I , V i + I ) , ' U i + I ( U i + I , V i + I )

aui+l

.... I =v ~1:0

(5)

:

OVi

u

~

0

0Ui+l

=vi+~=0

vd, Ov~

=

(6)

u :v :o

vd,

¼ :

937

(7)

Ou~Ov~

By differential expansion of (5), (6) and (7), we have (8)

T~ = p~*oSo + q~*oS1, Z T / =- (P~o) * 2 SSo + 2p~oqioSV * * * 2 SS1 + pp~oSo * * + (q~o) + qq~oSl,

(9)

Vi =- p~*oP~+lOSSO + (Pi*oq~*+lo + P,*+loqi*o)SV + qi*oqi+loSS1

(10)

+ psi*oSo + qs~*oS1, where

0S So=~- u SSo=

P;

~02S

&=

P"

SV-

O~-vSp; 02S OuOv

P"

SS1--

'

02S Ov 2

p

and

.

Pio =

Oe~+l(u~+l,v~+l) ~+,=v,+,

0u~+i

=o

_ O~i(ui,v~) ~=~,,=o:

0vi

qio* = Of;i+1 (ui+l,0Ui+lVi+l) ~+.=v~+, =o _ O~i(ui,ovivi) ,~=~=()" . PPio =

OZ~i+l (Ui+I, Vi+l) ui+, . . . . . 1=0 0Ui4_12

, 02v~+l(U~+l vi+l) ~+~ qq~o = 2 07~i+1



PSi° --

0 2 ~ i ( U i ' V i ) ui=v,=O"

~uiOvi

'

=vi-~ 1=0 *

-

02Cti(?~i' v i ) . . . . . . =0; ~2

--

02~(u~,v,,) ~ Ov~

qs~° --

. =v~=O

02"Ui (~ti' v i ) . . . . i=O'

Ou~Ovi

(1 1)

From Eq. (10), we know that the projections of the twists {V/, i = 1 , . . . , n } of {Si, i = 1 , . . . , n } at P onto the unit normal vector n at P are uniquely determined by the first and second derivative vectors of the curves {Ci, i = 1 , . . . , n } at P. Therefore, the G2-continuity conditions of surface patches {Si, i = 1 , . . . , n} at P are the restrictions

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

938

not only on the first and second derivative vectors of the curves {Ci, i = 1 , . . . , n} at P, but also on the twists {V~, i = 1 , . . . , n ) of (Si, i = 1 , . . . , n } at P. 2.3. A general description o f GZ-compatibility conditions

Differentiating both sides of (1) by vi twice and (2) by vi once and twice respectively, we have the following relationships among the mixed partial derivative vectors {(Vi, Xi, Yi,W~), i = 1 , . . . , n } of {Si, i = 1 , . . . , n } at P: Xi+i=fxi(Y~,...)

(i= 1,...,n),

(12)

(i=l,2,...,n),

Y~+I=fYi(Xi,Y~,...)

(13)

(i= 1,2,...,n).

Wi+l=fwi(Wi,Zi,...)

(14)

Using the above equations recursively, we have Xi+l = f x i ( Y i , . . . ) = fx~(fyi-~(X~-l, --

.

,

Y~-~,...),...

)

,

= gx~(X~, Y ~ , . . . ) , Y/+l

=

(15)

fyi(Xi, Yi,...) fxi(fxi-l(Xi-t,

Y i - l , . . .), f y i - , ( X i - l ,

Y~-,, . . .),. . . )

(16)

= gyi(X1, Y1,...),

Wi+l = f w i ( W i , Z i , . . . ) = fwi (fwi-1 (Wi-l, Zi-l,...), = 9 w i ( W 1 , Z1, . . . , Zi, . . .).

Z~,... )

(17)

Noticing that X n + l = X I , Ynq-I = YI and Wn+I = Wt, we have the following G 2compatibility conditions: 9Zn (X~, Y~) - X1 = 0,

(18)

g y n ( X 1 , Y 1 ) - ]I1 = O,

(19)

gWn(Wl ,zl,...,zn)

(20)

-- W l : O.

Eqs. (18) and (19) together form the equation system for the third order mixed partial derivative vectors {(Xi, Y~), i = 1,... ,n}. In this equation system, { T T T ~ , i = 1 , . . . , n} are involved. Equation system (20) contains the compatibility conditions for the (2,2)-derivative vectors {Wi, i = 1 , . . . , n}. This equation system involves the (3,1)derivative vectors {Zi, i = 1 , . . . , n}. Fig. 2 shows the partial derivative vectors of the surface patches {Si, i = 1,... ,n} involved in the G2-compatibility conditions at the common nodepoint P.

939

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

Vi-l/Ci-1(Vi-I)

C 1

/ /< ~

Ul

Si(lli,Yi)

Fig. 2. Partial derivative vectors involved in the G2-compatibility conditions of surface patches at a common nodepoint.

3. Compatibility conditions for the third order mixed partial derivative vectors The compatibility condition of {W{, i = 1 , . . . , n} involves the free vectors {Zi, i = 1 , . . . , n}, it can be easily solved by taking {Zi, i = 1 , . . . , n} from (20) properly. What is difficult to solve is the equation system for the third order mixed partial derivative vectors {(Xi, Yi), i = 1 , . . . , n } formed by (18) and (19). In this section, this linear equation system is presented in detail. Its solvability is also studied. It is shown by examples that this linear equation system is not always solvable. 3.1. The linear equation system

After some calculations, the functions f x i , f y i and fw,i in (12)-(14) can be obtained. They are as follows: Xg+l

=

(21)

f x i ( Y i ) = pioYi + X R i ,

Yi+l = f y ~ ( X i , Yi) = (pio)2Xi + 2p.i0qioY/+ Y R i , I/Vi+I :

(22) (23)

f w i ( W i , Zi) = (pio)2Wi + 2pioqioZ~ + W R i ,

where l

I

II

II

X R i = PioqioTTT i 4- 2PioVi 4- 2 q m T T i + p~oT~_l + qioTi,

X. Ye, H. Nowacki/ Computer Aided Geometric Design 13 (1996) 931-949

940

Y R i = (qio)2TTTi + 2pioP~oTTi-1 + (2pioq~o + ppio)Vi + 2qioq~oTTi + pp'ioTi-1 + qq~oTi, W R i = 2pioP~oXi + (2pioq~o + PP~o)Yi + (q~o)2TTTTi + (2qioq~o + qqio)TTTi + 2 (pioP~(o + (p~o)2 + PP~io)Vi " T i-1 + qqio " T i. + 2((q~o) 2 + qq~o)TTi + PPio

Replacing i by i - 1 in (21) and substituting the resulting expression of X i into (22), we have the following linear vector equation system with unknown vectors {Y1,..., Yn}: -pi-l,O(Pio)2y~-I - 2pioqioYi + Yi+I = (pi-l,o)2XRi-I + Y R i (i = 1,...,,~).

(24)

The same linear equation system is deduced in (Li and Liu, 1992). It is asserted there that the above equation system is solvable for n = 3 and that for arbitrary n with {qio, i = 1 , . . . , n} not all zero--i.e., the nodepoints are irregular--the above equation is solvable. The validity of this assumption is doubtful. It will be proven in the next subsection by examples that this assumption does not generally hold. The G2-compatibility conditions for {(X~, Y~), i = 1 , . . . , n} can be simplified to a 2 x 2 linear vector equation system by rewriting (21) and (22) in the following vectormatrix form Y/+l/1

=

Mi

Yi

(25)

+ \YRi,]

with the matrix 0 Mi=

Pi0

)

(Pio) 2 2pioqio

By recursively using (25), the G2-compatibility conditions for the mixed partial derivative vectors {(Xi, Y/), i = 1 , . . . , n} become

(I - M . o )

x, =ZMn (XR,) Y1 k=~ \YRU'

where matrix Man is the 2 x 2 identity matrix and 2 x 2 matrices defined by

Mnk = Mnk+lMk

(i = n -

(26)

Mnn-l,.

• •,

Mno are

1,...,0).

If the matrix I - Mn0 is nonsingular, then (Xl, YI) can be solved from (26). Otherwise, there are two vector constraints on the third order derivative vectors { T T T i , i = 1 , . . . , n } of the given boundary curves {Ci, i = 1 , . . . , n } .

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

941

3.2. The solvability of the equation system

If at a suitcase corner P, all the tangents T1, 7'2, T3 of the curves are uniformly distributed, i.e., T1 + 7'2 + T3 = 0, then, pio = - 1 , qio -- - 1 for i = 1,2,3 and the coefficient-matrix M3 of the linear equation system (24) is __

(-2

1

1

M3 - ~ 1

-2

1

1

1

-2

It is obvious that M3 is singular. At a general suitcase corner point P, by using equation (3) recursively, the following relationships among pio, qio ( / = 1,2, 3) are obtained qlo ~ -Pl0P20,

q20 = -p2oP3o,

q30 ~ -P4oPl0.

The coefficient matrix M3 of the linear equation system (24) becomes ( -2P~0P20 2~---~3=

1

-P3OP~o )

-PloP~o

-2P~oP30

1

1

-P2oP~o

--2P~oPlo



It is easy to see from (3) that Pio is the following ratio of areas area(P, P + Ti, P + Ti+l) Pio = area(P, P + Ti-1, P + T~)" Therefore P l 0 " " P n 0 = (--1) n' In our case here, n = 3, thus plop2oP3o = - 1 . Therefore IM31 = 0, i.e., M3 is singular. At a nodepoint P where six curves meet, if the tangents of the six curves are uniformly distributed, i.e., Ti-x +Ti+l = Ti for i = 1 , . . . , 6, then pio = - 1, qi0 = 1 for i = 1 , . . . , 6 and the coefficient matrix M6 of the linear equation system (24) is \ 2 1 0 0 0 17 1

2

1

0

0

0

0

1

2

1

0

0

0

0

1

2

1 0

0

0

0

1

2

1

1

0

0

0

1

2

M6=

From [M6] ~- 0 we know that M6 is also singular. Fig. 3 shows these two cases. Furthermore, it can be easily proven that at a suitcase corner, the two constraints which are supposed to be the constraints on the third order derivative vectors { T T T , i -

942

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

?

rG

"1"2 C~

T3 ~

T4

T

1 6

(b)

Fig. 3. Cases where the coefficient matrices of the compatibility conditions for the third order mixed partial derivative vectors are singular: (a) at a suitcase comer, and (b) at a nodepoint where six curves are met and the tangents of which are uniformly distributed.

1 , . . . , n } of the boundary curves {Ci, i = 1 , . . . ,n}, vanish. This means further that X1 and Y1 are free. It can also be proven that, at a nodepoint P where six curves meet, if the six curves Ci (i = 1 , . . . , 6) are pairwise G3-continuous at P, i.e., Ci and Ci+3 are G3-continuous at P (i = 1,2, 3), then the two constraints vanish also, i.e., X1 and Y1 are also free. The reason why X1, ]I1 are free in these cases is that, if the curves are G3-continuous at P and the third order mixed partial derivative vectors Xi, Y/ are calculated from the G3-continuity conditions, they are sure to be compatible. It is obvious that two independent surface boundary curves at P determine the tangent-plane at P, three independent tangent-plane continuous surface boundary curves at P determine the second order partial derivative vectors of the basic surface at P , and four independent boundary curves of curvature continuous surface patches at P determine the third order derivative vectors of the basic surface at P. In the cases described above, there are only three independent boundary curves of curvature continuous surface patches at P. These boundary curves are not sufficient to determine the third order derivative vectors of the basic surface at P. As a result, X1 and Yl are free. A more general result for the solvability of the equation system (24) or (26) can be obtained for nodepoints with curves whose tangents are uniformly distributed at the nodepoints. In this case, Pio :

--1:

qi0 = 2cos(27r/n)

(i = 1 , . . . , n ) .

Thus

M~=M=

0

-1

1

- 4 cos(27r/n)

) .

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

943

Let )q and ~2 be the two eigenvalues of the above matrix M, i.e., )~1 and ~2 be the roots of the following equation: )~2 + 4cos(2rr/n),~ + 1 = 0. Then M can be written as M,

(27)

= A-~ DA,

where A is a nonsingular 2 x 2 matrix whose rows are the eigenvectors of M, and

D=

( ~'0

k20)"

Hence, the matrix I - M n o in (26) becomes I - M,~o = I - M '~ = I - A - 1 D ' ~ A

:: A - I ( I

- D'~)A.

(28)

Therefore

[I -/kI,~01 = II - Dnl.

(29)

(1) If n = 3, then A1 = A2 = 1. In this case, I - M30 is a zero matrix and thus singular. (2) If n = 6, then kl = / ~ 2 = - l. In this case, I - M6o is a zero matrix and thus also singular. (3) For n # 3 and n :fi 6 (n :~ 4), AI, A2 cannot be 1 or - 1 , thus I - M,m is not singular and (26) is solvable.

4. A method for solving the G2-compatibility conditions As described in the previous section, the linear equation systems (26) or (24) for the third order mixed partial derivative vectors { ( X , z , Y i ) , i = 1 , . . . , n} are sometimes solvable and sometimes unsolvable. At a nodepoint where the equation system (26) is solvable, (X1, ]t"I) can be solved and {(Xi, Yi), (i = 2 , . . . , n)} are calculated from (25). Our experience has shown that vectors {(Xi, Yi), (i = 1 , . . . , n ) } determined by this method are not suitable for generating smooth G2-continuous surfaces, due to the possible numerical instability at the nodepoint where the matrix I - Mno is ill conditioned. If the linear equation systems (26) is unsolvable, there are two vector constraints on the third order derivative vectors { T T T ~ , i = 1 , . . . , n} of the boundary curves {C.z, i 1 , . . . , n}. In this case, the given boundary curves {Ci, i = 1 . . . . , n} must be modified That is to say, in general, it is impossible to construct nonsingular surface patches with given unrestricted boundary curves G2-continuously at a common nodepoint. To solve the compatibility conditions of the third order mixed partial derivative vectors {(Xi, Yi), (i = 1 , . . . , n ) } at the nodepoint P, we use the G3-continuity of surface patches at P. The compatibility of (Xi, Y~) at the nodepoint P can be guaranteed if the surface patches { S i , i = 1 . . . . , n } are G3-continuous at P, i.e., if the surface patches {&, i = 1 , . . . , n} are mappings of a basic surface S at P. That is to say, there exist a C :~

944

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

basic surface S(u, v) and C 3 invertible parametric transformations { (ui = ui(u, v), v~ = vi(u, v)), i = 1,..., n} such that surface patches S/(u~(u, v), v/(u, v)) are C 3 with the basic surface S(u,v). Let the C 3 inverse transformations of {(ui = ui(u,v), vi = vi(u,v)), i = 1 , . . . , n } be {(u = ft/(ui,v~), v = 5i(ui,v/)), i = 1 , . . . , n } , then the surface patch S(fz~(ui, vi),5~(ui,vi)) is C 3 with Si(ui,vi) at P = Si(O,O) for i = 1,...,n,

i.e.,

TTTi = 8ZS(ui+l (ui+l, vi+l), ~.-:5--- ~i+1 (ui+l, vi+l) u,+, =~,+, =o , Oui+l x~ = ~3S(~(~'~u~v/Vd'~ ( ~ , vd u, =~,=o' Yi -= 03S(~zi(ui'ouiOv2ivi)'~/(ui,

vi) ~,=,,,=o"

(30) (31 ) (32)

In other words, in addition to Eqs. (8)-(10) which must be satisfied due to the G 2continuity of {Si, i = 1 , . . . , n} at P, there exist further vectors (SSSo, SX, SY, SSS1) such that the projections of {(TTTi, Xi, Y/), i = 1 , . . . , n} onto the unit normal vector n at P satisfy the following equations (see Fig. 4): * 2 * * * 2 * 3 * (TTTi, n) = ((p*o)3SSSo + 3(p~0 ) q/oSX + 3pio(qio ) S Y + (q~o) SSSIq~o + 3 (pi*opp~*oSSo+ (P~*oqq~*o+ PP~*Oq~*o)S V + q~*oqq/*oSS~), n},

(33)

(Xi,n) = ((Pio)*2pi+,ogSS . . ° . + (2pioqioPi+lo . . + (Pio)2qi+m)* S X + + +

/[2Pioq~oqi+lo * * * + (qio) . 2 . Pi+lo) S Y + (qio) . 2 . qi+1oSSS1

(P~+mPPi*o+ 2psi*oPPi*o)SSo+ (qqi*oqi*+lo+ 2qsi*oqqi*o)SS! (Pi*oqqi*+lo+ PP~*+loqi*o+ 2psi*oqqi*o+ 2qsi*opp/*o)SV,n),

(34)

(Yi, n) = ((Pi+10)* 2pioSSS . . ° + . (2Pi+loqi+loPio . . + (Pi+m)2qio)* S X * * * * 2* * 2* + (2Pi+,oq~+1oqio + (qi+1o) Pio) S Y + (qi+m) qioSSS' + (Pi*OPP~+IO+ 2p&*oPP~+Io)SSo+ (qq/+loqi*o + 2qsi*oqq/+lo)SSj + (Pi*+loqqi*o+ PPi*Oq/*+lo+ 2psi*oqqi*+lO+ 2qsi*oPPi*+lo)SV,n}, where { (Pi*O,qi*o,PP/*O,qqi*o,PSi*o,qsi*o), i = 1 , . . . , n} are defined in (l 1), and

03S p

SSSo= ~

~3S

S X - ~ u ~2 O

~3S

,

sss~ = ~ P

,

SY-

(35)

p

03S ~~u~v P

For the compatibility of {Wi, i = 1 , . . . , n}, by recursively using Eq. (23) and noticing ( P t o ' " P n o ) 2 = 1, we have

~-~ 2n-ipnoqno" "" P/+loq/+lo(2pioqioZ/ + WRi) = O. i=l

(36)

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949 _ • .,;

....%

o,°,

° . . . . . .

. . . .

, ,

I

~

I

I

D

I

O

945

Q

OD

° ,

, .

IF

I

The] Surf,"

S(u,,, , . , •

--

. . . . . . . . . . . .

,

,

Fig. 4. The mapping of the derivative vectors of the basic surface S(u, v) to the derivative vectors of the surface patches & at a nodepoint P. The derivative vectors in the first and second layers are those determined by the G2-continuity of the surface patches at P. The derivative vectors in the third layer are those involved in the compatibility conditions for the third order mixed partial derivative vectors. These compatibility conditions are satisfied if the third order derivative vectors of the surface patches are generated by mapping the third derivative vectors of the basic surface.

This equation can be easily solved by taking the vectors {Zi, i = l , . . . , n } A possible solution is Z , ~- - P , m q n o ' " P i + t o q i + l o P i o q m D Z

(i = I , . . . ,

n),

properly.

(37)

where 2n--iPnOqnO " " " P i + l o q i + l o W R i DZ

= ~ i =n l 2 n - i + l (Pnoqno" "" Pi+loqi+lOPiOqm) 2

(38)

The mapping of the partial derivative vectors of the basic surface S onto the partial derivative vectors of the surface patch & is shown in Fig. 4.

5. Illustrations The two surfaces shown in Figs. 5 and 6 are surfaces based on the new solution method of the GZ-compatibility conditions. In Fig. 5, a GZ-continuous pentagonal surface generated from the given quintic boundary curves and the first and second polynomial crossboundary derivative vectors of degree 7 and 9, respectively. The surface is a combination of five surface patches which are GZ-continuous around a common corner point, i.e., the central point of the pentagonal surface. Two of the four boundary curves of these surface

946

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

Fig. 5. A pentagonal surface generated using the new solution method for the G2-compatibility of surface patches at a common nodepoint. patches are obtained by subdividing the given boundary curves of the pentagonal surface. Then, the central point of the pentagonal surface is calculated. After that, the first, second and third order partial derivative vectors of the basic surface at the central point are constructed. By mapping the basic surface to the surface patches, the first, second and third order partial derivative vectors of these surface patches at the central point are obtained from equations (8)-(10) and (30)-(32). These surface patches are then generated from the boundary data using the Coons-Boolean sum approach and are converted to 9 x 9 B6zier patches using the conversion method proposed in (Ye, 1995a). Fig. 6 shows a hexagonal surface which is constructed similarly. It is composed by six 9 x 9 B6zier patches. These B6zier patches are G2-continuous along their common boundary curves and are G3-continuous at the central point of the hexagonal surface. The details of the constructions of the boundary data and the surfaces are rather complicated and omitted here. It can be found in (Ye, 1994).

6. Summary There are two approaches to modelling n-sided surfaces, namely using singular surface patches such as Gregory patches which avoid the compatibility constraints and allow the

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

947

Fig. 6. A hexagonal surface generated using the new solution method for the G2-compatibility of surface patches at a common nodepoint. cross-boundary derivative vectors to be generated independently, and using nonsingular surface patches by interpolating the carefully generated compatible mixed partial derivative vectors at nodepoints. The problem of compatibility of surface patches at a common nodepoint, first studied by John A. Gregory, is the key consideration m both approaches. Ensuring the compatibility of the mixed partial derivative vectors of surface patches at their common nodepoint is the essential problem in modelling G2-continuous 7>sided surfaces by composing nonsingular NURBS surfaces. In this paper, the compatibility conditions of the third order mixed partial derivative vectors and the (2,2)-derivativc vectors of G2-continuous surface patches wi|h given unrestricted boundary curves around a common nodepoint are deduced from the G2-continuity conditions between adjacent surface patches. The solvability of these compatibility conditions is investigated. It is shown by examples that the compatibility conditions of the third order mixed partial derivative vectors are not always solvable. An explanation as to why they are sometimes unsolvable is also given. As the solvability assumption of the compatibility conditions of the third order mixed partial derivative vectors is fundamental in (Li and Liu, 1992), the errata of (Li and Liu, 1992) are thus pointed out.

948

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

From the point of view of parametric mapping, in this paper, a method for solving the compatibility conditions of third order mixed partial derivative vectors at nodepoints is given. This solution method exploits the G 3-continuity of surface patches at a nodepoint. A pentagonal surface and a hexagonal surface based on this solution method are also presented. The details of the surface constructions are rather complicated and are not included in this paper. They can be found in (Ye, 1994) and will be presented elsewhere. Modelling of curvature continuous n-sided surfaces and surfaces over irregular meshes is an important topic which needs to be further studied. Our future work will go in this direction.

References

Barnhill, R.E. (1985), Surfaces in computer-aided geometric design: a survey with new results, in: Barnhill, R.E. and BOhm, W., eds., Surfaces in CAGD'84, North-Holland, Amsterdam, 1-17. Beeker, E. (1986), Smoothing of shapes designed with free-form surfaces, Computer-Aided Design 18(4), 224--232. B0hm, W., Farin, G. and Kahmann, J. (1984), A survey of curve and surface methods in CAGD, Computer Aided Geometric Design 1(1), 1-60. Charrot, P. and Gregory, J.A. (1987), A pentagonal surface patch for computer aided geometric design, Computer Aided Geometric Design 1, 87-94. Chiyokura, H. and Kimura, E (1983), Design of solids with free-form surfaces, ACM Computer Graphics 17(3) (SIGGRAPH '83 Proceedings, Detroit), 289-298 . Chiyokura, H. (1987), An extended rounding operation for modelling solids with free-form surfaces, IEEE Computer Graphics and Alications 7(12), 27-36. Du, W.H. and Schmitt, EJ.M. (1990), On the Gl-continuity of piecewise B6zier surfaces: a review with new results, Computer-Aided Design 22(9), 556-573. Gregory, J.A. (1974), Smooth interpolation without twist constraints, in: Barnhill, R.E. and Riesenfeld, R.E, eds., Computer Aided Geometric Design, Academic Press, New York, 7188. Gregory, J.A. (1983), C ~ rectangular and non-rectangular surface patches, in: Barnhill, R.E. and B0hm, W., eds., Surfaces in Computer-Aided Geometric Design, North-Holland, Amsterdam, 25-33. Gregory, J.A. and Hahn, J.M. (1989), A C 2 polygonal surface patch, Computer Aided Geometric Design 6(1), 69-75. Gregory, J.A. (1990), Smooth parametric surfaces and r~-sided patches, in: Dahmen, W., Gasca, M. and Miccheli, C.A., eds., Computation of Curves and Surfaces, Kluwer Academic Publishers, Dordrecht, 457M-98. ISO DIS 10303-42 (1994), Product Data Representation and Exchange--Part 42: Integrated Resources: Geometric and Topological Representation, 1994. Jones, A.K. (1988), Nonrectangular surface patches with curvature continuity, Computer-Aided Design 20(6), 325-335. Kahmann, J. (1983), Continuity of curvature between adjacent B6zier patches, in: Barnhill, R.E. and BOhm, W., eds., Surfaces in CAGD, North-Holland, Amsterdam, 65-75. Liang, Y., Ye, X. and Feng, S. (1988), G 1 smoothing solid objects by bicubic B6zier patches, in: Duce, D.A. and Jancene, P., eds., EUROGRAPH1CS "88, North-Holland, Amsterdam, 343-355. Li, H. and Liu S.Q. (1992), Local interpolation of curvature-continuous surfaces, Computer-Aided Design 24(9), 491-503.

X. Ye, H. Nowacki / Computer Aided Geometric Design 13 (1996) 931-949

949

Loop, C.T. and DeRose, T.D. (1989), A multisided generalization of B6zier surfaces, ACM Trans. Graphics 8(3), 204-234. Nowacki, H., Liu, D. and Lti, X. (1989), Mesh fairing GC ~ surface generation method, in: Strasser, W. and Seidel, H.E, eds., Theory, and Practice of Geometric Modelling, Springer, Berlin, 93-108. Peters, J. (1992), Joining smooth patches around a vertex to form a C k surface, Computer Aided Geometric Design 9, 387-411. Peters, J. (1993), Smoothing free-form surfaces over irregular meshes generalizing quadratic splines, Computer Aided Geometric Design 10, 347-361. Sarraga, R.E (1987), G 1 interpolation of generally unrestricted cubic B6zier curves, Computer Aided Geometric Design 4(1-2), 23-39. Shirman, L.A. and S6quin, C.H. (1990), Local surface interpolation with shape parameters between adjoining Gregory patches, Computer Aided Geometric Design 7, 375-388. Wijk, J.J.V. (1986), Bicubic patches for aroximating non-rectangular control-point meshes, Computer Aided Geometric Design 3, 1-13. Ye, X. (1994), Construction and Verification of Smooth Free-Form Surfaces Generated by Compatible Interpolation of Arbitrary Meshes, Dr. K0ster Verlag, Berlin. Ye, X. (1995a), Generating B6zier points for curves and surfaces from boundary information, Computer-Aided Design 27, 875-885. Ye, X. (1995b), The Gaussian and mean curvature criteria for curvature continuity between surfaces, Computer Aided Geometric Design, to appear. Ye, X., Liang, Y. and Nowacki, H. (1995), Geometric continuity between adjacent B6zier patches and their constructions, Computer Aided Geometric Design, to appear.