{"responseHeader":{"status":0,"QTime":6,"params":{"q":"{!q.op=AND}id:\"706615\"","hl":"true","hl.simple.post":"","hl.fragsize":"5000","fq":"!embargo_tdt:[NOW TO *]","hl.fl":"ocr_t","hl.method":"unified","wt":"json","hl.simple.pre":""}},"response":{"numFound":1,"start":0,"docs":[{"date_modified_t":"2012-02-15","ark_t":"ark:/87278/s69k4vts","date_digital_t":"2011-05-27","setname_s":"ir_uspace","subject_t":"Curved surfaces; Computer display","restricted_i":0,"department_t":"Computing, School of","format_medium_t":"application/pdf","creator_t":"Gouraud, Henri","identifier_t":"ir-main,16057","series_t":"University of Utah Computer Science Technical Report","date_t":"1971","bibliographic_citation_t":"Gouraud, H. (1971). Computer display of curved surfaces. 1-80. UTEC-71-113; UTEC-CSc-71-113","mass_i":1515011812,"publisher_t":"University of Utah","description_t":"This research describes a method for producing shaped pictures of curved surfaces. It uses a small polygon approximation of the surface to solve efficiently the nidden parts detection, and then computes the shading on each polygon in such a way that visual discontinuities between adjacent polygons disappear, thus restoring the apparent smoothness of the surface and increasing greatly the realism of the pictures produced. The smooth shading technique described here has been used to produce a large variety of pictures of which several airplanes, a car, a human face and some mathematical surfaces are included to illustrate the effect of the method.","first_page_t":"1","rights_management_t":"©University of Utah","relation_is_part_of_t":"ARPANET","title_t":"Computer display of curved surfaces","id":706615,"publication_type_t":"technical report","parent_i":0,"type_t":"Text","subject_lcsh_t":"Surfaces -- Computer simulation","thumb_s":"/77/84/7784c688e87d48b7c4ba0a4b91e122fa5ffd92ff.jpg","last_page_t":"80","oldid_t":"uspace 4477","metadata_cataloger_t":"CLR; car","format_t":"application/pdf","modified_tdt":"2015-04-22T00:00:00Z","school_or_college_t":"College of Engineering","language_t":"eng","file_s":"/3b/70/3b70218f4236a783b37dbb283cf29c18e7842c7d.pdf","format_extent_t":"57,705,343 bytes","created_tdt":"2012-06-13T00:00:00Z","_version_":1613593583460286464,"ocr_t":"CO:-i?UTER DISPLAY OF CURVED SURFACES by Henri Gouraud June 1971 UTEC-CSc-71-113 This research was supported in part by the University of Utah Computer Science Division and by the Advanced Research Projects Agency cf the Depamr.er.t of Defense, monitored by Rome Air Development Center, Griffiss Air Fcrce Base, New Ycrk 13440, under contract F30602-70-C- 0300.ACKNOWLEDGMENTS I am particularly thankful to Dr. Ivan E. Sutherland, for his constant help end confidence. His enthusiasm is responsible for the date for most of the models presented in this report. Also his patience in reading the successive drafts of this document allowed me to turn it into understandable English, end him to learn a few typical gallicisms. . Without tne numerous discussions I have had with Dr. T. G. Stockham, Mach bands would still destroy the smoothness of curved surfaces. Thanks to him, the cathode ray tube display device I used was properly calibrated, which made possible the quality of the pictures contained in this document. ' ' • ■ It would be impossible to name here all the fellow students and professors of the Computer Science Department with whom I have had such a creat time. To its chairman Dr. D. C. Evans, to Barry, BoP, Carl, Chuck, Don, Gary, •Marty, Patrick, Ron, William, and many others, a million thanks. The wonderful photograp.nic work, to which the reproduction does not do justice, is due to Mike Milochick.T ABL E OF CONT ENT S Acknowledgments................................................................................................................................................. i Table of Contents.......................................................................................................................................... ii A bs tract.........................................................................................................................................................................iii I Introduction................................................................................................................ 1 II Limitations of existing techniques...................................... 2 III The Mach band effect..................................................................................... 10 IV Computing the shading on a curved surface.............. 16 V Computing the shading at the vertices........................... 25 VI \" Choosing the points defining the surface................. 25 VII Hardware implementation........................................................................... 52 VIII '• Conclusion and future research................................................... £5 IX Ref er enc es................................................................................................................ 65 ADpendix A Statistics on the figures.................................................................... 67 Appendix B Description of the Bezier p=-tch................................................ 68 Appendix C Finite differences for tne Bezier patch.................... 79 i i ABSTRACT* This research describes a method fcr producing shaded oictures of curved surfaces. It uses a smell polygon approximation of the surface to solve efficiently the nidden oerts detection, and then computes the shading on each polyqon in such a way tnat visual discontinuities between adjacent polygons disappear, thus restoring the apparent smoothness of the surface and increasing greatly the realism of the pictures produced. The smooth shading technique described here has been used to produce a large variety of pictures of wnich several airplanes, a car, ~ human face and some mathematical surfaces are included to illustrate the effect of the method. * This report reproduces a thesis of the same title submitted to the Department of Electrical Engineering, Division of Computer Science, University of Utah, in partial fulfillment of the requirements for the degree of Doctor of Philosophy. 'I NTRDl)UCTI DM This research describes c metnod for producing shaded oictures of curved surfaces. Historically tne need for such a technique arose wnen it became evident thst the line drawings previously used were misleading because the soacing of the lines portraying a surface depended net only on its geometry but also on the bensvior of the parameters describing the surface. Tne shading techniques developed at tne University of Utah, among other pieces, seemed to be \"tne way to go11 but introduced two problems: -'hidden parts suppression for curved surfaces is not easily don?; ■ . - aoproximation of the surface with small olanar polygons, although better than the line drawing method, still conveyed some undesirable visual effects caused by tne artificial texture brought about by the parameter s oac ing. The generality and the simplicity of the smooth shading technique presented here makes it oossible to represent with ~reat realism a large new class of objects. • The first two sections of the report discuss the problems encountered in trying to shade curved surfaces. Section three describes some considerations about the visual orocess whicn provioed a solution for eliminating tneunwanted information eoout parameter spacinq and artificial surface texture. fne remaining sections describe the implementation of the method, at the tneoreticai level, at a Tiore oractical level, and in nardw=re. Tne text of these sections is supcorteo' by a lame number of- pnotooraohs wnicn snow the quel:ties and snortcominas of the method. The exanpies include several airplanes, a car and a model of the head of the author's wife. Althouqn it is true that in most respecis this model is far from tne oriqinal, the likeness between the two, compared witn tne results obtained with orevious methods, constitutes tne best example of the qualities of tne smooth shading technique. At the time of tne writinq of the reoort, many other photographs ere b*inq .. preoared oy several neople : e Caplan turoine, a nuce, a snip hull ...3 L IM I T A T I O N S OF E X I S T I N G T E C H N IQ U ES In the pest decade, tne methods for displaying three dimensional objects on e cathode ray tube have made enormous progress. One of tne first 1mprovements was tne elimination of hidden lines performed at a reasonable cost by L Roberts in I963[I]. Since then other algoritnms performing the same task nave been developed by Galimbertv [2J, Kubert [3], and Loutrel [43 among others. Another major step was obtained by tne introduction of shaoed pictures at tne University of Utan (Romney [5J, Warnock [6], Catkins [73)* in early hardware by General Electric (Rougelot t8]); and independently by MAGI ■[?], and IbM (Apoel [10]). More r ecent ly,Boukni g'nt and Kelley [11] presented an algorithm producing shaded cictures with snaaows and movable light sour c es. Tne first hardware implementation of a shading algorithm was sccomolisned by General Electric who built for NASA a system allowing real time display of a simulated space ceosule on a television screen. The hardware realization of Watkins' algorithm - which is tne most recent one in the list above - should be completed very soon at the University of Utah and will disolay in reel time more complex structures using simpler equioment.. Some of these systems (MA3H9], Combat 123, A'eissU4]) were cble to remove Hidden parts for curved surfaces, but were able to do so either by restricting the class of possible surfaces, or by accepting c long execution time. From tne very beqinning, curved surfaces nave been portrayed * • , . «v ■ ■ •by a set of privileged curves drawn on the surface. Tncse curves are usually planar sections or ecuioaremetric curves. Eacn curve is in turn aoproximated by a succession of line segments. Since a large number of curves and segments is required to describe the behavior of a complex surface with accuracy, a confusing profusion of lines will inhibit understanding of its snaoe unless hidden parts of such scenes are eliminated (figure I ). This is especially true wnen the surface is not a well known snape - •• sphere, cone, torus.- that tne pattern recognition aptitude of our mind recognizes more easily. The mein problem in hidden parts elimination boils down to the comoarison of two different elements of a scene in order to determine which is in front of which. In most cases, the scare on which the algorithm is epolied is a persoective projection of a three dimensional cluster of objects. A first simplification is obtained by apolying to the-oojects tne persoective transformation described by ^ooerts in [1]. After this transformation tne observer is located at infinity, in the direction of tne Z axis for instance, and the problem of compering two objects relative A Fig. 1.- Conventional line drawing representation of surfaces. Upper picture: 1/4 torus, rational Coons patch. Lower figure: fourth degree Bezier patch. The Bezier patch is harder, if not impossible to \"see\" because it is not a shape we are familiar with.to tne observer is reduced to the comparison of their Z coordinates. All algorithms try to recuce the number of such comparisons to a minimum, snd try to perform them in the simplest way possible. For exemole, Aatk i ns' algorithm ends up witn the simple problem of compering two line segments in the XZ coordinate system. These line segments are obtained by intersecting the scene witn scan planes parallel to tne XZ plane. Each polygon will yield at least one such segment. Their comparison is very easily solved by surrounding each segment witn a oox of tne form Xmin Xmax Zmin Zmax and comparing each sox with the others. Dbviously some strategy (described by Catkins in [7]) is used to limit tne number of comparisons to a strict minimum. If we were to aoply a similar technique to a scene containing ourved surfaces we would have to compare segments of curves instead of line segments and the complexity of the problem to be solved would crow approximate!y as the square of the complexity of tne surfaces we want to deal with. Scenes made of planar polygons lead to the comparison of two line segments wnicn is a problem cf oegree one. If we Intersect a scene containing quadratic surfaces with a scan olane, we obtain conic sections, which are curves of denree two. Comparing two sucn curves leads to an equation of decree four. Solving sucn an 'equation is expensive but not impossible. This has been demonstrated in a program written by -.'.enl [13J which produces shaded oictures of quadraticsurfaces. This program - based on the representation used by J A'ei ss [14] - uses the scan line to seen line coherence ~eihoJ developed by Catkins, wnich greatly reduces tne number of comparisons to be nerformec. Bui for most epplicat ions, quadratic surfaces are not sufficiently flexible, and surfaces of nigner order are more commonly used. Eliminating hidden parts for such surfaces requires solving equations of degree nine or more, wnich of course could be done - given enough time! Since we are looking for a solution to be included in an interactive loop, speed is one of the major qualities we are looking for. It seems therefore that looking for en -\"exact\" solution will be too expensive or too specific, and that we have to settle for some approximation of the result we ere seeking. ' Dne such approximation can be made by reolacinq e surface witn a collection of small planar polygons. rte know ho*' to draw two collections of privileged curves which will define a grid on the surface. A typical example of such a grid is tne two set: of parametric curves when the surface is defined oaremetrica 11y. Given the nodes of this grid, we can define a set of polygons which will approximate the surface. Tnose polygons can be triangles in order to ensure t.nat tney are planar, or they can be four-sio'ed polynons wnen tne planer property is not required, as in Watkins' algorithm (figure 2). The polygon approximation method can Decode expensive if a close approximation of tne surface isesired because of the great number of polyoons required, creover, because of the properties of tne human vision hich will be treated in section III, the polygon pproximation method will not give the quality of result nicn might at first be expected. Making a sh'aoed picture of a three-dimensional object squires two distinct processing stages. The first one is ne nidden parts elimination and is purely geometric; tne eccnd one is the actual computation of tne gray-shade to ive to each point of the scene. The previous discussion as lead us to limit hidden parts detection to scenes built itn olanar polygons, and this has forced us to approximate surface with a collection of small oolygons. 3ut we ere ot =t ell obliged to keep this aoproximation when we ompute the shading of the visible parts of tne surface. In = ct artists have known for a long time hc-v to create a r.ree- dimensional illusion on a flat canvas by painting it itn tne appropriate shade. by giving to each smell polygon oprcximating our surface some appropriate snede, we might estcre tne illusion of the smooth surface we were riginally trying to display. We will examine now whet ould naooen if we keep the pl3ner epprox i met i on t.nrouoh the hading stage and what should be the rule for the \"painting\" f the polygons whicn would restore apparent smoothness to r.e surface they approximate.THE MACH tiANJ EFFECT ,^nen cresting shaded pictures, we neve to .eke into consideration all the physiological end psychological phenomena tnat fake place in the visual process. One such phenomenon which is of particular interest here is known as tne '.'ach band effect. It explains why the planar polygon eoproximation mentioned above \"looks\" ^orse tnan expected, end snows the route to follow to improve the situation. (For a detailec description of the v.ach band effect and related onenomena see Ratliff [153). T.ne; retina is composed of a very large number of receptors -which transform the light stimulus - into some electrical- stimulus. But wnile performing tnis transformation, each receptor acts in concert with its neighbors so tnat its benevior is modified oy the light w.nic.n they receive. Tne result of this interaction is an enhancement of the discontinuities of the scene that our eye views. Tne retina in fact acts as an edge detector. In more mathematical terms, tne overall process can be modeled by convolving the spatial intensity function representing the picture by a weighting function similar to the one shown in 'figure 3. This model find several others ere studied in creat detail in Ratliff [15]. The result of tnis process is an enhancement of tne irregularities of tneEQUAL Tic. 3.- lr. the picture above, vertical displacement represents intensity. The upper left picture represents £ dark fielc of intensity (lower shelf) connected to a bright field cf intensity (upper shelf) by a linear ramp. The convolution process modeling the Mach band effect enhances the discontinuities, creating a darker and brighter band in the vicinity cf the discontinuities.intensity function. The type of irregularities which are found in computer generated shaoed pictures ere the discontinuities of value of tne intensity function, discontinuities in tne first derivstive of this function will also become important after the modificat ion proposed in this report'is oerformed. Figure 4 gives an example of discontinuities in the value of the intensity of a scene. As can be easily seen if tne oicture is held far enough from the eye, each step looks fluted even though the intensity which has been plotted across it is constant (as can be verified by masking out the two neighbors of a particular steo). Because of the Mach band effect, each polygon eoproximatinc = curved surface will seem more different from its neighbors than a preliminary study would expect. Increasing the number of oolygons approximating the surface cannot reduce tnis effect oecause each polygon boundary introduces in the spetiel frequency spectrum of the original scene some nigh frequencies which were not previously there end which ere en.nenced by tne Mach band effect. Augmenting the number of oolygons approximating the surface does not suppress the oolygon boundaries, and therefore can only modify, but not remove, tne high frequencies introduced by those boundaries. Tne extreme case would be to push those extraneous frenuencies above the hign frequencies introduced by tne sampling of the picture. This would amount to definingm o 0' ft) ‘'J y>- G- a I o v-* o r* iQ O Hi £ <: p> i-* c (D (V O. ^ *-»■ 'U tn ru O M O fl> n r+ rl H- 3 C I-*■ rl i-»* ft) M n> o. in d ft) mM *J tn p- rt »< O Hi rt VO M 0J *< n M r+ 0> D (n t-»* (t --7 I I \\polygons small enoucn to be covered by one resolution point of the screen, which is obviously too expensive. Figure 5 shows how discontinuities in the derivative of the intensity function are also enhance:; by the same process. Although the intensity values plotted on tne screen were linearly increasing, then linearly decreasing, the resulting picture seems to contain a lighter line in the vicinity of tne derivative discontinuity. It is worth noting here that in plotting tnese intensities on the scope, a correction was made to account for the non-linearities of the scope and of the recording film. Tnis phenomenon is harder to perceive then the previous one, end in fact enhancements of the discontinuities of higher order derivatives of the intensity exist but are probaoly unnoticed by tne eye. . ■ 1 4 Fig. 5.--Plot of the apparent cdc true i.-.tensity cf the gray scale abcve showinc a derivative ciscc-r.tir.ui rv.COMPUTING THE SHADING FOR A CURVED 5UPFACE The conclusion that we reacn here is that in order tc eliminate the visible facets-, in tne polygon approximation of s surface, tne route is not to increase tne number of polygons but to remove the discontinuities in the value of the intensity introduced by tne boundaries of each polyoon. Let us now examine how such a shading function could be obtained and at what price. He have aoproximated the original surface with a collection of smell polygons. It is probably desirable that during'the actual computation of the sheding et the interior of a polygon, any knowledge about neighborino oolygons be unnecessary. This can be achieved if tne shading of a oolyoon depends only on parameters commuted in edvence. Let us consider one of the vertices of the grid computed on the surface of figure 1 end tne four polygons snering this vertex (figure 6). Edge Ab Delongs to polygon i end 2, and if we want to have continuity of the shading across edge AB it is necessary that the sheding function computed along this edge for polygon 1 match the function computed for polygon 2. Similarly if we consider edges AB and AE, the value of the shading at point A for edge AB and for edge AE heve to match. It is tnerefore clear that the shading et a oerticuler vertex must be the seme regerdlessFig. 6.-Four polygons approximating a surface in the vicinity of point A. The shading at point R is computed as two types of successive linear interpolations: across polygon edges: ? between A ana 5, Q berween A ana D; across the scan line: R between ? ana Q.• . of which polygon is being shaoed. Tnere sre many possible ways in wnicn two functions can -etch: they can be identical in ell resoects, or they can nave mstcnina values and derivatives only ud to a certain order. The nigner tne order of the last matching derivative, the' closer the functions //ill match. t\\!e will examine now two possible cases of matching the shedino function along polygon edges! matching value only, and matching both value ana first derivative. In order to study tnese two cases, we will assume that it is possible to co'oute at each vertex e value and some derivatives of the shading; the problem of how to obtain sucn information for different kinds of surfaces will be the subject of section v' . Matching only the value of the shading along polygon boundaries can very easily be achieved by a oair of linear interpolations, the first one along polygon edges as the scanning procresses on tne Dicture, the second one across tne scan line. For instance the value cf the shading along ecoe A3 will be computed as: Sp = m*Sa + (l-m)*Sb figure (o) m = a b s ( ? B) / a bs ( A 3) . 3iven a Derticuler scan line intersecting two edces of a o o l y c o n a t p o i n t s P a n d 0 , t h e s n a d i n g a t t n o s e t w o p o i n t s can be computed with the formula above, and the snsding at point R on the scan line will De expressed as: 5r = n*Sp + (l-n)*Sq n = abs ( RQ) /a.os ( PQ) . It can be easily verified that these two successive linear interpolations satisfy the value continuity requirement across oolygon boundaries. The linear shading rule gave remarkable results considering the simplicity of the method. Figure 7 shows the surfaces of figure 2 shaded with the double linear interpolation. The boundaries of tne patch, the silhouette curves and the intersections are still approximated by line segments. ' Notice for example that the intersection curve in figure 8 is identical in botn pictures, wnicn shows how nidden parts elimination and shading have been treated independently. If we desire a better match tnan value continuity, we have to maintain first derivative continuity for the shading function across polyqon boundaries. This requires that we use cubic interoolstion where we were using linear interpolation before. Note that a quadratic interpolation w.nich seems to be the choice next to linear interpolation would not remove first derivative discontinuities since we could mate p. the derivative at only one end of theo i O Fig. 7.- The same surfaces as figures 1 anc 2 shaded with the linear 'interpolation regain their snoccn appearance.Fig. £.- Two representations of the same surfaces. Although the lower surface \"looks\" smooth, its shape is still approximated by planar polygons. Note for instance that the intersection carve is the same in both pictures because the same hidden tarts elimination was used ir. both cases.: nteroolation . To compute such a cubic, we need tne foilowinq oieces of information: shaoing at A\" Sc derivative of Ss in tne sc an line direction: S' a, x derivative of Sa along Ab: S'a,ab derivative cf S'a,x alonq line A3: S\"a,>:,ab same information for point B The shading and derivative functions (Sa) (Sb) (S'e,ab) (5'.o,ab) would let us interpolate a cubic along edge AB to find Sp. Similarly the functions (S'a,x) (S'b,x) (S\"e,x,ao) (S\"o,x,eb) would let us interpolate another cubic along AB to find S'd,x. We can Derform the seme computation for oci.nt 0 and obtain So and S'o,x. Tnis in turn would let us interpolate a cubic between P and 0. ' .. Tne cubic i nt er ool ation was originally intended for the elimination of unwanted first derivative di scont i nui ti es but •fas not implemented for the folio wine; reasons: 1) The first derivative uiscontinuities ere kept very small end unnoticeabie in most cases by the r eouir e-nents of the nidden carts and intersection portion of the algorithm. In order to obtain a qood a oproximetion of the intersections end of tne silhouette curves, it is necessary that the number of polygons approximating the surface be large enough. In fact the \"density\" of polygons should be somewhat prooorticna! to tne curvature of the surface. This 22 will also maintain small first derivative discontinuities in the sheding function. Figure 7 is an example of the double linear interpolation in whicn derivative discontinuities are impossible to locate. Such discontinuities, can, however, be seen around the engines of the b-58 in figure 16. 2) The hardware implementation of tne cubic interpolation would be too costlv relative to the improvement obtained. On the other nend, including the linear solution in rtat k i ns'- hardware was a simple task as will be seen later. 3) Some of the terms that need to be computed for the cubic interpolation like S' and S\" require a knowledge of the curvature of the surface.' This was impossible to compute for some of the surfaces to which this scneme has been applied. It is probably true that the cubic interpolation would become very effective if a similar interpolation could be applied to the geometric coordinates (X Y Z) of the surfaces to be reDresented. This would indeed require a \"fast\" solution to the hidden parts problem for cubic surfaces or a \"fast\" method for tne comparison of two cubic curves in the XZ plane. It is interesting to note here that a fairly simple intermediate solution would be to use a cubic interpolation vertically on the X and Z coordinates of oolygon edges, followed by a linear interpolationontally ecross tne scan line. Such a compromise ion could greatly improve the representation of tne of the surface but nicht not improve the silhouette ntersection curves. 24 COMPUTING THE SHADING Af THE VERTICES Tnree different methods are described here for co^putino the value of the shading at the vertices of the polygons approximating the surface. Although these methods range from exact computation to eyeball estimation the results obtained with tne different methods proved to be equally satisfactory and barely distinguisheble. The shading at any point on the surface is expressed as a function of the orientation of the surface at this point and its distance from tne liqht source. If we assume that tne liqht source is located at the eye of tne observer, this orientation can be measured by the angle between the normal to .the surface and the viewing direction at mat point. A'e are looking for a function which will be maximum when the surface is perpendicular to tne viewing direction end minimum when tney are tangent; the cosine of the angle between the normal and the viewing direction, raised to some appropriate power, is a convenient model. In order to si.-plify even more the computation we have approximated tne viewing direction by tne direction of the 2 axis, and considered the distance between the points on the object end the observer to'be constant. This reoleces the cosine of the arrgle of the surface by tne Z comoonent of the normal if the latter is of lenqtn one.. ' 26 To compute this normal, three methods neve been used: - Exact computation of the normal when tnis is possible as in tne case of the Coons or Bezier patches, - Estimation of the normal from information about tne polygons approximating the surface, - Estimation of the normal by eye. iVhen tne surface is known in some analytic form, it is oossible to compute an exact value of its normal. Tnis is the case for the Coons and Bezier patcnes on which this research was started. Tne grid approximatino the surface is defined by two sets of curves obtained for regularly spaced values of the parameter. As was mentioned earlier, those curves are not necessarily regularly spaced on the surface, it is therefore important to .cnoose a parameter spacing w.nich will produce enougn points wnere the surface bends snarply. For each vertex on this grid, *■. e can compute a normal as: -r -r ->• N (u,v ) = Vyu(u,v ) H ' v(u , v ) (figure 9). ' -r If the coordinates of P(u,v) have been obtained tnrounn some evaluation procedure, tne derivatives can be easily obtained by using the same procedure, end replacing the \"olending functions\" by their derivatives. Tne evaluation of this normal fails if either of the vectors P'u or P'v is null. Tnis would nenpen if one ofa / N {u , v ) Fig. 9.--A portion of a patch showing the derivative vectors and the ncr~al competed as their cross product. Fig. 10.-A portion of a patch with a degenerate edge showing an alternative method for computing the normal.ne boundaries of the patch is reduced to a point (fiqure ID). In this case it is necessary to approximate tne normal by: P ' V ( o , v ) = 0 V V. This approximation will fail again if for instance one side zl the paten is reduced to a point and tne two boundaries connecting to this point are tangent to each other. The nature of tne representation of the rational Coons patch creates two additional problems for the computation of tne normals. Tne parameterisation of tne surface leaves two extra decrees of freedom wnicn allow a modification of tne spacing of tne parameter without altering tne geometric snspe of tne surface. When displaying rational Coons patches, it is necessary to determine tnese two parameters so that the spacing of the curves on tne surface is optimum. Also tne use of blending functions that are rational complicates tne computation of derivatives. ' Some surfaces co not have a mathematical representation. For those, it is necessary to compute a unicue normal at eacn vertex based on tne polygons approximating the surface. Df course since we know how to approximate mathematically defined surfaces witn polyaons, this metnod of computing the normals is also applicable to tnis class of surfaces.. 29 Consider point A in figure 6, end tne four oolygons surrounding it. h'e cen approximate tne normal at ooint A as tne average of the four normals to polygons 1,2,3 and 4. Tne normal to the polygon can be comouted in many different ways. It cen be comouted as the normal to the best fit plane through the vertices of the polygon. Since riatkins' algorithm tolerates non-planar polygons, it would be dengerous to assume tnat ell oolygons are planar. A convenient method to ootain tnis normal is to compute the cumulative sum cf the cross product betv/een the vectors representing two successive vertices. For instance in figure 6? -*■ -r . -+• -t■ -r -r -*■ N! = DA 03 + OB 0C + DC 0D + DD DA if □ is tne origin. ' • A-normal comouted in this way has a lenctn proportional to the area of the oolyoon. In this case more weight is given to the Dolyoons with large area. If the lengtn of each normal is set to unity before the averaging is performed, then all polygons will have equal weignt. Rather t.nan comouting a normal to a best fit plane, one can comDute a normal local to the vertex where the shading is being computed. This normal can be obtained by taking 'the cross product of tne two edges sharing this vertex. Tne length of such a normal would be proportional to the length of the two edges and give more weignt to the polygons witn long edges. Alternatively., tne ienctn of this normal could. 30 be set to unity which would give equal weicht to all polygons, or the length of the normal could be proDcrtionel to tne angle between the two edges sharing this vertex whicn would give more importance to the polygons having wide angle at this particular vertex. Tne two methods based on tne best fit plane have been implemented: one resulting in a normal weighted by the area of tne polygons; one resulting in a normal-of length unity, in the pictures of the T-37 computed with tntse two methods, no significant difference was detectable (figure It), and it was necessary to have the unbalanced polygons of figure 17, and to greatly increase the contrast of the picture (intensity proportional to cos5 e rather than to cose) to distinguish a difference. , If an object is defined in several pieces, it is necessary that the averaging we nave described be a oplied across the boundaries of each oiece if the shading is to be smooth between adjacent pieces. For instance this is the case for objects made of several Bezier or Coons patches. Consider again ooint A of figure 6; two or tnree of the polygons I , 2, 3 or 4 may be missing if A is a point of tne boundary of the patch. Tnis wou1J cause no problem if the batch were alone, but if there ere several patches which are intended to be tangent to eacn other, we may have discontinuities of the sheding across patch boundaries if we do not take scT:e precautions. When computing the shadingPic. 11.- Two pictures of the same T-37 shaded according to tvo different methods fcr computing the normals. The horizontal portion of the ta.il is not- shaded correctly because the same data point has been used both for the vertical anc horizontal polygons cefir.inc the tail. The averaging .process of the normals at that point resulted in a normal inclined at. 45 decrees.for a boundary point, it is necessary to take into account that tnis point may belong to one or three other ostches, tangent along this boundary or sharing this corner. The two or three polygons missing are in fact on some other patch, and they have to be used when tne normal at the boundary pcint is computed. This is to ensure a \"unique value\" of the shading at this point when computed for the different patches. Accessing polygons belonging to adjacent patches ~=y put some extra burden on tne data structure and on the procedure for evaluating normals. Tnis problem had been avoided with the exact computation of the normals since by definition alone the common boundary of two tangent patches their mathematically defined normals are colinear. Tne third method for obtaining normals is the eyeball estimation method. It might seem unreasonable to rely on such a crude method, but it was used cn the T-37 before computing methods were availaole and proved quite satisfactory. The results obtained snowed some interestinc properties of the shading method. For instance, it appears that tnere is a dent behind tne canopy of tne T-37 of figure 12; this dent is in fact an illusion created by an erroneous normal. Estimated normals can be used to give the illusion of tnree dimensional shape by plotting on the picture an intensity which bears no relation to the actual shape of the object represented. Tnis has been used, for instance, to plot stress concentrations cn a sheet of metal (ficure 13). ' 3 2 Fig. 12.--Another view oC the T-.37 of figure 11. An erroneous normal at the center point just behind the canopy has a strong component pointing toward the wing. This resulted in the \"painting\" of what seems to be a dent. The cause of the light stripe on the wing is not fully understood. It may be caused by the way in which Watkins' algorithm treats non-planar polygons.3 h t ■>*^ ntw > __i£ • it *1 i'kVj >te U1A■ li Fig. 19.- DC-0 airplane shaded with the polygon approximation. t -e CX) 'T ...... 'TTTTW <.ilo -rPTiW.'M!. ^fl?S|Kpp i M'ii ulfetti iiilligiaSi Fig. 20.-- Same view of the DC-8 shaded with the smooth shading technique. Too many points have been used to define the geometry of the airplane, and the improvement obtained over figure 19 is not dramatic.Fig. 21.-- B-58 airplane shaded with the polygon approximation. Note that only 0 points have been used to define each circular sections of the engines.'nr,- '■ t r^TrTmT^T' MM? ■M&! l§§^^ Fig. 22.- Same view of the B-50 with smooth shading. Decause few points have been used to define them, slightly lighter lines can be seen on the engines where there are discontinuities in the derivative of the shading. 71 < i U» «t % •* (: * 1 If) 1 rf tn 1-#. c: ;t ii (i. U) :r L7* C O *-« i-* Cl. tt » f CD • O \\'0 ' (> ( t o r i (D r\\ j CD n ([) o CD rt • CD iD • D rt O p.' c o. i... Lri O rf .. | »-*- • 1, ; i o ri C (t ct» tn M 'n »-'• a rt (D {\\y a' rt m n tJ (0 »->• ID ►-K f-* :r C) cn O M CD * h n rt * i-* m i \\ o :_1 1) c r 1 0) v< :t o 0) rt J) r t < t- 'U rl- tn M »-■• rt (D 1-' (• (.) **1 :x :J o n ' (-'• -t C) (D i-'- c; CJ r i o 1) rt O' in o. a id o o *< rf r f I/l (0 TJ 'J _T CD o. h-j o o.) ' o CD • 1) B O T-*• o o , t n> :j u: i: M > »-* ■D O <■ ' »-■ o a) < 0^ (J (D Q O :.i CD »'**• rt O j ‘ t ;j o CD cn r) M r-* *--*• O Cl (» C*> (D (0 o o (u D i-j. ft O n 10 ri' ‘/i D ::1 (I) -1 (f) (U O In C In o ) < O u M> c n CD X f t CD M ID (D :j X \"1 b-'- 0i rj n y ' u M r » rt- t-j- r» h ■»• 01 o -< CD a> » j. o a. tD C » n i-* a rt O CD a D CD o • »-»• IT a in fl> . c ZJ D -1 < in CD I-> 0) U o f) . c: a in rf -V CD 'U r \" ri- a < CD ‘t) ri o H- IT CD CD J i y-j. i; tD CD ri CD a. o. in i CD r» I < > ( ) : 1 u 1 < D » t» O rt tD ■ i i * ' t - ii ; i • I. o ( . » *• il> (11 (: C) (It ■ i. M f i CTi **< < v J vD (D 1 \\ ( ) » ♦ •-l» O o CD M* lit i 1) D »•) (1 .11 i <• c I) C\") i -»• :j CD O < I (D < < tD C ) t t o i t cf I o. (\" (0 r-- ' tn - .o O ;i.i - rt ■ 1 C‘» (D c; : 1) tn . C) rt a> ri ‘1 :} » '• to \\ n c ri ' z.y • K N-v^ CD D < i r» : > * 1 l . li> (D (i) Cl (D iD 'j) *■( >o ; o -* i tl O 1 t, o 0) in c (D * h o ri n» (1) r.i i... CD G> 0' ij. O. <) ^ I ; ( (D I -* c f in Cl 7J ip K-C. CD CD r: 77 in i j. (i. n III O i m CD -h (» Cl « I - 1 *o n» (.Jk> =J i-■ :3 rt- (D U) CD I/) (i o C (0 O i. •. I/) o C) j.-. <0 c O i • 1 T» o o rt- 7J‘ at tn f... :j o 7J' n ' \"S u o 77' rt <-♦ rt \"0 .J iD CD h->. • CD M* m '0 t;i • O CD *1 O. m o i ) 10 o_ 1 j o o r+ rt- rt H'* CD o rv 111 »-» »-*• CD C • u :.j cf O v r+ :j (7 CD :j t) c: p> 0) 0) CD M :) (n CD r» -r) 1 ^ l-». 3 a (D • rt .11 (!) : j 1) »D IX (l) 1 (D CD O r t rt m r f ii:: O' (n in (n i..) O D r+ * < i *» «D » o h-»- O ‘c; ■J O r' t-' in V-' CD CD a> :r 3 0? rt 0i t/i i •,- - rt :j o D o. <■» a IT CD o O CD o n ;r ■i rt (D in 1/1 •-h »-K r> rjr u> o CD rt (0 h->. r» ;r V--» '-I :;r o o t-1- rr Cl c III :D rt i.j. O' tn < >->• O j o 0) in c__ in CD t-- C (D LI »_». U^«rf< *\\* J*i in 04 ti>,.. I ilMM U WbUJiwM.. m-,i*t. Fig. 31.-- Side view of a Barracuda. o c J o> n» rt 0 i. 'I ) ' t 1? U »-*■ u. rt *■ i o c o cl Ul d r i> »■*• O ;; a- a *-< j o o ()_ < ? a 1 I I m * •*• I < \\ il? C: Cl ll) (0 ; i ■ < it> (1) U. rt i_*. ft- [.) i/) * t ; r t •■ IV> tn :; :_r rt C) ii> (I) ib o I * C (n * 1 fD •r> f i * 1 . lit iD a? n O <0 0) -t ii> » * • \\ • U ir i- - tD Ul f t .|> ;,i (1 :j 0 c: r ^ Hi r i- i c \\h ;»j J o Cl V ,_r. i - < ■> i.; o (X O' v ‘ t ;n r i 0) rt M- Ul b -* I J'' a* rt 0) 'J (D 1-' tiJ 10 i- ->• r+ < V/l O. o rt < VJ. .7X M ►-i. M (1) ID vD »D ct (). (D *-K o O' E? Of O zr (!) *-K ►-N V* 0) r i O. i\". O O • * 5, o (1) ^)* U ru U Ul < » r ^ :) 0) CD U‘ Ul il) c: iJ r t* (u /■ f u. . *1 1U (D m Ui o. 0) r-» 1) rI i-■ (0 o Ul c: CD rt *-y, 'C (D M Ul D‘ »-'• f) »- *• ‘-K CD (> 11) o o r> D flJ \\0 o <- » ♦ h c: o (/) o -J) o n c; CT? r: v- »• rt (D CD o 0) * i r.i r t 10 r» o < ) U> M ; 1 K ' C ; x 7) >< Ul » 'O (0 r r u C r * r» T) i- »-»♦ c: o rt o j H* C) (0 i\\) O 1.0 M c 1) M ::1 O rt (0 r+ c w in :3 O o f> r» cr> ri ;■) il O' u LJ CJ. C) ■-- o (n 0) in c -■< CU f 1 i) .J 01 I-■ rt 0» n ; i O O O o n> I-... n U! c: ‘s 11 in -* ;) in i 0) M M, ■i) *.)_ '1 o 3 (1) (D \"< u» i i rt fl> O Ul L.) 0) li v >■ :.r ;r G. a> CD • M 0) in CD o i in rJ rt 3 <0 nj ii) :j ‘ x 0) o M o i-■ ■JQ l/i r-» c O H* i-* r t- O rt* o (n O r~l <0 ::>■ 'U .o < rt- CJ O' :j (t* c I-* (l> 0) »w. •j) CD kV - CL rt o. Ul O 1-*REriRcNCtS !1j L. G. Roberts, \"Machine perception of three-dimensional solids,'1 V.. I. I. Lincoln Lab., Cambridge, Mass. , Teen. Rep. 2 15, .'ey 22, 1 963. [2] R. Galimberty and U. M.ontanary, \"An algorithm for hidden line elimination,11 Instituto di El e tt rot eenn i c a ed E1 et :ron i c a , Relazione Interne, A or. 1963. :j 3. R. Kubert, \"A computer method for perspective e:-r esentation of curves and surfaces,\" Aerospace Corp., San -rnsrdino, Calif., Dec. 1968. . Louterl, \"A solution to tne hidden line problem for ter drawn poiynedre.'1 uep. El ec. Eno. , New York Univ., br , N. Y.; Teen. Rep. 39.02 3, Jan. I 9c7. \"Co \"n ! t .11 ~ w ter assi sted assemely Co 7. - > : r . Sci, Un i v. C f U t 1 970. so_:ns,\" uept. uottut. oci. Univ. ct utan. ^ait i_a,ce City, Teen. R e p ' : i J . E • ■ V d y n i/1 n i n s ur face a i c c r i :nm - O ]T com put er genera t 9 na 1 ion 6 C' j. C ‘C u res ji t D e p. C /'N .71 OU i. c * ^ C 1 • i uni v ■ o f Yt an , Sa i * w r P ty - 7 e C Pi * u e p. 4 - i 5 i :j n e 1 6 y • - - - r- . . J m S • M £ T ins. Ji A * * i i i m e v i s i U 1 e S'J r f a c e ■1 gor i thm it i J £ P . c ! .i 'J *r • 5c j- • * , i UTi 1 v • o f Uten, 5 c i j- L T - • / ~ Ci -y, Tec Rep. JiEC-CSc- /0-10i , July 70. : 5 j R. S. Rouoelot and R. S.noemaker, \"G.E. real time _ display,'1 General Electric Co., Syracuse, N. Y., NASA Rep. N5 v-39 i 6 . I> 3 'AGI, M21namat leal Applications Group Inc., \"3-D s : -r.ufi -.zed graphics,\" ~ a t a m a t: on. vol. 1A, Feb. 1963, p.69. ! i C; A. Appel, \"Tne not i pn of qua' tr.e machine renderin': of solids,\" • , p. 387,195 7. II ;hace.s's and m.pvaole light sources, ;: A - - er Con f . , A F I R S Hr oc . . vol. 3o ; - - r c j o 7 p - - 1 _ I . ■> m ^ ^ 1 s t ^ i j . ■ I I __/ • t a t i v c> i n v i s i b i 1 i t v and ;s. (J2 .zn yl* l5Cb- C.QHI • ey 1 ii * n cl cori thm for ic 5 v CCS nt a t i o n s with i n i ^ i N- 7 5 nnios JuinL . o n z v a 1 e 1 N. J . : AFIPS i 2 3 R. G. Co.moa, \"A procedure for detecting intersections : three dimensional opjects,\" IbM Nets' York Scientific 'enter, liew York, N. Y. , Nep. 39.020, Jan. 1967.6 6 33 -> rt . Man! , Jl Vi s ibl e surfac e algorithms for quadric t c h e s , \" Deot. Comout. Sci . , Uni v. of Uteh, Selt Leke City, cn. Pep. . UT EC - -CSc-70-1 1 1 , Dec. 1 970. [ i 4 3 p. A. n e i c C \"tie vision, a packeo e o r oo r ens to 0 r e w ortnogr ephi c views 0 w/ Ian es e .nd cue or i c surfaces,\" J. A .= S . Cs 1 •j Apr. 1 966, pp. 194-204. >90 Fortran nations of ‘.z.Zh. , vol. - *» o j Ret Ii f ;/ ech bends • P c t i a S a n -' ^ ^ - * '-'Cl I O • * p * F r e p. i hoi den-Jay, 196: [!6] P. Bezier, tmc 1 o' df_s m acnj Wesson et Cie.f Paris, 1970. • 6 s a c ^rr numer i nijg , [ i 73 A n Fo rrest, \"Int er oo 1 » 4- C L i on and approximation by i 8 z i 00 i ynom i eIs ,11 Computer A i w- ed De s i cn urouo, Universi ty 0 7 rs . i i w ■n c r w i -n 'Di sn 0 , C riD C r o u .Do CUP! ent , Get. 1970. I \\o) T. il. H. Lee, 11i nr ee-d i mens i o r, e 1 cu rves end surfaces for rapid comp u t e r disc i ii «. w r 7 Hsr vard Uni v ersity, Cambridce, ess . , Tech . P 60. ESD-T 3-69- 159, A or. 30, 1969. ' [19 3 A. Hesrn, \"RtDUCE 2' s y st e: i en ouac* for enipulation, \" P^oc . Second Sv^pos iu~ on Symbol 1 c on, Los Angeles, ;‘,ercn 1971. [203 5. A. Cccns, \"Surfaces for /•N - -pace rorTis, \" i.;., Csmoncce, ‘.'ess., Project < ' - •-)_/ I ;->n- lo^\"1 \" •: r. u i ‘-t \\ , ^ ^ il c I V O i . _,es i pp. .'AC. n6C, [2 i i A. R. Forrest, \"Curves end surfaces Design,'* Cambridge University, England, Tr.esis , July 1 968. :r computer '.l.D Group, h. l cea_ Ph.D.Lp 1 - „ * Zi ? 3-58 2 8,25 APPENDIX Statistics on the fic;;res ;?'xri>er cf Number of Kuinber cf Utilization of Vertices Edces* Pcivcons Watkins hardware >~C CP 1 i men 1C24 612 1751 451 100% 50% 729 13S6 513 160% 80% 331 = 1000 224 60% 30% 662 = 2000 44 S 95% 48% - 2000 448 127% 64' 640 1635 420 82% 41% 272 - 750 206 90% 45% * edges are n e t shared between polygons APPENDIX b int bEZIhr? PAlCH-5 The need for a meaningful output method for curved surfaces superseded the original goal of this research which was the interactive design of surface catches. Although nothing significantly new is presented here, we feel that e or i e f description of the Bezier patcnes snouid be included ss a stepping stone for future research in tnis area. This appendix draws heavily on s boo;' written by Bezier (in French [16]) and on a yet unpuolis.ned article, by P.. Forrest [173. The theory behind tnis family ;ur faces was originally developed at la REGIE .-^EnAJLT dv Mr. Bezier. Its principle can be best understood by exolainino how it allows representation of three dimensione 1-curves. Given a collection of points AO, A!, ... , An definino a characteristic polygon -which is usually not closed- of sides SO, SI, ..., Sn, a curve is defined as n ?(t) = I 5 *F (t) i=o i i Ci Appropriate constraints cn the properties of the functions F(t) will relate the ceometric shape of the curve to tne69 characteristic polygon SO, SI, Sn . Tne conditions F (t) = 1 F CO)=0 F (1)=1 i^O 0 i i \"ill ~ak e the curve beqi r, at point AO and end at point An, oecause n P(0) = SO = AO ?(1) = I Si = An . i=0 . . n s conditions ?' (0) =0, F' (0) *0, F' (0) =0 i^l 0 1 i F' (1) =0, F' (I) *0 i^n i n >i:i make tne curve be tar,cent to SI for t=0 and to Sn for . = i, oecajse n „ ■ P' (t) = 1 S *F' (t) i=o i i P'(0)-k*Sl P'(l)=:<'*Sn k, k' scalars . iilarly tne conditions F\" (0) ^0 F\" (0) =C i ^1, 2 1,2 i70 F1' ( 1 ) ^0 F» ( I ) =0 i , n- n, n-1 i al D(D(P(0))) D(D(...D(P(0)) ..)) where the operator D( ) is the finite difference operator defined as: 75 D(F(t) ) = (F(t+n) - F(t))/ = scale factor. Because the finite difference operator is linear we can write: n D(P(t ) ) = I A *D(F (t) ) i=o i i n l n-i F (t) = ( )*t *(1-t) i . ■ i Therefore if we have precomputed the difference coefficients for each function F(t) we can write in matrix form: 0 P (0) F (0) 0 F 1 (0) ... F (0) n 1 ' D P(0) • 1 D F (0) 0 ' • 1 D F • (0) ... 1 u F (0) n • • • n D P(0) = • • n D F (0) 0 • • n D F. (0) ... • • n D F (0) n •*r i . Computing by nend tne n+1 finite difference coefficients for the n functions F(t) has been avoided by using the symbol ic manipulation possibilities of REDUCE[19]. A very simple program was written to compute the finite difference coefficients of ell polynomials of the form n i n-1 F (t) = ( >t *(1-t) i Appendix C shows a sample of the output of tnis program. Values of these polynomials were computed for t=0, h= 1/8 end h= 1/16 and t - n. This last value of £ nas been shown oy Ted Lee in [18] to be best for limiting round off error accumulation during tne evaluation of each curve. It became evident at tnat point tnat the 18 bits of integer arithmetic of the matrix multiplier for which tnese finite differences were intended would not hold enough precision, end researcn on this particular item was stopped here. Let us now examine how tne description of a patch falls out from the curve repesentation. \"A surface is defined by ~ the locus of a curve which is submitted to a displacement as well as a change of shape\" (Bezier [16]). Tne curve whose locus will define tne surface is generated by some characteristic polygon A00, AOI, . . . AOn. The locus is then defined by the curves followed by eacn of the points AOi. In turn, each of these curves is defined by a characteristic polygon AOi, Ali, . . . , Ami. A patch is therefore defined oy an \"array\" of points A ij 0< i __