A Ccnversational Extensible System for the Animation of Shaded Images(*)
Total Page:16
File Type:pdf, Size:1020Kb
A CCNVERSATIONAL EXTENSIBLE SYSTEM FOR THE ANIMATION OF SHADED IMAGES(*) by Ronald M. Baecker Dynamic Graphics Project, Computer Systems Research Group University of Torcnto, Toronto, Ontario, Canada Abstract The terms "conversational" and "extensible" are defined and shown to be useful properties of computer animation systems. A conversational extensible system for the animation of shaded images is then described. With this system, implemented on a minicomputer, the animator can sketch images and movements freehand, or can define them algorithmically via the Smalltalk language. The system is itself implemented in Smalltalk, and hence can be easily extended or mcdified to suit the animator's personal style. (*) This work was supported primarily by the Xerox Palo Alto Research Center. I. Introduction We shall now focus upon the second category cf systems. The strengths of GENESYS lay in the spontaneous, real time Computer animation consists of a interaction it facilitated, and in the variety cf techniques and processes in ccnceptualization of the computer animated which the computer is used as an aid in the film and the filmmaking process that it production of animated sequences [Halas 74, embodied. The heart of this Wein 74]. Computer animation systems can conceptualization was a duality between generally be classified as either image and movement, and a rich set of algorihmic or demonstrative [Tilson 75]. representations for movement and tools for the construction of movement. The ARTA and 1. Programming-language based systems Eurtnyk-Wein systems demonstrated the (Algorithmic systems) utility of various picture construction and transformation tools, including the ability EEFLIX [Knowlton 64], EXFLOR [Knowlton to interpolate between images (key frame 7C], and ZAPP (Guerin 73, Eaecker 76], animation). reuire the animator to describe a movie in a written programming language. These By 1969, one could identify several systems generally are not interactive; the major weaknesses in these systems: arimator is provided no direct visual feedback. 1. They were rigid, difficult to modify and extend. 2. Interactive systems based on freehand sketching (Demcnstrative systems) 2. The animator could draw images and movements, but could not compute them GENESYS [Eaecker 69a,69b,70a], ARTA directly; he had a fixed set of drawing [Mezei 71], and the Eurtnyk-Wein system commands, not an open-ended programming and [Eurtnyk 71a,71b] allow the animator to drawing system at his fingertips. sketch images and movements free-hand. These systems generally provide immediate 3. Image quality was poor, consisting of real time playback of the resulting movie. black-and-white dot and line drawings, lacking levels of tone, texture, and color. Permission to make digital or hard copies of part or all of this work or personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Siggraph ’76, July 14-16 Philadelphia, Pennsylvania 32 In the pericd 1969-1974, there were II. Cn Conversaticnality and Extensibility several useful developments addressing in Animation Systems these problems. Burtnyk and Wein focused upcn the problem of image quality [Burtnyk In concluding its discussion of 73], succeeding to the point that Peter picture-driven animation, and in motivating Fcldes was able to make his Cannes award- the design of the Animation and Picture winning film HUNGER [Foldes 74]. Richard Processing Language (APPL), Eaecker [69a] Shcup and Robert Flegal at the Xerox Palo noted: Alto Research Center (PARC) developed a rich color video system, and produced "We have seen that there are numerous striking examples of directly advantages and disadvantages to each of sketched or ccmputed color video [Shoup several approaches to the definition of 74]. In Alan Kay's Learning Research Group dynamic pictures--the construction of (IRG) at Xerox PARC, the Smalltalk language individual frames, the algorithmic was developed and shown to be a viable and generation of sequences of frames, and congenial host for the development of user- picture-driven animation. This suggests responsive programs [Kay 72,74; LRG 76]. that a flexible animation system would Experiments with freehand painting programs allow the harmonious blending of all these demonstrated the viability of black and techniques. Here GENESYS fails a priori, white TV generated by a minicomputer as a fcr it makes inaccessible the full medium for shaded drawings. Finally, the ccmputaticnal power of the computer. now legendary Pegasus-Cookie Monster movie within the language of GENESYS cne cannot produced using Steve Purcell's playback implement algorithms by writing programs. process (described below) demonstrated that We have also seen that GENESYS is this same hardware could be used for the inadequate because it presents the animator real time animation of these drawings. with a fixed set of commands and tools, with fixed mechanisms cf control, and with fixed models cf pictures and of processes these prior of picture construction. A suitably Thus, encouraged by skilled animator may himself determine by a previous developments, and guided these aspects cf his animation system, his 69a], until now vision [Baecker only if the system is unfulfilled, of what it would like to build arimation-machine, in an appropriate not a fixed set of commands but an arimation systems extensible, truly open-ended programming language, we developed a new animation system at the Xerox Palo Alto Research language." summer of 1974. This system Center in the design of APPI, and the construction of successfully incorporates Purcell's real The SHAZAM in Smalltalk, were intended to time shaded image animation capability into programming and drawing demonstrate the feasibility and LRG's Smalltalk attractiveness of unifying algorithmic and environment. SHAZAM (Smalltalk's sHaded is a demonstrative computer animation image Zippy Animated Moviemaker) in one system. (A similar animation capabilities demonstrative picture-driven goal is pursued by [de Fanti 73].) For this system modeled directly upon GENESYS Hence the tc be possible, APPL had to be (and [Eaecker 69a,69b,70a,74]. and know no Smalltalk. However, Smalltalk is) conversational animator need extensible. These terms are much used and the system was designed for children ages 8 are learning Smalltalk [Goldberg misused in the literature, so we shall now to 15 who define our use of them quite precisely. 74], and they can compute images and movements by executing Smalltalk commands A. Ccnversationality or by writing Smalltalk programs as easily as they can sketch them freehand. Furthermore, a skilled Smalltalk programmer The terms "conversational", "on-line", can extend or mcdify the system himself. and "interactive" are often used interchangeably when applied to computer We shall next define the terms systems. our usage shall be more "conversational" and "extensible", and restrictive. A conversational language is discuss the relevance of these language one in which: features to computer animation. These arguments constitute a concise and sharper 1. "Response time is proportional to the presentation of points originally made in demand for computation and, in particular, [Eaecker 69a]. Key aspects of the design there is rapid response tc trivial and implementation of SHAZAM will then be requests" [Standish 70]. presented; the relevance of ccnversaticnality and extensibility will be 2. The language is conveniently extendable, stressed, and some directions for future that is, program's may be written in the research proposed. same language with which cne expresses direct commands to the system, and they may be immediately tested. 3. The animation environment or data base is directly accessible at all times. 33 The response time criterion is Extensibility of operators, data important for computer animation because of structures, and regimes of control are the frequency with which animators make and relevant to computer graphics in general wish to preview the effect of small changes and to computer animation in particular tc their movies. Such changes typically [Eaecker 70b, Standish 70]. include speeding up or slowing down a motion, introducing or removing an object a A data definition facility in an split second earlier or later, and making extensible language enables the slight pcsitional changes to an object. specification of a composite data type Compiled languages operating in card- (data structure) built out of primitive oriented slcw-turnaround batch systems (the data types and/or other composite data antithesis of a conversational system) structures. The extended language must impede the animator's ability and desire to contain mechanisms for constructing members carry out such refinements to a movie. of the new class from suitable components (constructors), mechanism for selecting The extendibility criterion is distinguished components (selectors), and important for computer animation because mechanisms for testing if an arbitrary demonstrative systems rarely have the datum belongs to the new class perfect command set and the perfect (predicates). Standish [67] presented a interaction style for every animator. formalism and a methodology for augmenting Although a system can be changed even if a language with a data