Purdue University Purdue e-Pubs

Department of Computer Science Technical Reports Department of Computer Science

1990

Unifying Parametric and Implicit Representations for Computer Graphics: Display and Algebraic Surface Fitting

Changrajit L. Bajaj Report Number: 90-995

Bajaj, Changrajit L., "Unifying Parametric and Implicit Surface Representations for Computer Graphics: Parametric Surface Display and Algebraic Surface Fitting" (1990). Department of Computer Science Technical Reports. Paper 846. https://docs.lib.purdue.edu/cstech/846

This document has been made available through Purdue e-Pubs, a service of the Purdue University Libraries. Please contact [email protected] for additional information. UNWYING PARAMETRIC AND IMPLICIT SURFACE REPRESENTATIONS FOR COMPUTER GRAPIDCS: PARAl\ffiTRIC SURFACE DISPLAY AND ALGEnRAIC SURFACEFI1TING

Ch:lIldl"lljit L. ll11jllj

CSD TR-995 July 1990 Unifying Parametric and Implicit Surface Representations for Computer Graphics: Parametric Surface Display and Algebraic Surface Fitting

Chandcrjit Bajaf Department of Computer Science Purdue University West Lafayette, IN 47907

Abstract These are brief survey notes on recent progress in topics dealing with rational surface display aod surface fitting with piecewise algebraic surface patches. It is hoped thai the reader shall delve deeper into specific technical results, by tracking the numerous citations to references provided. Several pictures (unfortnnately grey scale images) are included to illustrate the results of certain algorithms. These notes arc part of a course to be taught at this year's Siggraph 1990. Slides of the course arc also included in the appendix.

'Supported in part by NSF granl D~lS 88-16286 and aNR conlrad NOOOH-88-K-0402

1 1 Introduction

Rationality of the algebraic curve or surface is a. restriction where advantages are obtained from having both the implicit and rational parametric representations. Numerous facts on rational algebraic curves and surfaces can be gleaned from books and papers on analytic geometry, algebra and algebraic geome­ try, see for example [61, 70, 69, 78]. For example, a real algebraic surface, in three dimensional space, is represented implicitly by the single polynomial equation !(x,y,z) = 0 where coefficients of f are over the real numbers nt, and paramctcrically by the three equations (x = G1 (s, t),y = G2(s, t),z = G3 (s, t)) where the Gil i = L ... ,3 arc rational runctions, i.e. ratio of polynomials and where coefficients of the G; are again over the real numbers JR. Simpler algorithms for geometric modeling and computer graphics are possible when both implicit and parametric representations are available, see for e.g. [11, 36]. For example for shaded displays, the parametric form yields a simple way of polygonalizing the surface, while the implicit form yields an efficient calculation of the exact normals of the surface at each of the vertex endpoints of the constrllcted polygonal mesh. \Ve utilize both these advantages, and others, to derive

1. efficient methods for displaying rational quadric (degree two) and cubic (degree three) algebraic surfaces (and hypersurfaces in higher dimensions) by contructing adaptive, curvature dependent

polygonalizations.

2. algorithms for constructing smooth meshes of algebraic surface patches, by using interpolation and/or least-squares approximation through scattered points and curve data ill space, as well as

over given triangulations.

Why ldgebraic slIr/aces? i\Ianipulating polynomials. as opposed to arbitrary analytic functions, is computationally more efficient. Furthermore algebraic surfaces provide enough generality to accurately model almost all complicated rigid objects. Also as we show here, algebraic curves and surfaces lend themselves very naturally to the problems of display and surface fitting. Why implicit representations? Ivlost prior approaches to interpolation and surface fitting, have

focused all the parametric represent.ation of surfaces [28.63]. Contrary to major opinion and as we exhibit here, implicitly defined surfaces are also very appropriate. Additionally, while all algebraic sur­ faces can be represenled implicitly, only a subset of them have the allernate para.metric representation.

2 witll X. Y and z given explicitly as rational functions of two parameters. \Vorking , ith implicit alge- hraic surfaces of a fixed degree, thus provides a larger number of surfaces to design , ith. Furthermore. implicit algebraic curves and surfaces have compact storage representations and form a class which is closed under most common operations (boolean set operations. offsets etc.) requirec1 by a geometric design system. When are algebraic curves and surfaces rational? In the , all conics (degree two curves) and all singular cubics (clegree three curves with a singularity) arc rational. Similarly, quartics and higher order curves are rational if and only if they possess the maximum possible number of singularities. The d<'fkiency of singularities in a cun·c from the maximum possible number is known as the genus of the curvc. An algebraic curve is thcn rational if and only if its genus is zero [see for e.g. [68,1.1]]. In three dimensional space, all degree two algebraic surfaces (quadrics or conicoids), are rational. All degree three surfaces (cubic surfaces or cubicoids), except the cylinders of nonsingular cubic curves and the cubic cone, have a rational parameterization, with the exceptions again only having a param­ eterization of the type which allows a single square root of rational functions. ~vIost algebraic surfaces of degree four and higher are not rational, although parameterizable subclasses can be identified. In general, a necessary and sufficient condition for the rationality of an algebraic surface of al'bitrary degree is given by Castelnuovo's criterion: Pa = P2 ;:;:: 0, where PrJ is the arithmetic genus and P2 is the second plurigenus [18J. Various algorithms have been given for constructing the rational parametric equations of implicitly defined algebraic curves and surfaces, (Le., hypersurfaces in 2D and 3D). See for instance [2,3,42,51, lil]. The parameterization algorithms presented in [4J and [5J are applicable for irreducible rational plane algebraic curves of arbitrary degree, and irreducible rational space curves arising from the inter­ ~cction of two algebraic surfaces of arbitrary degree. In [11J we present parametrization algorithms for fixed degree (two and three) hypersurraces, however in arbitrary (linwnsional space, n 2 3.

2 Parametric Surface Display

Several approaches are known for rendering parametric surfaces. [see for e.g. [25, rlln· The algorithm in [25] is based on convex hull properties of Bezier surfaces and uses subdivision to po!ygonalize the surfaces. The polygons are of course then scan convcrted to prodlice the displayed image. On the other hand [41J uses scan lining for direct scan conversions of the curved surface. The extension of these basic

3 techniques for the wire-frame display of hypercubes and simplicies is given in [50], while [22] provide a hidden-line algorithm for such hyperobjects. In [11] algorithms are given for polygonalizing rational quadric and cubic hypersurfaces in n ;::: 3 dimensional space by an adaptive, generalized curvature dependent scheme, and displaying their projections in 3D. Here we sketch the method for a curvature (and torsion dependent) stepping of the parameters of a parametric surface in 3 space. Consider the rational surface S defined by the parametric equations

x = X(5,t),y = lJ"(s,t),z = Z(5,t)

where X, Y, Z are rational fllfictions. A simple way of displaying S is to let 5 vary from 5i to 5J by a

constant step of 6. s and let t vary from ti to if by a constant step of 6. t • This creates a rectangular grid of (5, i) points. The surface can be directly polygonalized by evaluating it at each grid point and connecting the grid points together to form polygons. A better way of creating the grid is to step adaptively. Let X(i) = [X(" i), n" i), Z(" i)l· Then 1 6.[= ~¢ (u" + bT,) II X' 112 1 6., = .6.¢ (u" + bT.) II X' 112

Here K, and T are the curvature and torsion of the surface, respectively, and are defined by

J(X'· X')(XI/.XI/) f\.= (X'· X')! IIX', X", X"'rl T = =-,-;-f,;';"''';',----:,.};-,..-c;-= (X'· X')(X"· X") - (X'· XII)2

To get ~I, all derivatives arc performed with respect to t, and for ~s, with respect to 5. Given some

pair (so, lo), to step along i, \ve compute .6. t by evaluating the formula above at 8 = .50, i = /'0, and likewise to step along s. One can use constant-stepping in one variable and adaptive stepping in the other. or adaptive stepping in both. The latter approach is more expensive, but we find it produces smoother-looking surfaces. 'We used the following stepping process. The algorithm below fills the given

grid with n'2 (s. t) pairs. Stepping along 5 and i starts at 80 and to respectively.

makegrid(grid, So, to, n) {

4 local s, t, -t, 1.:;

1* initialize TOW and column 1 *1

grid(I, 1) of- (so, lo);

for i := 2 to n do {

s of- gl'irl(I,-t - 1).s; t..- grid(1,i - l).t; grid(1, i) _ (s, t + 1>,( s, t)); s_gri(l(i-I,I).s; t_grid(i-l,I).t

gridei, 1) - (s + 1>,(5, I), ') } 1* initialize rows and columns, diagonally*1

for k := 2 to n do { 1* ro.., k *1

for i := k to n do {

s 01- grid(k, i - l).s; t +- grid(k, i - I).t grid(k, i) _ (s,' + I>,(s, 'l) } 1* col k *1 for i := k + 1 to n do {

Sol- grid(i - 1,1.:).s; t of- grid(i - 1,k).t;

grid(i, 1.:) +- (s + .6.3 ( s, l), t) } } }

Example figures are given at the end, Figs. ]- 4. using GANITI-I: a package for visualizing and displaying algebraic equations [16].

3 Algebraic Surface Fitting

There has been extensive prior work in surface fitting. 1[uch of it has concentrated on polynomial parametric (and ocassionally rational parametric) surface fitting through scattered point data in 3D,

5 see for example the surveys t,\' Mfdd. Uohm et. cd. and Pratt [G. 19.58]. Exact and approximate fitting of curves ([)rimarily ronics) has been considered by several authors. see for eg [:20, 2D, ,53, 62]. Paper [G3] presents techniques for constructing a at continuous surface of rectangular Dezier (parametric) surface patches, intcrpolatill~ a net of cul,ic Bczier curves. Other approaches to parametric surface fitting and transfinite interpolation Me also mentioned ill that paper, as well as in [55..56], Pratt [.58] and some others [-10] consider the least-squares fitting problem, however only for scattered point data. The re:';llits of [13} generalizes the resnlts of [58] in two ways. One, it considers exact /its of algebraic surfaces through given space cun'e:; as well as data points, Second, it also considers similar surface fits when derivative information ('·normals·') are also IHo\·i(lcd at the given data points a,ud along the g;i\"(~n data curves. ),{eshill?; of given alp;cbraic surface patches using control techniques of joining Uezier polyhedl'Ons is shown ill [66]. Some of the resulLs in [6GJ are extended in [13] for purposes of interactive shape control of a family of solution surfaces. Paper [14} considers higher order surface fitting as well as least-squares approximation;;. Surface blending consisting of "rounding" (lml "filleting" surfaces (smoothing the intersection of two primary surfaces), a special case of surface filling, has been eGnsidered for polyhedral models in [:l3] and for algebraic surface models in [12, l:J, 1.1,76,55]. The gelleralized techniques for (,'1 continolls surface meshes. presented in [1...J.] also provide algorithms to

,~(,llcrate such blending and joining; surfaces.

The gellct'atiOll of a mesh of smooth surface palt:hes or spline.<; that interpolate or approximate

(rianf/u!oled space data is also one of the primary topics of C.-\.GD. Bohm el. al [ID] and Chui [2:J] summarize much of the history of previous work. These splines are traditionaJly defined over a gi\'en planar triangulation with a polynomial function or paramel,ric surface for each triangular ['ace [7, 8, 17,

18. 3i. :38. 49, 77]. Jutcrpolatory spline problems can be classified by the followill,!!; factors:

• "'hat kind of surface patches do they generate: parametric, funcLional, or implicit?

• "·hat kind of LriaugulaLioll of Ja,La do Llle.v a.sSllllle: fllllCliollal \·alucs OVPI" 21) triangulation or

arbitrarily spaced :3D triangulation?

• \\"hat kinds of inform

• How smoothly do the patches meet along the boundMy cur\'es'r

• Arc they local, that is, each patch is constructed only from nearby data, or global?

6 • Do they split one macro triangle into many micro triangles or not?

• Do they handle general data or just special data?

• How efficient are they?

• And many more ...

Dahmen [26] presents the construction of tangent plane continuous piecewise triangular quadratic surfaces. In his construction, in order to model complex shapes keeping the degree of surfaces low, a macro patch is split into G micro quadratic patches. Bajaj and Hun [15] discuss some initial results in which a mesh of quintic implicit algebraic surface patches is built, however using only 1 surface patch per face. The input to the algorithm is a polyhedra with triangular facets. from the input, a quadratic wircfmme is built. which smoothly interpolates t.he vertices of the polyhedra with unique prespecificd normals. For now, the at a vertex is chosen as the average of the normals of the incident facets at a vertex. Following the curvilinear wireframe construction, each face is interpolated with a quintic

algebraic surface. Example figures are given at the end, Figs. 5- 12.

References

[lJ Abhyankar, S., (1972) "Algebraic Space Curves", Montreal Notes.

[:2] Abhyankar. S., and llajaj, C., (1987a), "Automatic Rational Parameterization of Curves and Surfaces I: Conics and Conicoids", Computer Aided Design, 19, 1, 11-14.

[3] Abhyankar, S., and Dajaj, C., (1987b), "Automatic Ralional Parameterization of Curves and Surfaces II: Cubics and Cubicoids", Computer Aided Design, HI, 9, 499-502.

[4J Abhyankar. S., and Uaja.j, C., (1988), ".-\utomatic llational Parameterization of CUr\'es and Sur­ faces III: Algebraic Plane Curves", Computer Aided Geometric Design, 5, 308 - 321.

[5J Abhyankal', S., and Dajaj, C., (H.lS9), "Automatic Rational Parameterization of Cun·cs and Sur­ faces IV: Algebraic Space Curves", ACM Tmnsactions on Gmphics, 8, 4, (H.l89), 324 - 333.

7 [6] Alfeld, P., (HJS9) "Scattered Data Interpolation in Three or More Variables", Mathematical Meth­ ods in Computer Aided Geometric Design, ed. Lyche, T. and Schumaker, 1.,1-34.

[7] Alfeld, P., Piper, n., and Schumaker, L., (1987) "An Explicit Basis for C t Quartic Bivariate Splines", Siam Joumal of Numaical Analysis, 24, S91 - 911.

[S] Alfeld, P. Piper, B., and Schumaker, t., (1£)87) " !vIinimally Supported Bases for Spaces ofBivariate

Piecewise Polynomials ofSmoothness T for Degree d > 41'+ 1", Computer Aided Geometric Design,

4. 105 - 123.

[9] Bajaj, C., (19S9), "Geometric l'I'Iodcling with Algebraic Surfaces", The Mathematics of Surfaces

III, edited by D. Handscomb, Oxford University Press, 3 - 4S.

[10] Bajaj, C., (1990), "G1 Interpolation using Piecewise Quadric and Cubic Surfaces", Proc. Sympo­ sium on Electronic Imaging Science £3 Technology, Santa Clara, CA.

[l1J IJajaj, C., (1990), "RationallIypersurface Display", Computer Graphics, 24, 2, 117 - 128.

[12] Bajaj, C. and Ihm, 1., (1989), "Hermite Interpolation Using Real Algebraic Surfaces", Proc. of the Fifth Annual ACM Symposium all Computational Geometry, 9-1 - 103.

[131 llajaj, C. and Ihm, I.. (1990), "Algebraic Surface Design with Hermite Interpolation", Computer Science Technical Report, TR·039, CAPO-90-1, Purdue University.

[14J Bajaj, C., Ihm, I.. and \Varren, J., (1900), "Exact and Least-Squares Approximate Gk-Fitting of Implicit Algebraic Surfaces", Computer Science Technical Report, TR-044, CAPO-00-4, Purdue

University.

[15] Bajaj, C. and Ihm. I., (1990), "Smooth Triangular i\'Iesh of Algebraic Surface Patches",

manlJscript.

[16] Bajaj, C., and Royappa, A., (1000), "The GANITH Algebraic Geometry Toolkit" Proc. of 1st A nnual Conference on the Design and Implementation of Symbolic Computation Systems, Lecture Notes in Computer Science, No. 429, Springer-Verlag, (1900), 26S - 269. Also see Computer Science Technical Report. Purdue University, CSD-TR-014 and CAPO-S9-21, (October 1089).

8 [17] Billera, 1. (1£188) "Homology of Smooth Splines: Generic Triangulations and a Conjecture of Strang", Transactions of tile American Mathematical Society, 310,1,325 - 340.

[18) Billera,1. and Rose, L., (1989) "Grabner Basis Methods for .Multivariate Splines", Mathematical Methods in Computer AidEd Geometric Design, ed. Lyche, T. and Schumaker, L., 93-104

[HI} Bohm, ,:V., Farin, G. and Kahmann, J., (1984), "A Survey of Curves and Surface r.'1ethods in CAGD", Computer Aided Geometric Design, 1, 1 - 60.

[20J Bookstein, F., L., (1979) "Fitting Conic Sections to Scattered Data", Computer Graphics and

Image Processing, 9, 56-71.

[21] Bradshaw, C.D., (1982), "Surfaces of Functions of Three Variables", 1LS. Thesis, Civil Eng., nYu.

['22] Durton, a.p. and D.H... Smith, (1982), "A IEdden Line Algorithm for Hyperspace", SIAM Journal

on Computing, 11, 1, 71-80.

[23J Chui, C., (1988) MultivaI'iate Splines, CDMS-NSF, Regional Conference Series in Applied Math­

ematics, 54, SIA:M.

[241 Chui, C., and 'Wang, R., (1983) "On Smooth 1hltivariate Spline Functions", i.\Iathematics of

Computation, -11, 131 - 142.

[25] Clark, J., (1979) "A Fast. Algorithm for Rendering Parametric Surfaces" TutOl'ial on Computer Graphics: Image Synthesis, ed., K. Joy, C. Grant, N. ~'1ax, and 1. Hatfield, 1988, 88 - 93.

[261 Dahmen, W., (1989), "Smooth Piecewise Quadratic Surfaces", in Mathematical Methods in Com­ pliler Aided Geometl'ic Design, editors. Lyche, T., and Schumaker. L., Academic Press, TIosLon,

181 - 193.

[21] Daniel, i\L and Daubissc. J.C., (1989), "The NnIHcrical Problem of Using Bezier Curves and Surfaces in the Power Basis", Computer Aided Geometric Design, G, 121 - 128.

[28] deRose, A.D., (1985), Cwmel1'ic Continuity: A Parnmcll'i=n/ion Tndepemlcnt Measure of Con­ tinuity for Computer Aided Geometric Design, Ph.D. Thesis, Computer Science, University of

California, Derkeley.

9 [29J deBool',C.,lIollig, K.. Sabin. 1L(1987)' "High Accuracy Geometric Hermite Interpolation", Com­ puter Aided Geometric Design, 4, 269-278.

[:30J Fari n, G., (1986), "Triangular Derstein-Bezier Patches", Computer Aided Geometric Design, 3, 83

- 127.

[31J Farouki, It., and Rajan, V., (1987), On the Numerical Condition of Polynomials III Dernstein

Form. Computer Aided Geometric Design, 4, 191 - 216.

[:32J Fal'ouki. R., and Rajan, V., (1988), Algorithms for Polynomials in Bernstein Form, Computer

Aided Geometric Design, 5, 1 - 26.

[33] Fjallstrom, P., (1986), "Smoothing of Polyhedral Models", Pmc. of the Secontl ACM Symposium on Computational Geometry, Yorktown Heights, NY, 226-235.

[:3'1] Garrity, T., and Warren, J., (1989), "Geometric Continuity", Rice University, COMP TRS8-SD.

[35J Golub, G., and Underwood, R., (1970), "Stationary Values of the Ratio of Quadratic Forms Subject to Linear Constraints", Z. Agnew. Math. Pllys., 21,1970,318-326.

[361 Gordon, W., and Riesenfcld. R., (1974), Dernstein-lJezier Methods for Computer Aided Geometric Design of Free Form Curves and Surfaces, JOllrnal Of A C'\!. 21, 2, 203 ·:310.

[37J Hagen, H. and Pottmann, 11., (I 9S9) "Curvature Continuous Triangular Interpolants", Mathemat­ ical Methods in Computer Aidell Geometric Design, ed. Lyche, T. and Schumaker, 1., 373-384

[3S] IIollig, K., (1989) "Box-Spline Surfaces", Mathematical Methods in Computer Aided Geometric

Design, cd. Lyche. T. and Schumaker. L., 3S5-402

[39J Hanrahan, P., (1983), "Ray Tracing Algebraic Surfaces" Computer Graphics, 17, 3, 83 - 90.

[-IOJ Lawson, C., and Hansoll, IL, (197'1), Solving Lcast-5'tllwl'es Problems, Pr('ntice lIall.

[41J Lane, J., Carpenter, 1., whitted, T., and Dlinn, J., (19S0) "Scan line ~l'1ethocls for Parametrically Defined Surfaces··. CUI///Iumic{/[iolll> of the ...-ie;\[, 23, 1, ~3 - ·[:3.

[_[~] Le\.in. J .. (1979). "?llathematical Models for Determining the Intersection of Quadric Surfaces",

Computer Gmpltics and Image Processing, 11, 73 - Si.

10 [43] Lec, E.T.Y., (1987), "The Rational llezier Reprcscntation for Conics", G€ometl'ic Mod­ dling:Algorilhms and New Trcnds, G. Farin, cllitol', SIAM, Philadelphia, 3 - 19.

[lli~] Luenbcrger, D., (1984) Lineal' and Nonlinear Programming, Second Edition, Addison-Wesley, :t\'IA.

[.1.5] 1ofacaulay, F., (1916) The Algebmic Theory of Modular Syslems, Cambridge University Press,

London.

[46] Mahl, R., (1972), "Visible Surface Algorithms for Quadric Patches.", IEEE Transactions on

Graphics, C-21, 1, Hl72, 1-4.

[,17J :tI'IcClellan. 1'1., (1973), "The Exact Solution of Systems of Linear Equations with Polynomial CoefHcients", loumal of tile A CAl ,20,4,563 - 588.

[48] I'I'Iidd1editch, A. and Sears, K., (1985), "Blend Surfaces in for Set Theoretic Volume Il'1odelling

System", Computer Graphics, 19, 161 - 170.

[49] Morgan, J., and Scott. R., (1975) "A Nodal Dasis for C 1 piecewise polynomials of degree n ;:: 5",

Mathematics oj Computation, 29, 736 - 740.

[50J Noll, A.1L, (1967), "A Computer Technique for Displaying n-Dimensional Hyper Objects", Com­ nlllnicalions oj the A CH, la, 8, 469-473.

[51) Ocken, S., Schwartz, J., and Sharir, M., (1983), "Precise Implementation of CAD Primitives using Rational ParameterizaLiolls of Standard Surfaces", Planning, Geometry and Complexity of Robol

Molion, Ablex Publishing, Norwood, N.J., 2-15-266.

[52J Ottmann. T .. Thiemt, G .. and Ullrich, C., (1987), "Numerical Stability of Geometric Algorithms", Pmc. oj the Third ACAl Symposium on Computational Geomelry, Waterloo, Canada, 119-125.

[53] Paton, K., (19rO), "Collic Sections in Chromosome Analysis", Prll/ern Recognition. 2, :39-;'1.

[54J Patterson, 1'1., and llajaj, C., (1989), "Curvature Adjusted Parameterization of Curves". Purdue lTniversity: Compnter Science Technical Report. CElt-8D-IS.

[.5.5] Peters, J .. (1989) "Smooth Interpolation of a i....lesh of Curves" Univ of "Viscol1sin, Tech. Report.

11 [56] Peters, J., and Sitharam.1L,(1989) "Interpolation from Cl-cnbics at the vertices of an underlying triangulation", Univ of vVisconsin, Tech. Report. #90-13.

[57J Peterson, C.S., (1984), "Adaptive Contouring of Three Dimensional Surfaces.", Computer Ailled

Geometric Design, 1, 61 - 74.

[58] Pratt, V., (1987), "Direct Least-Squares Fitting of Algebraic Surfaces", ComputeT' Graphics, 21,

4, 1/15 - 152.

[59] Rockwood, A.P. and Owen, J.C., (1987), "mending Surfaces in Solid ~'lodelling", Geometric Mod­ elling:Algorithms and New Trends, G. FW'in, editor, SIAM, Philadelphia, 367 - :383.

[GO] Sabin, 1'1., (1989) "Opcn Questions in the Application of r-..full.ival'iatc B-splines" Mathematical Methods in Computer AidEd Geometric Design, cd. Lyche, T. and Schumaker, L., 529-538

[Gl] Salmon, G., (1914), "A Treatise on the Analytic Geometry of Three Dimensions", vol I, II, ed., R. Rogers. Reprinted, Chelsea Publishing.

[G2] Sampson, P., (1982), "Fitting Corne Sections to Very Scattered Data: An Iterative Refinement of the Dookstein Algorithm", Computer Graphics and Image Processing, 18, 97-108.

[63J Sarraga, R., (1987) "Gl lllterpolation of generally unrestricted Cubic Dezier Curves", Computer Aided Geometric Design, 4, 23 - 40. Scc also errata in Computer Aided Geometric Design, G,

(1989), 167 - 172.

[64J Schumaker, 1., (1979) "0 II the Dimension of Spaces of Piecewise Polynomials in Two Variables" , Multivariate Approximation Theory, cds. W. Schemp and K. Zeller, Birkhauser, 306 - 412.

[G5J Sederberg, T.W. and Zundel, A.K., (1089), "Scan Line Display of Algebraic Surfaces.", ComputeI'

Graphics. 23, 3, 19S9, 147 - 156.

(GG] Sederberg, T., (1085), Piecewise Algebraic Surface Patches, Compuler Aided Geometric Design,

2, 53 - 50

[67J Sederberg, T., and Snively, J., (1087), "Parameterization of Cubic Algebraic Surfaces", The Alath­ Ematics of Surfaces II, ed. R. !vIartin, Oxford Uuivcrsil.y Press,

12 [G8] Semple, and Roth, D., (1949) 11n Introduction to Algebraic Geometry, Oxford University press.

[(i9] Snyder, V., Coble, A., Emch, A., Lefschetz, Sharpe, F., and Sisam, C., (1928), Selected Topics in Algebraic Geometl·y, Reprinted, Chelsea Publishing 1970.

[70] Somerville, D., (1958) An Introduction to the Geometry oj N Dimensions, Dover Publications,

N.Y.

[71} Strang, G., (1973) "Piecmvise Polynomials and the Finite Element rvlethod" , Btllletin of the Amer­

ican :lfathematical Society, 79, 1128 - 1137,

[72] Tindle, G.L., (1987), "Tetrahedral Triangulation.", The Mathmatics of Surfaces If, Clarendon

Press, Oxford, in R.R. Martin,erl.,,387 - 394.

[73] Waggenspack, W.N. and Anderson, D.C., (1986), "Converting Standard Divariate Polynomials to Dernstein Form Over Arbitrary Triangular Regions" ,Computer Aided Design, 18.

[7'1] Walker" R., (1950) Algebraic Curves, Springer Verlag.

[75] Warren, J., (1£186), On Algebraic Sll1jaces Meeting With Geometric Continuity, Ph.D. Thesis,

Computer Science, Cornell University.

[IG] Warren, .T., (1987), "mending Quadric Surfaces with Quadric and Cubic Surfaces·', Proc. of the Third ACM Symposium on Computational Geometry, 'Waterloo, Canada, 341-353.

[77] Whitely, \V., (1989) "A :Matrix for Splines", Journal oJ Approximation Theol'y,

[78] Zariski, 0., (1935), Algebraic Surfaces, Ergebnisse der lI'1athematik und ihre Grenzgebiete.

13 Fig. 1: Nodal Cubic Cylinder - 3 :s; S, t:S; 3, 0.1 equal parameter stepping, 3600 polygons. I

Fig. 2: Nodal Cubic Cylinder - 3 S S, T ::; 3, adaptive parameter stepping, 640 polygons. Object has 339 components. DrawSurface([S,T,S"2-T"2],-1.0,1 .0,-1.0,1.0,20,0.3)

II Execute II DrawCurve IIDrawSurfacell1 Ini t II Clear IIRedisplay 1~IGraphics II Colors I IIHardcopyllDefining Group II IAutolmpl~[lliIT]

Fig 3: Example parametric display of a hyperboloid in GANITH, adaptive parameter stepping. •

[s,t,sA4-tA4] [s,t,sA3-tA3] [s,t,sA3+tA3]

DrawSurface([S·T,SA2,TJ,-3.0,3,0, -3.0,3.0,0,2,1)

IIExecutell Dra.Curve II DrawSurface III Ini t II CI ear II Redisp Iay 1~IGraphi cs II Colors I IIHardcopyllDefining Group II Il!I!ll'iD IAutolmpllAxesllcull1

Fig. 4: Example parametric display of the CARTAN umbrella in GANITIl, adaptive parameter stepping. Fig. 5: Comer blending with Fig 6: G I-join of three cylinders a quartic surface. with a quartic surface. Fig. 7: Two different least-squares approximation surfaces with GI_join to the cylinders. The point data for approximation are given in Fig. B. y 2

1

2 x

(a) Six; Points in S_1

y 2

... ," " .

1

2 x

....

tb) Six Points in 5_2

Fig. 8: Data points which are least~squares approximated by surfaces S_1 and S_ 2 of Fig. ,. , "!Ji;S~;:", .'.'" '"" I •. , • "

Fig. 9: Input polyhedral and constructed Fig. 10: Polyhedra is smoothed with wireframe mesh of conics. Gl-continuous quintic algebraic surface patches. Fig. 11: Shaded display, smoothed polyhedra of Fig. 10. Fig. 12: Quintic algebraic surfaces meshing with G l-continuiry, 1 quintic parch per facet.