Representing PDE surfaces in terms of B-splines

Representing PDE surfaces in terms of B-splines

Representi ng PDE surfaces in terms of B-splines M I G Bloor and M J Wilson A method is presented for approximating surfaces, which are the solutions...

889KB Sizes 0 Downloads 25 Views

Representi ng PDE surfaces in terms of B-splines M I G Bloor and M J Wilson

A method is presented for approximating surfaces, which are the solutions of partial differential equations, in terms of B-splines so that they can be represented in a form which is compatible with more established techniques of surface design. This allows surface data generated in this way to be incorporated into other design systems. Furthermore, the properties of B-splines can be used to good effect to enhance the PDE method, and this is illustrated by exercising local control of the surface shape in one of the examples given in the results. geometry, surfaces,partial differential equations, B-splines Bloor and Wilson ~have introduced a method for surface design which is based upon the notion that a surface can be produced as a solution to a partial differential equation (PDE). In various papers 2 4 they have indicated the ways in which, by a suitable choice of PDE and boundary conditions imposed upon its solution, surfaces satisfying a wide range of functional requirements can be created. Although this method has many features in common with other, more established, techniques of surface design ~ 10 _ for instance the surfaces are obtained as parametric functions of two surface coordinates - from the conceptual point of view it is rather a departure from the norm of accepted practice in this area (see Piegl ~1 for a review). What is new about the method is its philosophy regarding surface manipulation and the selection of surfaces with desirable properties, which is basically that of a boundary-value approach. However, it is the aim of this paper to show that from the purely practical point of view the surfaces produced by the PDE method can be expressed, or rather approximated, in terms of conventional tensor product surfaces. In particular, a technique for expressing the PDE surfaces in terms of B-splines will be examined. In CAD, there is a need to be able to exchange the specification of various components 12, and obviously this will be a problem if there is a difference in the representational techniques that they employ. As spline-based curves and surfaces are so widespread throughout CAD, provision for the transfer of geometric data stored in this form is part of many industry data transfer standards, including for example, IGES~. This

Department of Applied Mathematical Studies, The University of Leeds, Leeds LS2 9JT, UK Paper received: 18 August 1989. Revised: 22 January 1990

324

is a compelling reason for wishing to express PDE surfaces in terms of B-splines, and the authors hope in the course of this paper to convince the reader that surfaces derived from a PDE can be made to 'interface' with more conventional systems.

PRELIMINARY REMARKS In previous papers, the authors sought PDE surfaces both numerically and as closed form solutions 1'~'4. In the majority of practical cases, where the boundary conditions are arbitrary, an approximate numerical solution is all that can be obtained. Nevertheless, time was devoted to simple closed-form solutions for two reason s: • it is far easier to illustrate the underlying properties of the surfaces • surfaces having a wide variety of shapes and functions can be expressed as relatively simple closed forms. However, this being said, if PDE surfaces are to be expressed in terms of B-splines, it is desirable that this is done in the context of numerical solutions. This almost inevitably follows from the fact that if one is dealing with elliptic PDEs with differentiable coefficients, then the surfaces obtained will be infinitely differentiable (vector-valued) functions of the surface parameters, except perhaps on the boundaries of the patch (see for example, Bloor and Wilson2'4). B-splines of degree k, however, are only continuously differentiable (k - 2) times 14'1~ and are therefore incapable of exactly representing those surfaces that we are interested in. We must be content with an approximate solution expressed in terms of a finite set of B-splines. The surfaces thus obtained are not exact solutions to the original boundary-value problem, but they do have the virtue of being genuine tensor-product surfaces 1~, which have B-splines as their basis functions. Furthermore, by using enough knot points, the exact solution to the PDE can be approximated to arbitrary accuracy. Thus, it can be ensured that the data for the approximate surface has the twin virtues of being in a standard format, thereby facilitating transfer to other CAD systems, and also of sharing many of the desirable properties of the true PDE surface. There are a number of ways of approximating the solution to a PDE in terms of B-splines. The approach followed here is the method of collocation ~6'~7as it is one of the easiest to understand and implement. We will also concentrate our discussion upon trying to solve

0010--4485/90/060324 07 IC 1990 Butterworth-Heinemann Ltd

computer-aided design

the types of PDE that we have been most concerned with up until now; these are based upon the biharmonic equation V4~ = 0 and for our purposes may be written ~2

c~2 "~2 + a'

(1)

x=0

where the 'smoothing parameter' a has in the past been taken to be a constant, although this is not strictly necessary. Equation (1) is solved over a closed region in the (u, v) plane that is subject to boundary conditions on X, X~ and/or Xv.

COLLOCATION AND ORDINARY DIFFERENTIAL EQUATIONSFor simplicity, the discussion will begin with a description of how the method of collocation can be used to solve the ordinary differential equation d 4

--x=f(u) du 4

(2)

for u in the range [0, 1], subject to the boundary conditions x(0) = a, x'(0) = b, x(1 ) = c, x'(1 ) = d, where we have chosen a fourth order equation to be consistent with the PDE we eventually wish to solve. Note that for a general function f(u), the numerical solution obtained will be approximate. However, if f ( u ) - 0 the solution to equation (1) would be a cubic polynomial which the method described below could calculate exactly (to within the limits set by machine accuracy). Note also that if similar equations were to be solved for y and z, the function X -- (x(u), y(u), z(u)) could be regarded as a B-spline curve. The aim of the method of collocation is to find an approximate solution ;~ to equation (2) of the form N

~=~

amain(u)

(3)

0

where am are coefficients to be determined and the ~m are (N + 1 ) linearly independent basis functions in terms of which the approximate solution is expressed as a linear sum. In this case these basis functions are required to be B-splines. The method of collocation determines the coefficients am by insisting that the approximate solution ~ satisfies the differential equation (2) at n distinct points within the range of u, thus N

~., amC~Vl(u,) = f(ui)

for i ----0, 1, ..., n

(4)

0

where the points u~, at which the differential equation is satisfied, are known as the collocation points. The approximate solution must also satisfy the four boundary conditions which results in a linear system of algebraic equations of the form Aa = f

volume 22 number 6 july/august 1990

(5)

where A is a (n + 5 ) x (n + 5) matrix derived from equation (4) and the four boundary conditions, and a is a vector whose (n 4- 5) coordinates are the unknown coefficients am which are to be determined by the solution of (5). Thus, the number of basis functions (N-I-I) is related to the number of boundary plus collocation conditions (n 4- 5) by N + I = n 4- 5. For our purposes, because we require that the basis functions be not only B-splines, but also at least four-times differentiable, this means that the approximate solution must be expressed as the linear sum of, at the very least, quintic splines. Thus, as it is not desirable to add any more complication than is strictly necesssary, quintic B-splines will be used as the basis functions throughout the following discussion. As for the collocation points, even though their choice is somewhat arbitrary, they will be chosen to be equally spaced within the interval [0, I] and correspond to the B-spline knot points. This means that the coefficients am in the approximate solution correspond to the values of the B-spline control points. Suppose that the interval [0, I ] is partitioned into N intervals of spacing h = I/N, that the coordinate of a point labelled u~ = ih, and that at each point ui is centred a piecewise quintic B-spline B~(u) given by ((ui+3-u)S)/h s

l (h ~+

l I I

I

I

ifu~[ui+2, ui+3]

5h4(ui+2-- u ) + 10h3(ui+2- u) 2

+ 10h2(ui+2 - u) 3 +

5h(ui+2 -- u) 4

- 5 ( u i + 2 - - u ) S ) / h ~ if u~[u,+1, ui+2] (26h s + 50ha(ui+1 - u) + 20h3(ui+1 - u) 2

- 20h2(ui+~ - u) 3 - 20h(ui+1 - u) 4 + 1 0 ( u i + 1 - u ) 5 ) / h 5 ifu~[ui, ui+1]

Bi(u) = ~i (26hS + 50h4(u -- ui-1) + 20h3(u - ui-1) 2 l

20h2(u-ui-1)3-2Oh(u-ui-1)

I

10(u-ui_1)S)/h s

l I

4

(6)

if u~[ui-1, ui]

(h s + 5 h a ( u - u i - 2 ) + 1 0 h 3 ( u - ui-2) 2 + 1 0 h 2 ( u - ui_2) 3 + 5 h ( u 2)5)/h s

ui_2) 4

I

-5(u-ui

ifu~[ui_2, ui-1]

~,

((u-ui_3)S)/h s if u~-[ui-3, ui 2]

0 for all other u Such a set of B-spline basis functions is sometimes referred to as a set of periodic splines TM. Note that the way in which these B-splines are normalized is largely irrelevant, apart from the fact that they should be normalized identically to avoid complications in the numerical solution process. The attempt to express the solution to equation (2) as the linear sum (3), is essentially an attempt to approximate this solution as a piecewise quintic curve defined on the above partition of [0, 1]. Now, any arbitFary piecewise quintic curve can be constructed from a linear sum of quintic B-splines of type (6), but only if we include splines centred upon knots lying

325

outside the interval 10, 11, which may be labelled m = -2, -1, N + 2, N + 3 (see Prenter16). So, we have (N + 5) B-spline basis functions whose coefficients can be determined from the (N + 5) linear equations derived from the four boundary conditions and from the requirement that the approximation satisfies the differential equation at the (N + I) collocation points. It is straightforward to solve the system of equations (5) that results in this case, as plenty of methods for the solution of linear systems exist (for which the interested reader should consult any textbook on numerical analysis, e.g. Ortega and Poole” or Burden and Faire?‘). It is useful to have some theoretical estimate as to the accuracy of the method, if only for the sake of comparison with the accuracy one achieves in practice. Estimates for the accuracy of the collocation method applied to the solution of second-order ordinary differential equations are given in Prenter” and Ortega and Poole”. By applying similar arguments to the solution of fourth-order equations, the maximum norm of the error might be expected to decrease like h*, providing that f(u) is sufficiently smooth. In practice such a rapid decrease in the error may not be so easily achieved”. However, as noted above, in the case of f(u) = 0, where we have the nearest one-dimensional equivalent to the PDEs that we eventually wish to solve, the analytic solution is a cubic polynomial in u, and so the quintic B-spline approximation to the solution that we calculate, actually gives the exact solution (to within machine accuracy).

COLLOCATION

AND

PARTIAL

DIFFERENTIAL

EQUATIONS The principles underlying the application of the method of collocation to the solution of partial differential equations are very similar to those involved when using the method to solve ordinary differential equations. The main differences lie in the choice of basis functions and in the imposition of the boundary conditions. Consider solving the equation

(7)

over the region R: [O, 11 x 10, I]. The boundary conditions imposed on the solution of this equation are such that on the boundary aR of this region the value of X and its normal derivative in the (u, v) plane (X, or X, as appropriate) are specified. In previous papers, the authors have shown how particular solutions of this equation, generated by appropriate choices of boundary conditions, may be used to generate blends or free-form surfaces1,4. To solve such an equation by the method of collocation, we look for an approximate solution of the form Nf2 E =

326

c

1=-L

M+2 1 j=-2

ajiB,(u)B,(v)

(8)

where ~CLJ,VI is the surface that approximates the PDE surface X(u, v). As our aim is that the solution be obtained in the form of a tensor product B-spline surface, B,(w) is chosen to be a set of periodic B-splines that span the space of piecewise quintic polynomials defined on the w interval 10, 11, exactly as described in the previous section. The vectors a,, are constants to be determined. For simplicity it is assumed that N = M (although there is no reason why this should be the case). Furthermore, there is no reason why the parameter ranges for u and v should be 10, 11, or identical for that matter. It is a simple enough matter to accommodate these cases. Also, there is no particular reason why the B-splines should be uniformly spaced since non-uniform spacing can improve the accuracy of the method16,“, although non-uniform knot spacing certainly adds a degree of complication to the solution process. The solution is sought over the unit square IO, 11 x 10, 11 in the (LJ, v) parameter plane. Again, for simplicity, it is assumed that the collocation points correspond to the B-spline knot points, and from the discussion of the previous paragraph it is clear these points have (u, v) coordinates given by (ih, jh) where h = 1 lN. Thus, over the region 10, 11 x IO, 11, there are (N + I) x (N + I) collocation points giving rise to 3(N + I) x (N + I) linear equation for the unknown coefficients vector {a,,}. There are, however, 3(N + 5) x (N + 5) of these coefficients to be determined and so an additional 3(8N + 24) equations are still required to completely determine the set {a,,}. These equations can be obtained in a variety of ways from the boundary conditions, but perhaps the most obvious is as follows. We have 4N knot points around the boundary. If we remember that the value of X is specified at these points, this gives 3(4N) equations leaving 3(4N + 24) still to be found. A further 3(4N - 4) equations can be obtained from the condition that at those boundary knot points which are not corner points, the normal derivative of X (X,, or X, as appropriate) is specified. Which leaves 3(20) conditions still to be found. These can be obtained from the fact that the variation of X and its normal derivative around the edges of the patch allows us to deduce X,,, X,, X,,, X,,,, X,,, at the four corners; and so, by insisting that the corresponding derivatives of X take these values at the corner points, this provides an extra 3(20) conditions that can be imposed upon the numerical solution. Note that this is a valid. are entirely procedure because these conditions consistent with the boundary conditions, that is, no information other than that contained in the original formulation of the PDE problem needs to be supplied. The only circumstances in which this would not be valid would be if the specified boundary conditions on X and its normal derivatives implied a singularity at the corner points; in which case a simple polynomial representation of the solution would not be possible and a special account must be taken of the singular form of the solution’. The situation is less complicated if a periodic solution is sought where one of the two pairs of isoparametric lines that bound the surface are closed curves, say u = 0 and I_I= 1. This is the case with the ‘blend-like’

computer-aided

design

solutions discussed by BIoor and WilsonL In this situation, the solution for the surface X(u, v) is such that X(u, 0 ) = X ( u , 1);

Xv(u, 0)--Xv(u, 1)

where as and bs are vector-valued constants, which can be determined by solving equation (7) subject to the following boundary conditions

(9) X(0, v) = (r cos(2xv), r sin(2xv), H),

which, in effect, means that one of the boundaries v--0, 1 is redundant. Hence, the number of linear equations from which to determine the set {a~j} of B-spline control points is: 3 N ( N + I ) ( 3 x number of collocation points) + 3(2N) (3 x number of boundary knot points at which the value of X is specified) + 3(2N) (3 x number of boundary knot points at which the value of Xu is specified) = 3(N 2 + 5N). Let us remember, however, that now the solution is periodic the number of control points a~j is no longer 3(N + 5) 2. In particular, since B 2(v)=BN_2(v)

B~(v) = BN÷I(v)

B_I(v)=B N ~(v)

B2(v) = BN+2(v)

B0(v)=BN(v)

(10)

the number of independent B-spline coefficients that must be found is 3 N ( N + 5). Thus the number of equations we obtain from the collocation and boundary conditions is equal to the number of unknowns in the problem. Having used the boundary and collocation conditions to form a linear system of equations it is then, as before, a relatively straightforward matter to solve this linear system by use of the many techniques available to find the B-spline control points. The technique employed to obtain the results shown in the next section was Gauss-Seidel relaxation TM.

X(1, v) = (R cos(2xv), R sin(2xv), --R tan ~ cos(2xv)) Xu(0, v ) = (0, 0, s)

(12)

Xu(1, v ) = (a sinh(a) cos(2xv), a sinh(a) sin(2xv), - a tanh(a) R tan ~ cos(2xv)) In this example, the various constants in the above boundary conditions have the values r = 1 (cylinder radius), R = 2, tan 0~---1/4 (~ is the angle the plane makes with the xy plane), s = --1, H = 1, a = Iog(R + (R2 - 1)1/2)/2x. Colour plate 1 shows a shaded image of the B-spline approximation to this blend. The image has been produced by smooth Phong shading a set of facets (40 x 40) generated from the B-spline surface on a Sun 3/60 workstation. For the surface shown in Colour plate I the knot spacing h = 1/10 (15 x 15 knot points) and Figure 1 shows the mesh of control points for this surface. One advantage of expressing a PDE surface in terms of B-splines is that a degree of local control of the surface is now possible by moving vertices of the control point mesh. However, one must ensure that only those vertices that do not affect the boundaries of the blend are moved, so as to ensure that tangent continuity between the blend and the adjoining primary surfaces is maintained. Colour plate 2 shows the cylinder to plane blend after having been altered in this way, while Figure 2 shows the modified control point mesh.

RESULTS To illustrate this method in operation we have calculated two blending surfaces that were previously discussed by BIoor and Wilson 1. In particular, we show a blend between a cylinder and an inclined plane and a blend between two cylinders of unequal radius intersecting with their axes crossing and orthogonal. In the former case, a simple closed-form solution is achieved for the blend which enables the accuracy with which the calculated B-spline surface approximates the exact surface to be investigated. Unfortunately, in the latter case it is not possible to obtain a closed-form solution for the PDE surface.

Figure 1. Control point mesh for blend surface shown in Colour plate 1

Cylinder-inclined plane blend The blend between the cylinder and inclined plane has a solution of the form X(u, v) = A0(u) + Al(U) cos 2~v + Bl(U) sin 2~v (11) where Ao = a0o + ao~u + a02u2 + ao3U3 A~ = a~e au

-Jr- a 2 u e au -~- a 3

e au + a4 u e au

B1 = b~eau + b2u eau+ b3 e -au + b4u e -aU

volume 22 number 6 july/august 1990

Figure 2. Control point mesh for blend surface shown in Colour plate 2

327

It is clear that because the numerical method is convergent (providing that the problem has been properly posed), an increase in the number of knot points, and hence the resolution of the numerical collocation scheme leads to the surface being rendered with increasing accuracy. This effect is quantified in Table 1 where the influence is shown of numerical resolution (given in terms of the distance h between knot points) on the accuracy of the solution. For all the surfaces calculated in Table 1, we have used the discrete norms given by equations (13) and (14) evaluated over a regular mesh of points in the (u, v) plane whose coordinates are given by (iT, jr) where L j = 0 . . . . . 50 and ~ = 1/50. Figure 3 shows a plot of log(error) against log(mesh size) for both estimates of the error, and from it one can see that the error is decreasing approximately like h 2. Note that not only are these errors small in a physical sense (0(10 -3) - 0(10 -5) compared to an overall size for the object of 0(1)), but also their decrease with mesh size is in accord with theoretical predictions for the asymptotic accuracy of the collocation method 16'~7. Now, although it is far from clear which is the most appropriate way in which to measure the deviation of Table 1. Effect of numerical resolution on accuracy of solution

Mesh size (h x h)

Euclidean norm

Maximum norm

h=1/5 h = 1/10 h=1/15 h=1/20 h=1/30

1.01 x10 3 1.85 x 10 -4 8.11x10 ~ 4.51 x 10 ~ 2.02x10 ~

1.85x10 ~ 2.96 x 10 4 1.29x10 4 7.22 x 10 3.276x 10

the B-spline approximation from the true surface, the authors have chosen the following two measures, both of which have an obvious geometric significance: Discrete Euclidean norm

error =

(X(i~, j l : ) - X(ir,/~))2

where X is the exact solution and X is the B-spline approximation. The double sum is carried out over M points on the surface which, to obtain a 'good' measure of the accuracy, should be large, in some sense; (51 x 51)in the present case. Discrete m a x i m u m norm

error =

max

tX(i'c, j r ) -

X(ir,/~))1

(14)

u, ~,~ ~l), r, 2~ . . . . . . ~ r [

which measures the maximum distance between the two surfaces at a discrete number of corresponding (u, v) values. Both methods of estimating the difference between the two surfaces provide a measure of the Euclidean distance between corresponding points on the surfaces; in one case, the root mean square distance, and in the other case, the maximum distance. In both these cases, as the number of points at which the two surfaces are compared increases, the two norms provide increasingly better measures of the deviation between the two surfaces, and in their respective limits tend to the continuous norms

II(X(u'v)-X(u'v))H2=t£'L) --X(u, v)) 2 d u d v ) 1'~

-2.8

13 )

(X(u, v) (15)

-3.0

II (X(u, v)- ~(u, v))II ~. = max IX(u, v)--X(u, v)) I

-3.2

u ~[0,1

r~

(16) -3.4

o -3.6 -3.8

-4.0

-4.4 -4.6 -1.40

-1.30

-1.20 -1.19 -1.00 -0.90 Lo 9 ( k n o t s p a c i n 9)

-0.80 -0.70

Figure 3. Plot of log(error) against log(knot spacing) for a B-spline approximation to a PDE blend between a cylinder and an inclined plane. Note that two estimates of the error ( RMS distance and maximum distance) have been given

328

As we can only sample at a discrete number of points, immediately the question arises of whether the discrete measures being used provide an accurate indication of the deviation between the two surfaces. In principle, even though the two surfaces may approach closely at the sampling points, there may be large distances between the surfaces of places that lie in between the sampling points. We would suggest that as the 'scale' on which B-spline surface can vary is determined, in part, by the spacing between the knot points in the (u, v) plane, it seems reasonable to suppose that the spacing between the sampling points in the (u, v) plane is 'smaller' than the knot spacing. Cylinder-cylinder

blend

Colour plate 3 shows a B-spline approximation to the cylinder to cylinder blend calculated with a mesh of

computer-aided design

Figure 4. Control point mesh for blend shown in Colour plate 3 control points such that h = 1/10 (15 x 15 knot points), while Figure 4 shows the control point mesh for the surface. The boundary conditions imposed on this solution are of the form X(0, v) = (r cos(2xv), r sin(2xv), h) X(1, v ) = ( R cos(2xv), R sin(2xv), p--R~)

(17)

x,,(O, v ) = (0, O, s) X~(1, v ) = t(R cos(2~v), R sin(2~v), _ (R2 cos2(2xv))/p) where, in the example considered below, r = 2 and R~=4 are the radii of the two cylinders, R = 3, p = (R~ -- R2 cos22xv)~:2,s = -- 1, t = 0.25, h = 1. Between the blend, to which this B-spline surface is an approximation, and the two cylinders there is tangent continuity. As there is no simple closed-form solution for this blend, it is not possible to compare the B-spline surface with the exact solution, and so there is no easy way to monitor how the accuracy of the scheme increases with resolution (although, in principle, this should be possible by looking at how the solution changes with h). However, for what it is worth, a simple visual comparison of the shaded images of this surface generated by h = 1 / 5 and h = 1 / 1 0 control point meshes shows no discernible difference between the two resolutions.

CONCLUSIONS A method has been demonstrated for using B-splines to represent the PDE surfaces that have been discussed previously by Bloor and Wilson. Although the B-spline surfaces will not, in general, be exact representations, for sufficiently large control meshes the B-spline surface can be made to approach arbitrarily closely to the exact solution. In fact, for the surfaces discussed above, quite modest control meshes are capable of rendering the PDE surfaces to a high degree of accuracy.

volume 22 number 6 july/august 1990

In the interest of simplicity, this method has been illustrated by using elementary B-splines for the basis functions. B-splines with multiple knot values at u = 0 and u ~- 1 could have been chosen, as they are often used for the representation of non-periodic curves and surfaces in CAD 14'~s. However, since our surfaces were periodic in one direction and any spline basis with multiple knot values can be expressed as a linear combination of the spline basis we have used, it was found to be more convenient computationally to avoid multiple knot values. It is a simple enough task to take a surface generated by one set of B-splines and represent it in terms of the other set. However, one need not limit oneself to ordinary B-splines. For example, in both the above examples, at least one of the trimlines terminating the blend is a simple conic, and as such is incapable of being represented exactly by the B-spline curve which bounds the B-spline blend surface ~'9. If exact function continuity between the blend and the primary surface to which it joins is required, then an appropriate choice of basis functions would be rational B-splines is which are capable of representing conic sections exactly 6'9. To illustrate the principles of the method the authors have confined their attention to particularly simple surfaces with constrained boundary conditions. Clearly this approach could be used to deal with any surfaces or combination of surfaces which are solutions of PDEs. In particular the method would be of value in dealing with free-form surfaces, not only for the advantages rising from the conventional representation, but also from the use that could be made of the local control which is inherent in this method. The scope that can be achieved in this way can be gauged by reference to an earlier paper concerned with free-form surface design 4 where the versatility of the method and the influence of design parameters are discussed.

REFERENCES 1 Bloor, M I G and Wilson, M J 'Generating blend surfaces using partial differential equations' Comput. Aided Des. Vol 21 No 3 (1989) pp 165-171 2 Bloor, M I G and Wilson, M J 'Generating N-sided patches with partial differential equations in Earnshaw, R A and Wyvill, B (eds) Advances in Computer Graphics Springer-Verlag (1989) pp 129-145 3 Bloor, M I G and Wilson, M J 'Blend design as a boundary-value problem' in Geometrical Modeling: Theory and Practise Straber, W and Seidel, H-P (eds) Springer-Verlag (1989) pp 221-234 4 Bloor, M I G and Wilson, M J 'Using partial differential equations to generate free-form surfaces' Comput.-Aided Des. Vo122 No 4 (1990) pp 202-212 5 Varady, T 'An experimental system for interactive design and manufacture of sculptured surfaces' Comput. in Ind. Vol 3 (1982) pp 125-135

329

6 Tiller, W 'Rational B-splines for curve and surface representation' IEEE Comput. Graph. Appl. Vol 3 No 4 (1983) pp 61-69

12 Wilson, P R 'A short history of CAD data transfer standards' IEEE Compul. Graph. App/. Vol 7 No 6 (1987) pp 64 67

7 B~zier, P E The Mathematical Basis of the UNISURF CAD system Butterworth (1986)

13 Smith, B, Rinaudot, G R, Wright, T and Reed, K A 'IGES Version 4' US Department of Commer(e (1988)

8 Woodward, C D 'Cross-sectional design of spline surfaces' Comput. Graph. Vol 11 No 2 (1987) pp 61-69 9 Piegl, L and Tiller, W 'Curve and surface constructions using rational B-splines' Comput.Aided Des. Vol 19 No 9 (1987) pp 485-498

10 Woodward, C D 'Skinning techniques for interactive B-spline surface interpolation' Comput.-Aided Des. Vol 20 No 8 (1988) pp 441-451 11 Piegl, L 'Key developments in computer-aided geometric design' Comput.-Aided Des. Vol 21 No 5 (1989) pp 262-273

330

14 Mortenson, M E Geometric Modeling WileyInterscience 1985 15 Faux, I D and Pratt, M J 'Computational Geometry for Design and Manufacture' Ellis Horwood (1979) 16 Prenter, P M Splines and Variational Methods WileyInterscience (1975) 17 Ortega, J M and Poole, W G An Introduction to Numerical Methods for differentialequations Academic Press (1981) 18 Burden, R L and Faires, J D Numerical Analysis (3rd ed) Prindle, Weber & Schmidt (1981)

computer-aided desigr

C010ur plates Representing PDE surfaces in terms of B-splines M I G Bloor and M J Wilson

Colour Plate 1. Phong shaded image of a B-spline approximation to a PDE blend from a cylinder to an inclined plane

Colour Plate 2. Phong shaded image of a PDE blend from a cylinder to an inclined plane which has been modified by an adjustment to the control point mesh

Colour Plate 3. Phong shaded image of a B-spline approximation to a PDE blend between two mutually orthogonal and intersecting cylinders

Discrete bilinear blending and its application in rendering curved surfaces C W A M van Overveld

Colour Plate 1. Several examples of the result of the algorithm

volume 22 number 6 july/august 1990

331