an interpolant with tension defined over triangles

4
359 An Interpolant with Tension Defined over Triangles Leila de Floriani: Giuliana Dettori Abstract A C' interpolation scheme is described, which is defined over triangular grids. The interpolant is computed on the basis of curves with tension, which permit local control over the shape of the resulting surface. Keywords: Surface Interpolation, Tension, Tri- angular Patches. 1. Introduction Surface interpolation techniques, both defined over have been widely studied in the past few years, since they are a very useful tool in various applica- tion domains14 The most widely used schemes are locally piecewise defined and generate surfaces with C' continuity, thus producing graphical results which can represent the shape of a three- dimensional curved surface well. Surface interpolants, usually defined as boolean sum of curves, can generate surfaces with unwanted oscillations. Approximations, such as B-spline or Bezier surfaces14 do not present such disadvantages. The facility of changing the posi- tion of the knots or the order of the basis makes these approximation schemes very flexible and efficient. This procedure, however, is not possible or easy in any kind of application. An interesting approach to the problem of surface interpolation and flairing is represented by surfaces with ten- sion's which allow the user to locally change the appearance of the surface by simply varying its shape in a restricted number of patches. This approach, however, has been mostly considered for rectangular patches. In fact, rectangular interpo- lants are the easiest to be defined, since they are the natural extension of curve interpolants. Tri- angular ones, however, are necessary in order to fit a suitable grid to the shape of objects of any kind. The best known interpolation techniques over triangles are undoubtedly those developed in rectangles', Z 3,4,5.6,7 and triangles7,8,9,10,1 I, 12.13 Instituto per la Matematica Applicata dd C.N.R Via L.B. Albert& 4 16132 Gcnova (Italy) the finite elements method16 These schemes, how- ever, require information on second order deriva- tives or the solution of a linear system in each tri- angle. In graphical applications the positional and the first derivative values at the vertices of the tri- angular grid are usually the only available data. Furthermore, the interpolating surface must have at least a C' continuity to produce a good aesthetic result, and the amount of computations required to evaluate the surface in a triangle should be sufficiently small to allow the interpolant to be used in an interactive environment. Most triangular interpolation schemes employed in CAD have been developed for the standard triangle, that is a triangle with vertices at the points (O,O), (0,l). (1,O) in the parametric u -v space, in order to facilitate algebraic manipula- tions. As shown by Barnhill and Klucewicz,l~1* both Co and C' interpolants on a standard.triangle can be extended to a triangle of arbitrary shape by mapping it into the standard one and transforming normal derivatives into generic directional ones. In this paper we describe a C' bivariate interpolant which, analogously to most of the existing ones for triangular patches7*8*9* 14 1 I ,I6 is defined over the standard triangle. This scheme is evaluated as a blend of four interpolating curves with defined along the triangle sides. Unlike the other existing interpolants over trian- gles, this scheme has a local tension, that is the surface area of a patch can be locally changed by varying the arc length of the boundary curves. 2. Infroducingatension The scheme we propose in this paper represents the natural extension to triangular patches of an interpolant we defined on rectangular patches.15 This interpolant has a C' continuity and a local tension. It is evaluated in each patch as a boolean sum of two lofting projectors defined in terms of four boundary curves with tension,17 Ci(!), i = 1. . . , ,4 computed as described below. Given two consecutive points Pi and Pi+', we fit two parabolas, expressed in a parametric form, passing through the points Pi-', Pi, Pi+' North-Holland Computer Graphics Fomm 4 (1985)359-362

Upload: leila-de-floriani

Post on 02-Oct-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Interpolant with Tension Defined over Triangles

359

An Interpolant with Tension Defined over Triangles

Leila de Floriani: Giuliana Dettori

Abstract A C' interpolation scheme is described, which is defined over triangular grids. The interpolant is computed on the basis of curves with tension, which permit local control over the shape of the resulting surface. Keywords: Surface Interpolation, Tension, Tri- angular Patches.

1. Introduction

Surface interpolation techniques, both defined over

have been widely studied in the past few years, since they are a very useful tool in various applica- tion domains14 The most widely used schemes are locally piecewise defined and generate surfaces with C' continuity, thus producing graphical results which can represent the shape of a three- dimensional curved surface well.

Surface interpolants, usually defined as boolean sum of curves, can generate surfaces with unwanted oscillations. Approximations, such as B-spline or Bezier surfaces14 do not present such disadvantages. The facility of changing the posi- tion of the knots or the order of the basis makes these approximation schemes very flexible and efficient. This procedure, however, is not possible or easy in any kind of application. An interesting approach to the problem of surface interpolation and flairing is represented by surfaces with ten- sion's which allow the user to locally change the appearance of the surface by simply varying its shape in a restricted number of patches. This approach, however, has been mostly considered for rectangular patches. In fact, rectangular interpo- lants are the easiest to be defined, since they are the natural extension of curve interpolants. Tri- angular ones, however, are necessary in order to fit a suitable grid to the shape of objects of any kind.

The best known interpolation techniques over triangles are undoubtedly those developed in

rectangles', Z 3,4,5.6,7 and triangles7,8,9,10,1 I , 12.13

Instituto per la Matematica Applicata dd C.N.R Via L.B. Albert& 4 16132 Gcnova (Italy)

the finite elements method16 These schemes, how- ever, require information on second order deriva- tives or the solution of a linear system in each tri- angle. In graphical applications the positional and the first derivative values at the vertices of the tri- angular grid are usually the only available data. Furthermore, the interpolating surface must have at least a C' continuity to produce a good aesthetic result, and the amount of computations required to evaluate the surface in a triangle should be sufficiently small to allow the interpolant to be used in an interactive environment.

Most triangular interpolation schemes employed in CAD have been developed for the standard triangle, that is a triangle with vertices at the points (O,O), (0,l). (1,O) in the parametric u - v space, in order to facilitate algebraic manipula- tions. As shown by Barnhill and Klucewicz,l~1* both Co and C' interpolants on a standard.triangle can be extended to a triangle of arbitrary shape by mapping it into the standard one and transforming normal derivatives into generic directional ones.

In this paper we describe a C' bivariate interpolant which, analogously to most of the existing ones for triangular patches7*8*9* 1 4 1 I ,I6 is defined over the standard triangle. This scheme is evaluated as a blend of four interpolating curves with defined along the triangle sides. Unlike the other existing interpolants over trian- gles, this scheme has a local tension, that is the surface area of a patch can be locally changed by varying the arc length of the boundary curves.

2. Infroducingatension The scheme we propose in this paper represents the natural extension to triangular patches of an interpolant we defined on rectangular patches.15 This interpolant has a C' continuity and a local tension. It is evaluated in each patch as a boolean sum of two lofting projectors defined in terms of four boundary curves with tension,17 Ci(!), i = 1. . . , ,4 computed as described below.

Given two consecutive points Pi and Pi+', we fit two parabolas, expressed in a parametric form, passing through the points Pi-', Pi, Pi+'

North-Holland Computer Graphics Fomm 4 (1985) 359-362

Page 2: An Interpolant with Tension Defined over Triangles

360 L. de Floriani et a1 1 An Interpolant

and P I , PI + I , PI +Z respectively. The analytical expression of the two parabolas is obtained by assigning the following conditions on parameter t : t = - l at the first point, 1=0 at the middle point; r = 1 at the third point. The interpolating curve between the two points PI and PI + I is com- puted as a weighted average of the two parabolas by using the Hermite cubic polynomial as wugh- ing function:

w(t) = 1-3r2+2r3 O c t c l (2.1) The tension is then introduced into an arc of the resulting curve between two points PI and Pi + I by forcing the parameter I of the two parabolas to assume smaller values in the interval P, PI + I .

A rectangular surface patch (see figure 1) is thus defined as follows:

Q (u ,V = C I(U )W (V 1 + Cdu X 1 -W (V 1) (2.2)

+ cz(V )W (u + c4(V )(I- W (u 1) - Fnw (u )w (v ) - F 3 2 W (v )( 1 - w (u ))

-F~W(u)(l-W(v))

-F33(1 -w(u)Xl -w(v)) where the weighting function w(I), r=u,v is the same as the one employed for the interpolating curve and F,, denotes the positional value at point

The method is local, because each surface patch is computed only on the basis of the posi- tional values at twelve points, the four comers of the patch and their eight nearest ncighbours on the grid (see figure 1).

The four boundary curves C, have different tension parameters associated with them, are locally defined and require only positional data to be specified. On this basis, a surface patch can be

PI) *

Fig. 1. A Rectangular surface patch

modified. by varying one or more of its boundary curves, without aflecting, however, the continuity properties of the surface.

Compared with the schemes proposed by18 for defining rectangular bicubic surface patches with tension, our scheme has the considerable advantage of not requiring a specification or a pre- vious evaluation of derivatives at the corners of the patch. Thus, it can be successfully used when the values of the twist vectors at the corners are unknown and cannot be simply evaluated.

The triangular interpolant we propose is defined as well in terms of four boundary curves, which allows a similar introduction of the tension. In this case, however, it is not possible to deter- mine a C1 surface interpolant without sp-g gradient values at the patch comers because the sides concurrent into each point are parallel to more than two perpendicular directions. Therefore, for defining this new scheme, we use a variant of the curves with tension, which requires the specification of the slope at the end points.17 The tangent values at the extreme points of each trian- gle side are computed as the component of the gradient in the corresponding direction.

In this case, each boundary curve is defined on the basis of the positional values and of the first order derivatives at the two extreme points of the corresponding side. Piecewise curves which are computed according to this scheme have only a C1 continUity,17 but their use of tension remains unchanged.

3. "he triangular interpolant For the construction of a surface patch we define four boundary curves of the kind described in the previous section. Given a standard triangle of sides LI, Lz, L.3 (see figure 2), we interpolate curves Cl(u) and C~(V), respectively, along the two sides L I and Lz, which are parallel to the coordinate axes u - v , by using first order deriva- tives in the direction of the corresponding sides. Two curves C@) and C4(v) are defined along the side L3, based on the first order derivatives both in the Y and v directions, in such a way that:

Page 3: An Interpolant with Tension Defined over Triangles

L. de Flonbni et al. / A n Interpolant 36 1

Fig. 2. Curve definition along the sides of a standard triangle.

i j=O,l (see figure 2). The surface along L.3 is then approximated as C3(u)+ C4(v ) .

Note that defining two Werent boundary curves along L3, which correspond to the u and v direc- tions, is equivalent to considering the triangle as a rectangle with two coincident sides. This enables us to construct two perpendicular projectors QI and Q2 in the u and v directions as follows (see figure 3):

Combining the two projectors in a generalized boolean sum form gives the following analytical formulation of the interpolant as a nonlinear blend of the four boundary curves Ci :

Based on the properties of the employed curves, the scheme described results in a surface which is continuous in fist derivatives, independently of the values assigned to the tension parameter associated with the triangle sides.19 Moreover, because of its analytical formulation, the resulting surface has properties which are similar to those of the rec- tangular scheme described in section two.

Since each boundary curve has a proper ten- sion parameter, it is possible to mod@ a single patch in many Merent ways by independently tightening its boundary curves. Modifications have a strictly local effect on the surface shape, since each curve contributes only to the definition of two contiguous patches. Therefore, when vary- ing the tension in a given patch, at most the three contiguous ones are modified.

The surface interpolates exactly the boun- dary curves along the triangle sides. A patch reduces to the plane passing through its corner points when tension values tend to infinity, since in this case the boundary curves approach their corresponding straight-line segments. Unlike other interpolants over triangles! t h i s scheme requires only positional and gradient data. When gradient data are not available, their values can be approxi- mated by using a suitable procedure, as, for instance, the one suggested by De Floriani and Detorri.*6

Fig. 3. Lofting projectors parallel to the u and v directions.

Page 4: An Interpolant with Tension Defined over Triangles

362 L. de Flofiani et aL 1 An Interpohnt

4. Condusion A surface interpolation scheme has been described.

The interpolant has C’ continuity, which is necessary to produce visually acceptable, smooth surfaces.

The method is local, which contributes to efficient computation. It can be used on triangular grids, which are often adopted to discretize the boundary of curved objects suitably. The scheme is defined over the standard triangle, but it can be easily extended to triangles of arbitrary shape.

The interpolant is computed on the basis of curves with tension, hence allowing the shape of a surface to be locally modified without requiring cumbersome computation. This feature merentiates the scheme from others usually employed for surface interpolation over triangles. The tension facility turns out to be very useful in producing representations closer to the real shape of an object.

References

1.

2.

3. 4.

5.

6.

7.

Barnhill, R.E., “Representation and Approx- imation of Surfaces,” Math. Sofi. III , pp.

Barnhill, R.E., J.H. Brown, and LM. Klu- cewicz, A New Twist in Computer Aided Geometric Design, Comp. Graph and Image Processing (1978). MIT Pr. MAC TR-41 (June 1967). Forrest, A.R., “On Coons and Other Methods for the Representation of Curved Surfaces,” Comp. Graph and Image Process- ing l(3) pp. 341-359 (1972). Akima, H., “A method of bivariate interpo- lation and smooth surface fitting based on a local procedure,” Comm ACM 17(1) pp.

Gordon, W.J., “Blending Function Methods of Bivariate and Multivariate Interpolation and Approximation,” SIAM J. of N w n Anal. 8 pp. 159-177 (1971). Barnhlll, R.E., “Blending Function Interpo-

69- 120. ( 1977).

1 8-20 (1 974).

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

lation, - A Survey and Some new RCSU~’’ proc. of the Conference on Numerical Methods in Approximation Theory, pp. 43-90 (Oberwohlfach, 1975). Barnhill, RE., G. Birkhoff, and W.J. Gor- don, “Smooth Interpolation in Triangles,” J. Approx. Theory 8 pp. 1 14-128 (1973). Barnhill, R.E., “Smooth Interpolation over Triangles,” Computer Aided Geometric Design“, pp. 71-87 (1974). B a d i l l , R.E. and J.A. Gregory, “Compati- ble Smooth Interpolation in Triangles,” J. Approx. Theory 15 pp. 726-735 (1975). Hulme. B.L., “A new Bicubic Interpolant over the Right Triangle,” J. Approx. Theory 15 pp. 66-73 (1972). KlucewicZ, I.M., “A Piecewise C’ Interpo- lant to Arbitrarily Spa& Data,” Comp. Graph. and Image Processing 8 pp. 92-1 13 (1978). Gregory, J.A. and P. Charrot, “A C’ Tri- angular Interpolant Patch for Computer Aided Geometric Design,” Comp. Graph and Image Processing 13 pp. 80-87 (1980). Barnhill, R.E. and R.F. Riesenfeld, Com- puter Aided Geometric Design. 1974. De Floriani A. and G. Dettori, “An Interpo- lation Method for Surfaces with Tension,” A h . Eng. Softwae 3 pp. 151-154 (1981). De Floriani L. and G. Dettori, C’ Schemes for Defining 3D Surfaces. Las Palmas, 1982. Dettori, G., “Interpolation for CAD Using Curves with Tension,” Numerical Methodr in Engineering, pp. 963-973 Dunod, (Paris, 1980). Dube, RP., “Tension in a Bicubic Surface Patch,” Comp. Graph. and Image Processing 6 pp. 394408 (1976). De Floriani L. and G. Dettori, A C’ Sur- face interpolant with Tension De6ned over the Standard Triangle, Tech. Rep. I.M.A. (Genova, Italy (in Italian)).