272

Sculpting Polygonal Models using Virtual Tools

J ames R. Bill Suresh K. Lodha Computer and Information Sciences University of California Santa Cruz, CA 95064, USA [email protected] [email protected]

Abstract the use of pressure-sensitive pens and virtual real­ We describe a sculpting system for designing ity equipments. Therefore in this work, the term free-form polygonal models using virtual sculpting computer sculpting is used in a very broad sense. tools and mesh refinement operations. Virtual tools Nevertheless, the key goal of computer sculpting is are geometric objects with shapes described by su­ the design of free-form objects. A flexible computer perquadric equations. The user controls a virtual sculpting system allows designers to translate their tool to sculpt a free-form polygonal model start­ understanding of form directly into a finished geo­ ing from a mesh. The vertices of the mesh respond metric model. to a tool in a semi-realistic manner, allowing the 1.1 Overview user to push, pull, and deform the mesh in a vari­ The goal of this work is to create an intuitive ety of ways. Mesh refinement operations allow the computer sculpting system. This has been achieved user to control refinement levels and create smooth by a novel unification of known techniques, some objects. Interactive shadows and a virtual track­ of which have been adapted to our purposes from ball considerably enhance the intuitive manipula­ use in different contexts. Our work builds upon tion and sculpting of models. The strength of the the techniques of interactive manipulation system has been demonstrated by sculpting free­ using decay functions initially proposed by Parent form surfaces such as a dog, a fish, a banana slug, [Par77] and extended by Allan et al [AWW89] . We and a dinosaur, all with widely varying levels of de­ further enhance these capabilities by incorporat­ tail. ing adaptive subdivision and smoothing techniques. Keywords: , computer sculpt­ Moreover, we have used virtual tools to identify re­ ing, interactive modeling, polygon meshes, shadows, gions of interest, which can then be pushed or pulled smoothing, subdivision, virtual tools. by the user in an intuitive way. In previous sculpt­ 1 What is Computer Sculpting? ing systems, virtual tools have been used mostly in conjunction with boolean operations. Finally, inter­ Ideally, the term computer sculpting should active shadows and use of a virtual trackball provide be used to mean a computer modeling system in the user the intuition necessary to manipulate these which the goals and techniques of traditional sculpt­ objects with ease. ing are emulated. However, the goals and tech­ niques of traditional sculpting vary widely depend­ 2.0 Previous Work ing upon the artist and t.he material used for sculpt­ It is rather difficult to provide a comprehensive ing. This variety is reflected in the computer sculpt­ survey of existing computer sculpting systems in a ing literature as well. The employed models in­ very limited space. Therefore we focus on previ­ clude polygon, point-based, parametric, algebraic ous research on polygon mesh sculpting and virtual and implicit models. The techniques for creating tools. Other sculpting systems are mentioned very models include the use of virtual sculpting tools, briefly. For details, see [BiI94] . decay functions, physics-based dynamics and vari­ The four most significant polygon mesh based ational principles. The user interface varies from sculpting system are those of Parent [Par77]' Allan traditional inputs such as keyboard and mouse to et al [AWW89], Leblanc et al [LPMTT91], and El-

. '.'-"- ...... , . . ~::. . Graphics Interface '95 273 son and Malone [Els90b, Els90a]. Parent initiated based and parametric representation. The effective­ use of the basic vertex-movement and decay func­ ness of this system in representing artistic models tion techniques used in all of these systems. His for use in animation is unclear, since the models cre­ is the only polygon mesh system that uses virtual ated by them so far still seem to be highly geomet­ tools. Allan advanced the use of decay functions ric in nature. Another class of sculpting systems and defined "move-vertex" as the fundamental de­ based on physics-based dynamics has been pro­ formation technique; both concepts are reflected in posed by Terzopoulos [TF88] . Variational principles our work. Leblanc chiefly concentrated on improv­ have been used by Celniker and Gossard [CG91], ing the interface to an Allan-like system. Elson's pa­ Moreton and Sequin [MS92], Welch and Witkin pers illustrate models sculpted with the S-Geometry [WW92, WW94] and Halstead et al [HKD93] to polygonal modeler created by Malone. This sys­ create free-form surfaces. Implicit and algebraic tem used winged-edge representation for polygonal representations have been used by Bajaj [Baj92], meshes and unlike other systems relied heavily on Bloomenthal [BW90] and Wyvill [Wyv92] to design subdivision and smoothing techniques. free-form surfaces. Finally, the 3D paint system While the basic operation of moving a point of Williams [WiI90] uses a technique in which the is central to interactive modeling, virtual tools of­ painting in 2D is translated into 3D sculpting by fer a higher level of deformation control. They al­ correlating the colors in a 2D painting with depths low multiple primitive operations to be applied to a in 3D. A technique resembling 3D paint is also used model simultaneously, in an intuitive fashion. Vir­ to this end in a physics-based implicit modeling sys­ tual tools have been used in a number of model­ tem by Pentland et al [PW89]. ing systems, most typically as a method of defin­ 3.0 Sculpting System Features ing boolean operations to be applied to solid and This section presents an overview of the most volumetric models. They are used in this way by notable features of the system - polygonal mesh Parent (whose polygonal models described solids), modeling, virtual tools, decay functions, mesh re­ Naylor [Nay90], Mingxian et al [MFD93], and in finement operations, shadows and virtual track­ a related way by Galyean [GH9l] . Mingxian uses ball. CSG-based virtual modeling tools in a non-free­ form CAD system. Pushing and pulling points as 3.1 Polygon Mesh we propose to do has been done to some extent by Polygonal meshes are effective in sculpting ap­ Brewer [BA 77], Hsu [H H K92], and Szeliski [ST92]. plications due to their simplicity and generality; Brewer pushed parametric surfaces' control points their simplicity makes them easy to understand, with a planar tool. Szeliski used tools to apply and manipulate, and implement, while their generality cancel forces in a particle-based modeler. Hsu used allows them to represent free-form objects to any pushing and pulling tools to impart free-form de­ desired degree of precision. In fact, it is termed formation (FFD). Riesenfeld [Rie89] described high the most popular type of geometric modeling repre­ level design tools for shaping spline models. sentation by Paouri et al [PMTT91] . Other benefits In addition to the polygon-based sculpting sys­ include and the availability of graphics machines op­ tems, there are other well-known computer sculpt­ timized for the display of polygonal surfaces. Some ing systems that employ parametric, algebraic, im­ of the difficulties associated with the polygon mesh plicit or point-based representations. The free­ representation include large memory requirements form deformation technique initially proposed by and lack of control on geometric continuity. Sederberg and Parry [SP86] is based on deform­ The system uses the winged-edge polyhedra ing lattices by means of moving control points, that data structure to represent both the mesh and the represent parametric surfaces. Since then several tools. Winged-edge polyhedra were originally de­ improvements and extensions have been suggested veloped by Baumgart [Bau74] to represent solid ge­ [BB91 , HHK92, CJ91] . Hierarchical B-spline refine­ ometric models. Our implementation, based on the ment techniques [FB88], S-patches [Lo090], spline the winged-edge data structure recommended by surfaces over irregular meshes [Lo094] and topo­ Hanrahan and Glassner [Han82, Gla91, Bi194]' is logical design of sculptured surfaces [FRC92] also described in detail in [BiI94] . use parametric surfaces. Szeliski [ST92] proposed a Ini tially, the user initially selects a starting point-based representation, which has been further mesh or model, which may be read from a file or developed in the more recent work by Welch and may be chosen fr om a number of predefined ini­ Witkin [WW94], which uses a combination of point- tial configurations, including plane, sphere, tetra- ···:'··· ' . . :. ~ Graphics Interface '95 4.' 274

hedron, cylinder, and box shapes. The user also 4.1 Mesh Refinement Operations chooses an initial level of refinement. Default Supported mesh refinement operations include meshes are triangular, although the system sup­ adaptive mesh subdivision, smoothing, hole-filling, ports N-faceted polygonal meshes as well . and deletion of subparts of a mesh. Subdivision 3.2 Virtual Tools allows the region to be subdivided to whatever Virtual tools are 3D geometric objects of dif­ degree is desired. Furthermore, a region can be ferent shapes and sizes. Our tools have two main smoothed, which transforms the mesh subregion into attributes: shape and action. Currently, the sup­ one that appears smoother. Depending on the type ported basic tool shapes are box, cylinder, and of smoothing done, the number of vertices in the sphere, all of which are rendered as polyhedra. region mayor may not increase. Hole-filling allows Since the tool can be interactively scaled along any a hole in the mesh to be replaced with a face. Dele­ principal axis at any time, a variety of tool shapes tion removes all vertices and incident edges in a a such as ellipsoids, cubes, and disks can be generated region, and can be used to either introduce holes from the three basic forms. to the mesh or to replace mesh sub regions with a single face. 3.4.1 Adaptive Subdivision The system supports three types of subdivi­ J\/\A!\n sion, which we refer to as subdivision with propa­ Goo BeU Cusp Cone Flat gation, subdivision without propagation, and trian­ gulation. Figure 2 illustrates the difference between subdivision with propagation and subdivision with­ Figure 1: Shapes of decay functions in the basic out propagation. In subdivision with propagation, set. the faces adjoining the selected region are also sub­ divided such that no faces with more than 3 sides Each virtual tool is represented internally in are created as a result of the subdivision. In subdi­ two ways: as an analytical superquadric equation vision without propagation, no subdivision occurs [Bar81 , F B81 , PW89], and as a winged-edge struc­ outside of the selected region, so faces outside the ture of faces , vertices, and edges corresponding to selected region may increase in number of vertices. the equation. Superquadrics are extensions to the refers to subdividing only those se­ standard quadric equations, which describe the fa­ lected faces that are not already triangular. The miliar ellipsoid, torus, hyperboloid of one sheet, and two distinct methods of subdividing individual faces hyperboloid of two sheets. The equation is used in are illustrated in Figure 3 and are described below. collision detection calculations, while the winged­ Single triangular faces are subdivided using the edge structure is used for the rendering of the tool. quaternary method described by Samet [Sam90] . In The three tool actions supported are termed this method, a single is replaced with four define-region, push, and pull. Define-region tools by connecting the midpoints of each edge simply define regions of the mesh for the mesh re­ of the triangle to form a new central face and three finement operations to be applied to. Push tools new faces adjacent to the central triangle and inci­ act like a solid and push away vertices they come dent to the original triangle's corners (see fig. 3) . in contact with. Pull tools pull vertices in contact This method maintains triangularity, limits vertex with the tool as it is moved. degree (new vertices all have five or six neighbors) 3.3 Decay Functions and breaks up existing faces such that the new faces The user must also define a currently active have a fairly regular shape. The previous method decay function for the push and pull actions. The cannot be used for N-sided faces for several rea­ decay function determines the way a vertex transla­ sons: the central face created will not be triangular, tion propagates to surrounding vertices. All decay the new faces may have widely varying areas, and functions possess a range and a type. The range the method is not well-defin ed for concave faces. determines the number of surrounding vertices that Therefore, N-sided faces are divided by connecting can be affected. Figure 1 illustrates the basic shapes each corner of the face to a single new central ver­ of the standard set of decay functions; these include tex. Currently the face's vertices are averaged to Goo, Bell, Cusp, Cone, and Flat. The correspond­ calculate the new vertex. The face's centraid, or ing equations can be found in the original thesis center of area (a notion similar to a physical ob­ [BiI94]. ject's center of mass), would lead to a more regular

Graphics Interface '95 275

Vertices selected by intersection with tool Selected faces subdivided without propagation

Vertices selected by intersection with tool Selected faces subdivided with propagation

Figure 2: Triangular subdivision, with and without propagation. subdivision. Since this method does not introduce ing algorithm from triangular meshes to arbitrary additional vertices to adjacent faces, there is no no­ meshes. The models created using Elson and Mal­ tion of propagation of this type of subdivision; faces one's S-Geometry system suggest that they have can be subdivided with no consideration of adjoin­ used the Doo-Sabin algorithm, though this is not ex­ ing faces. The implementation of this method is plicitly stated in their publications [Els90b, Els90a]. therefore much simpler than that of the previous Allan et al also use a "smoothing" decay function technique. which appears to do a sort of averaging with no subdivision step [AWW89], although no concrete details are provided. 3.4.3 Filling Holes Users may refine meshes further by filling and creating holes and to replacing mesh regions with single faces. To fill holes, we define the average Figure 3: Quaternary triangular face subdivision point of the vertices on the perimeter of the hole, and N-sided face subdivision. and connect each vertex to this new vertex, replac­ ing the hole as if it was an N-sided face. 3.4.2 Adaptive Smoothing 3.4.4 Deleting Mesh Regions The best-known smoothing algorithm is per­ haps Chaikin's corner cutting algorithm for bi­ A two-step algorithm is used both to replace re­ quadratic tensor-product B-spline surfaces and its gions with a single face and to create holes. First, all generalization to bicubic tensor-product B-spline edges which border two selected faces are deleted, surfaces [Cha74]. Unfortunately, Chaikin's algo­ which eventually results in all selected regions be­ rithm only works for rectangular meshes. The two ing reduced to a single selected face. If the intent other best-known smoothing techniques, those of was to replace all selected mesh regions with single Doo and Sabin [Do078] and Catmull and Clark faces, we are finished at this point. If the intent [CC78] are generalizations of Chaikin's algorithm to was to create holes, we then delete the remaining arbitrary meshes but still work best for rectangular singular selected faces and update the edges around and nearly rectangular meshes. Our system uses them to point to outside world. an adaptive version of the subdivision algorithm 3.5 Shadows proposed by Loop [Loo87] . Loop 's subdivision al­ In our system , a single perspective view of work gorithm seems to be the most judicious choice be­ space is maintained at all times. In order to indicate cause it is a generalization of the box-spline smooth- the spatial relationship between the tool and the

Graphics Interface '95 276

Figure 4: Major steps in the creation of a dog model. model better, the tool can cast a shadow [Wag92) on 4.0 Models Created the model, and the positions of the two light sources This section illustrates a few models created can be freely modified. The algorithm used is an with the system to demonstrate its capabilities. We adaptation of the shadow volume technique initially first give a detailed description of the creation of a proposed by Crow [Cro77) and updated by Hudson dog model. A collection of other interesting models [Hud92). Our algorithm improves upon these meth­ created using the system is then presented. Each ods through use of the stencil bitplanes available on model will be described by both an illustration and modern higher-end Silicon Graphics workstations. complexity statistics (number of vertices, edges, and Full details are provided in [BiI94). faces). 3.6 Virtual Trackball Figure 4 shows six stages in the sculpting of Each object has either a lo cal center of rota­ a dog, supposed to be of the Doberman Pinscer tion (COR), which moves with it as the object is variety. The initial ellipsoid-shape, shown in the translated, or a global COR that remains station­ upper left corner, was created through two appli­ ary. Rotations around the COR can be in any di­ cations of subdivision with smoothing to an initial rection and are controlled with a virtual track ball of box shape. In the top center image, the begin­ the type described by Ch en [CMS88). We incr ea~e nings of the legs and neck have been pulled out of the power of trackball-based rotation by allowing the torso. A Goo decay function was used for the users to freely edit the COR of each object. At any rear legs, a Cusp function for the front legs, and a time, users may choose to define a point in world Bell fun ction for the neck . In the third frame, the space by using a 3D crosshair that is manipulated neck region was subdivided and a crude head shape in the same manner as the mesh and tools. That formed . By the fourth frame, the tips of the legs point can than be declared to be the new COR for have been pulled out and front paws added, and the tool or the mesh. Objects' CORs can be de­ in the following frame the legs have been stretched clared global or local at any time as well ; they are further and pulled into a walking pose. The final lo cal by default, as this is generally more intuitive (lower ri ght) frame shows the resu lting model after and useful. Global scaling of t.h e mesh and tools, the head, paws, and tail regions, respectively, have using sliders, is also possible. been su bdivided and detailed. The model in this

Graphics Interface '95 277 image is made up of 2523 vertices, 4746 faces, and 7267 edges. Figure 5 shows a detail after the en­ tire model was smoothed with subdivision one final time, resulting in a model with 9927 vertices, 19850 faces, and 29775 edges.

Figure 7: A banana slug.

Figure 5: Detail of dog face after smoothing with Figure 8: A dinosaur: triceratops. subdivision.

Figure 6 presents a simple fish sculpted out of a 3181 faces , and 4879 edges. sphere and rendered in hidden-line mode. Note the 5.0 Conclusions and Future Work adaptive subdivision in regions where more detail is We described an intuitive sculpting system for needed, such as the eye, fins, and tail. The fish is designing free-form polygonal models. Its notable made up of 525 vertices, 1489 edges, and 966 faces, features include a novel combination of virtual tools, and originally was a sphere. decay functions, adaptive subdivision and smooth­ In Figure 7 we see a 3D version of our campus ing, interactive shadows, and virtual trackball. We mascot, the Fighting Banana Slug. This model was have demonstrated the effectiveness of the system created during a live demo of the program and illus­ by deigning several complex models that could be trates what may be done in a very short time using used in animation. the system (the modeling time here was only about The two major difficulties of the current sys­ 5 minutes). The slug was created from a sphere and tem are excessive storage requirements and the dif­ consists of 1036 vertices (a large proportion of which ficulty in aligning the deformation along the tool are grouped in the highly subdivided eyestalks re­ axes. We plan to incorporate mesh optimization gion), 1966 faces, and 3000 edges. [Tur92, HDD+93] and multiresolution techniques A model of the famous dinosaur triceratops is [LDW94, EDD+95] to compress polygonal meshes seen in Figure 8. The triceratops was initially a and use them more effectively in subsequent appli­ cylinder; the final shape consists of 1700 vertices, cations. We would also like to add the facility of constraining the tool movements to be tangential or to the surface. Other possible improve­ ments and enhancements include spatial decomposi­ tion techniques to determine collision with the tools, improved winged-edge data structure implementa­ tion to reduce memory requirements, incorporation of paint and texture tools, and addition of virtual reality input devices. Acknowledgments We would like to thank Jane Wilhelms, Alex Figure 6: A fish . Pang and the anonymous referees for many thought-

Graphics Interface '95 278 ful comments which has helped us to improve our [CJ91] S. Coquillart and P. Jancelle. Animated presentation. This research was partially sup­ free-form deformation: An interactive an­ ported by National Science Foundation grant CCR- imation technique. Proceedings of SIG­ 9309738 . GRAPH '91, pages 23-26, 1991. [CMS88] M. Chen, S. J. Mountford, and A . Sellen. References A study of interactive 3-d rotation using 2-d control devices. Proceedings of SIG­ [AWW89] J. Allan, B. Wyvill, and 1. H. Witten. GRAPH '88, pages 121-129, 1988. A methodology for direct manipulation [Cr077] F . C. Crow. Shadow algorithms for of polygon meshes. In R.A. Earnshaw computer graphics. Proceedings of SIG­ and B. Wyvill, editors, New Advance~ GRAPH '77, pages 242-247, 1977. in Compute.r Graphics, pages 451-469, Tokyo, Japan, June 1989. CG Interna­ [Do078] E. Doo. A subdivision algorithm for tional, Springer-Verlag. smoothing down irregular shaped polyhe­ drons. In Proceedings of the International [BA77] J. A. Brewer and D. C. Anderson. Vi­ Conference on Interactive Techniques in sual interaction with overhauser curves Computer Aided Design, pages 157-165, and surfaces. Proceedings of SIGGRAPH New York, 1978. IEEE. '77, pages 132- 137, 1977. [EDD+95] M. Eck, T. DeRose, T. Duchamp, [Baj92] C. Bajaj. Smoothing polyhedra using im­ H. Hoppe, M. Lounsbery, and W . Stuet­ plicit algebraic splines. Proceedings of zle. Multiresolution analysis of arbitrary SIGGRAPH '92, pages 79- 88, 1992. meshes. Manuscript, 1995. [Bar81] A. H. Barr. Superquadrics and angle­ [Els90a] M. Elson. Displacement animation: Devel­ preserving transformations. IEEE Com­ opment and application. In Character An­ puter Graphics and Applications, 1(1}:11- imation by Computer: SIGGRAPH 1990 23 , January 1981. Course Notes #10, pages 14-36. August [Bau74] B. G. Baumgart. Geometric modeling for 1990. computer vIsion. Technical Report CS- [Els90b] M. Elson. Winged edge polyhedral models: 463, Dept of Compnter Science, Stanford Their use in the construction of characters, University, 1974. speech, emotion, and body language. In [BB91] P. Borrel and D. Bechmanll. Deforma­ State of the Art in Fa cial Animation: SIG­ tion of n-dimensional objects. Interna­ GRAPH 1990 Course Notes # 26, pages tional Journal of Co mputational Geo metJ·y 21- 42 . Augnst 1990. and Applications, 1 (4}:427- 453 , 1991. [FB81] W. R. Franklin and A. H. Barr. Faster [Bil94] J. R. Bill. Computer sculpting of polyg­ calculation of superquadric shapes. IEEE onal models using virtual tools. Master's Computer Graphics and Applications, thesis, Department of Computer and infor­ 1(3):41 - 47, January 1981. mation Science, University of California - [FB88] D. R. Forsey and R. H. Bartels. Hierar­ Santa Cruz, Santa Cruz, CA 95064, 1994. chical B-spline refinement. Proceedings of [BW90] J. Bloomenthal and B. Wyvill. Inter­ SIGGRAPH '88, pages 205-212, 1988. active techniques for implicit modeling. [FRC92] H. Ferguson, A. Rockwood, and J. Cox. Computer Graphics, 24(2}:109- 116, March Topological design of sculptured surfaces. 1990. Proceedings of SIGGRAPH '92, pages [CC78] E. Catmull and J . Clark. Recursively gen­ 14 9-156, 1992. erated B-spline surfaces on arbitrary topo­ [GH 9!] T . A. Galyean and J. F. Hughes. Sculpt­ logical meshes. Computer Aided Design, ing: An interactive volumetric modeling 10(6}:350-355, November 1978. technique. Proceedings of SIGGRAPH '91 , 25(4):267-274, July 1991. [CG91] G . Celniker and D. Gossard. Deformable curve and surface finite-elements for free­ [Gla91] A. Glassner. Maintaining winged-edge form shape design. Proceedings of SIG­ models. In J. Arvo, editor, Graphics Gems GRAPH '91,25(4):257-266, 1991. 11. Academic Press, Boston, MA, 1991. [Cha74] G . M. Chaikin. An algorithm for high­ [Han82] P. M. Hanrahan. Creating volume models speed curve generation. Computer Gr·aph­ from edge-vertex graphs. Proceedings of ics and Image Processing, 3:346-349, 1974 . SIGGRAPH '82, pages 77-84, 1982.

. ~ ~~~ Graphics Interface '95 279

[HDD+93] H. Hoppe, T. DeRose, T. Duchamp, J. Mc­ films. In N. Magnenat-Thalmann and Donald, and W. Stuetzle. Mesh opti­ D. Thalmann, editors, New Trends in An­ mization. Proceedings of SIGGRAPH '93, imation and Visualization, pages 89-99. pages 19-26, 1993. Wiley, New York, 1991. [HHK92] W . M. Hsu, J. F . Hughes, and H. Kauf­ [PW89] A. Pentland and J . Williams. Good vibra­ man. Direct manipulation of free-form de­ tions: modal dynamics for graphics and formations. Proceedings of SIGGRAPH animation. Proceedings of SIGGRAPH '92, pages 177-184, 1992. '89,23(3):215-222, July 1989. [HKD93] M. Halstead, M. Kass, and T . DeRose. [Rie89] R. F. Riesenfeld. Design tools for shaping Efficient fair interpolation using Catmull­ spline models. In T. Lyche and L. L. Schu­ Clark surfaces. Proceedings of SIGGRAPH maker, editors, Mathematical Methods in '93, pages 35-44, 1993. Computer Aided Geometric Design, pages [Hud92] S. E. Hudson. Adding shadows to a 3d 499-519. Academic Press, 1989. cursor. A CM Transactions on Graphics, [Sam90] H. Samet. Applications of spatial data 11(2):193-199, April 1992. structures: computer graphics, image pro­ cessing, and GIS. Addison-Wesley, Read­ [LDW94] M. Lounsbery, T. DeRose, and J. War­ ing, Massachusetts, USA, 1990. ren. Multiresolution analysis for surfaces of arbitrary topological type. Tech Report [SP86] T. W . Sederberg and S. Parry. Free­ 93-10-05, University of Washigton, Seattie, form deformations of solid geometric mod­ 1994. els. Proceedings of SIGGRAPH '86, pages 151- 160, 1986. [Lo087] C. Loop. Smooth subdivision surfaces based on triangles. Master's thesis, Uni­ [ST92] R. Szeliski and D. Tonnesen. Surface mod­ versity of Utah, 1987. eling with oriented particle systems. Pro­ ceedings of SIGGRAPH '92, pages 185- [Lo090] C. Loop. Generalized B-spline surfaces of 194, 1992. arbitrary topology. Proceedings of SIG­ GRAPH '90, pages 347-356, 1990. [TF88] D. Terzopoulos and K. Fleischer. Model­ ing inelastic deformation: Viscoelasticity, [Lo094] C. Loop. Smooth spline surfaces over iireg­ plasticity, fracture. Proceedings of SIG­ ular meshes. Proceedings of SIGGRAPH GRAPH '88, pages 269-278, 1988. '94, pages 303-310, 1994. [Tur92] G. Turk. Re-tiling polygonal surfaces. Pro­ [LPMTT91] A. LeBlanc, P.Kalra, N. Magnenat­ ceedings of SIGGRAPH '92, pages 55-64, Thalmann, and D. Thalmann. Sculpting 1992. with the 'ball and mouse' metaphor. Pro­ ceedings of G"aphics Interface 1991, pages [Wag92] Leonard Wagner. The effect of shadow 152- 159, June, 1991. quality on the perception of spatial rela­ tionships. Proceedings of the 1992 Sym­ [MFD93] F. Mingxian, T . Fernando, and P.M. Dew. posium on Interactive 3D Graphics, pages Direct 3d manipulation techniques for in­ 39-42, 1992. teracti ve constraint-based solid modelling. Computer Graphics Forum, 12(3):C237- [WiI90] L. Williams. 3d paint. Computer Graphics, C248, 1993. 24(2):225-233, March 1990. [MS92] H. P. Moreton and C . Sequin. Functional [WW92] W . Welch and A. Witkin. Variational sur­ optimization for fair surface design. Pro­ face modeling. Proceedings of SIGGRAPH ceedings of SIGGRAPH '92, pages 167- '92, pages 157- 166, 1992. 176, 1992. [WW94] W . Welch and A. Witkin. Free-form shape [Nay90] B. N aylor. Sculpt: an interactive solid design using triangulated surfaces. Pro­ modeling tool. Proceedings of Graphics In­ ceedings of SIGGRAPH '94, pages 247- terface 1990, pages 138-148, May, 1990. 256, 1994. [Par77] R. Parent. A system for sculpting 3d [Wyv92] B. Wyvill. Building models with implicit data. Proceedings of SIGGRAPH '77, surfaces. IEEE Potentials, 11(3):23- 26, pages 138- 147, 1977. October 1992. [PMTT91] A. Paouri, N. Magnenat-Thalmann, and D. Thalmann. Creating realistic three­ dimensional human shape characters for compu ter-generated

Graphics Interface '95