Interactive Computer Animation

Camille Volence Juncker and Carol Fernsler Rose

IBM T J Watson Researh Center and Information Concepts Inc

1970

UAIDE

Abstract

ACIANS is an Artist-Computer Interactive Animation System for the creation of animated cartoons. Interactively, the artist is able to draw freehand, fill in areas, edit and review an animation sequence. This paper describes additions to the system which include: the implementation of panning at any specified angle a frame or cel, automatic reviewing of the panned sequence with an option to save the sequence, meshing (superimposing) of specified cels, and copying of any cel (or a part of) to any cel (or a part of) The paper describes these additions as well as user experience. A film will exemplify the additional features of the system.

1. Introduction

ACIANS was initially developed to produce cartoons on outdoor display boards. It utilizes methods analogous to conventional animation production and thus has evolved into a general purpose animation system. The necessity of dealing with areas rather than lines led to a point-oriented system in which all of the algorithms manipulate individual points or groups of points rather than vectors. The provisions to work with areas, to vary the dimensions of the final display, and to vary the resolution of the display make it suitable for the production of output for various media, including film and display boards. As such, it serves the basic needs of cartoonists and educators and may also be used to create storyboards.

II. General System Description

ACIANS allows the artist to interact with the IBM 1130 computer. As the artist draws freehand on a Sylvania data tablet, the results of his drawing and control information are displayed in front of him on an IBM 2250 display unit. Functions to be performed are selected by pressing the appropriate button on the program function keyboard. Control information is modified by using the light pen of the display unit. The artist may draw in any one of four layers which are maintained in core and may file his work in the layer library, the frame library or, once a scene is complete, in the scene library, all of which are stored on IBM 2315 disk. The layers, synonymous to cel levels, are divided into sections which may be manipulated independent of the rest of the layer. The major functions of the system include initializing the drawing area to white or black, drawing in white or black, erasing (a function which, in addition, restores the selected background), copying, translating layers, meshing layers, filing and retrieving, and reviewing. The basic structure and functions of the system are fully described in another paper[1, 2].

III. Size of Display Area

The size of the display area, which in turn defines the drawing area, is specified by the user when beginning an animation sequence. The user can place an animator's field guide on the registration peg bar attached to the data tablet and select the field he desires or he can arbitrarily select sizes and experiment until a desired size is reached.

Once the size is selected, the system segments the display area into vertical sections, allocates core accordingly and upon request formats the libraries on disk. Segmentation of the display area allows the user to select a display size that is wider than the physical screen. The system automatically scales down the sections to display all of them at once, but drawing may be done in only two sections at a time. Any combination of two sections, contiguous or noncontiguous, may be worked in at a particular time, e.g., sections 2 and 3 or 2 and 4. Thus, the requirement of drawing on split sections, a disadvantage of our first system, has been eliminated. In most cases (other than large display boards) a display area composed of two sections is chosen. For example, figure 1b is roughly a standard ten field.

IV Resolution

Previous experience with this system has shown that a finer resolution is desired for film work. Therefore, a facility for two different resolutions was developed. The resolution is selected by the user at the beginning of the animation sequence.

The resolution used in the original system is sufficient for outdoor display boards in lights and was used this past spring to create cartoons for the Oakland Coliseum display board (Fig. 1a). When this resolution is selected, each bulb or point maps into a 6 × 6 raster unit square on the CRT and data tablet. (A raster is 1/85 inch). The resolution developed for film work is twice as fine and thus uses a 3 × 3 raster unit square for each point of a drawing displayed on the CRT (Cathode Ray Tube). At this resolution, normal handwriting can be read from the tablet and clearly displayed (Fig. 1b). If detail is important, as in certain educational and artistic films, this resolution is required (Fig. 1c).

Fig. 1a. A frame of the resolution used for outdoor display boards (top photo). All photos are taken from the CRT. Fig. 1b, 1c A frame of the finer resolution suitable for educational and artistic films.

Fig. 1b, 1c A frame of the finer resolution suitable for educational and artistic films.

However, there are several disadvantages to working in this finer resolution. The user must draw white on black because the flicker of the opposite case becomes too disturbing for the human eye. Of course, once the drawing is completed, the colors can be reversed or reversal film can be used. There is also a need for automatic fill-in of areas. [3] Since the resolution is finer, the number of scrub motions with the pen needed to fill in an area increases by a factor of four. In addition, the largest size of a frame is limited to 630 × 864 rasters, although this is quite suitable for 35 mm film work. A larger size exceeds the upper bounds of core (32K - 16 bit words) and of disk (half million words) unless multiple drives are used.

Our impression is that a resolution halfway between the two resolutions might be quite adequate for film work. Such a resolution would reduce the flicker and provide more core and auxiliary storage. However, an automatic fill-in capability is highly desirable in any case.

V. Copy

The copy function provides some capabilities not available in conventional animation. The user may copy any layer into any other layer, copy any section into any section (a part of a layer defined by the system at initialization) in the same layer or in another layer, or copy a layer into another layer and specify it as a background for that layer.

The copy function thus allows the user to duplicate any layer or to save a layer in core which might be destroyed by the mesh function (Refer to Mesh). The ability to copy sections provides a tool for creating repetitive backgrounds or layers easily and quickly. In figure 2, a garden of flowers was created by drawing three flowers in the leftmost section and copying that to form two sections, then copying the two sections to create four sections. A crowd of people may be created in a similar manner by drawing only three or four persons (Fig. 3c). To remove the appearance of repetition, the drawing functions may be used to modify one section; that modified section may, of course, be copied into another section to vary the effect even more (Fig. 3d). A reverse function which operates on sections or layers can interchange black and white to provide more variation and interesting effects (Fig. 3a, 3b).

Fig.2. A garden of flowers was created by drawing three flowers in the left most section and copying that to form two sections, then copying the two sections to create four sections.
Fig. 3a, 3b. The reverse function, which operates on sections or layers, can interchange black and white. Fig. 3c, 3d. A crowd of people was created as in figure 2. The appearance of repetition was removed in 3d by modifying one scetion and copying it.

Registration of a background and foreground is performed by the copy background facility. This facility copies one layer into another layer and identifies the source layer as a background layer. The artist can then draw in the foreground layer without affecting the specified background unless desired. Whenever the erase function is activated, the background will be restored to the foreground layer in the areas erased with the drawing stylus.

VI. Mesh

Once several cels have been created by drawing on separate layers, the ability to mesh these cels (layers) into a single frame is desired. This function may be thought of as simulating the placing of animation cels one behind the other to form a single frame.

A predominant color (either white or black) is selected by the user for each layer. The predominant color of the top layer of each pair controls the mapping at each stage. When black is the predominant color, a logical AND operation is performed. In figure 4, the white triangle is the lower layer and the black circle is the upper layer; note that the predominant color is black. The meshed result (the bottom photograph) leaves the corners of the triangle which are not obscured by the circle on a black background. This result was placed in the upper layer and displayed on the CRT. When white is the predominant color, a logical OR operation is performed. Figure 5 illustrates the meshed result (bottom photograph) using a black triangle on a white background and a white circle on a black background.

Fig. 4. Two layers are meshed, specifying black as the predominant color; the meshed result is the bottom photograph.
Fig. 5. Two layers are meshed, specifying white as the predominant color; the meshed result is the bottom photograph.

Any number of layers and any number of sections may be meshed by making the appropriate light pen selections on the control tableau of the CRT. Meshing is performed from the first to the last selected layer with the result placed in the last selected layer and displayed on the CRT. All layers, except the last, remain as they were before the function was requested. If more than two layers are selected, the second selection is meshed with the first, that result is meshed into the third selection and so forth.

Meshing may also be thought of as a concatenation of picture elements. Figure 6 shows picture elements on three layers; the fourth layer which was black holds the result of the concatenation. Meshing frames often results in interesting effects. To experiment with various effects, the artist simply retrieves created frames from the library, places them into layers, and requests the mesh function. When the meshed result does not satisfy the artist's intentions, he may either edit the final result to his satisfaction (e.g., remove hidden lines) or redo the mesh with a reassignment of predominant color.

uaide/uaide058jpg7341222Fig. 6. Three layers are meshed, specifying white as the predominant color; the meshed result is the bottom photograph.

VII. Translation.

Translation shifts any layer along a vector defined interactively by the user. Using this function, the artist may pan a background, create a wipe effect, or move an object across the screen. The combined use of the translation, mesh and copy functions creates an animation sequence from a few drawings.

A push-down list of X, Y coordinates (relative to the lower left-hand corner of the display) are maintained in core to serve as the parameters for translations. The points are displayed as numbered crosses superimposed on the picture area of the CRT (Fig. 7). To add to this list, the artist enters the select point function and indicates the new point with the stylus of the data tablet. As in the drawing functions, the movement of the stylus is tracked by a spot on the CRT. The user may delete any point or points in the list with the delete point function. The last four pairs of coordinates selected are displayed and provide a short history of points for the user. To perform transformations over a span of frames with the parameters varying from frame to frame, the list would have to be longer.

uaide/uaide059jpg832653Fig. 7. The frame shows the relative vector specified with the stylus by the user for translation.

Translation uses only the last two select points. It shifts the selected layer so that the next to last point maps into the last point. The translation algorithm determines the difference of X2 - X1 to establish the direction (left or right) and the number of sections, words and bits to shift along the horizontal axis; the difference of Y2 - Y1 determines the direction (up or down) and the number of rows to shift along the vertical axis. To preserve the data as it is shifted, the movement must always start at the corner of the display from which data is shifted out of the frame. For example, if the translation is in a left and upward direction, the movement must start in the upper left-hand corner. The algorithm simply determines in which corner the movement must begin and the data which must map into that corner. It moves the data working across a row, checking for the end of sections. At the end of each row, any undefined bits are changed to the background color (the opposite of the predominant color) as selected earlier by the artist. The algorithm then starts moving the data from the next row until all defined rows have been shifted. Any undefined rows are, of course, changed to the background color. The time required to shift one frame is a barely noticeable flicker on the CRT from the original to the translated frame. The system does not save the original frame, although it would be a trivial addition and is a feature which should be included.

The artist may also select a continuous translation with the option to file the resulting sequence. This function continues to translate and display the selected layer using the vector formed by the two points for each movement until the artist presses a button indicating the end of the sequence. The function thus permits translation over a span of frames as long as the movement is defined by the same relative vector (Fig. 7) between each frame. The Hi Everyone sequence was created using this feature (Fig. 8). Note that the predominant color was white (Fig. 7), which implicitly defines the background color as black. The areas to the right of the frames as the frame is shifted to the left are, therefore, defined as black.

uaide/uaide060jpg8321684Fig. 8. The panned sequence was created automatically by the computer using the vector in figure 7.

Any layer of the four layers in core may be translated at any angle or in any direction. By meshing two or more layers after translation, many effects may be achieved with a few basic drawings. Separating the background into two parts (e.g., clouds and hills), drawing these parts on separate layers, translating one or both layers and meshing the result forms background sequences. Further examples of translation and meshing are found in figures 9 through 12. In figure 9, an airplane pilot in his plane was drawn on one layer and clouds were drawn on another layer. Only these two drawings were used for the entire animation sequence (Fig. 10). A selection of key frames from the sequence shows the plane bobbing up and down as it moves through the clouds and then zooming off the screen (Fig. 10). To produce the scene, the plane was translated up and down and then meshed with the layer of clouds which was translated in a horizontal direction. At the end of the scene, the clouds were held still and the plane was moved at an angle.

Fig. 9. Only these two frames were drawn to create the sequence in figure 10.
Fig. 10. Key frames from a sequence are shown and were created by drawing only two frames (figure 9). Animation by Oscar Vigano, New York City.

A wipe sequence, frequently used to begin a new scene as in figure 11, may also be created using translation. In the example shown, the artist has drawn the last frame of one scene and the first frame of the next scene. Working in reverse sequence, the first frame (last photograph in Fig. 1) is translated left and then right leaving a black area or bar at the left (after translation, the undefined areas are filled with the opposite of the selected predominant color). The last frame which is on another layer is translated left with a black area appearing on the right. Then the two translated frames are meshed to form the desired effect. If the artist changes the angle of the vector which controls translation between each frame, he can move objects or backgrounds to simulate many types of movement. For example, if the vectors are selected such that they define a circle, then the object being moved may appear to move around another object. The sequence in figure 12 shows a man who has crash landed with stars circling round his head. The stars were drawn on two layers, translated independently and then meshed with the main drawing which was on a third layer.

Fig. 11. A wipe sequence, frequently used to begin a new scene, is created using translation and mesh. (Animation by Oscar Vigano.)
Fig. 12. The sequence shows a man who has crash landed with stars circling around his head was created automatically using translation and mesh. (Animation by Oscar Vigano.)

VIII User Experience, Filming and_Possible Additions

ACIANS has been used by professional and non-professional artists to create many short sequences. Oscar Vigano, an animator, has drawn several sequences using both resolutions. (A file is available with these sequences.) With no pre-drawn sketches, he was able to create a five-second animation sequence in one afternoon (Fig. 10). Only two drawings, which were translated (panned) independently and then meshed, were used. Several facilities could be easily added to the system to shorten the creation time. As a layer is panned, the non-visible portion could be saved so that an immediate reverse pan or a wrap around could be requested. A function which automatically pans and meshes independent layers would be quite helpful. A facility for defining a set of frames and the functions that create these frames as a cycle would be an important addition. The functions might be any of the allowable functions in the present system, such as retrieve into layer one, translate layer two according to the points selected in the push-down list, mesh layers one, two and three into layer four, file layer four, initialize layer four to black and repeat the cycle for eight frames. Another time-saving addition would be a library of character fonts to allow rapid creation of lettering. From our own experience and observations of other systems, we feel that a vector capability must also be superimposed on the present system. This would allow more rapid drawing of straight lines and make transformations simpler to implement including the automatic creation of in-betweens. [4]

Besides creating animation sequences, the system has also been used to create storyboards. Oscar Vigano has drawn key frames on the system, taken polaroids from the CRT, and pasted them on a board for a customer. It is not only a time-saving method for creating a storyboard, but also sets up a disk with key frames for the final cartoon.

Animation sequences can be easily created by non-professional artists from key frames, as we learned when Stan Popko, an animator from New York City, provided us with drawings for an animation sequence. (A file is available showing these sequences.) The drawings were then traced and manipulated by Camille Junker, one of the authors, to produce the actual cartoon (Fig. 13). Filming can be done directly from the screen of the CRT, as was done in the above case. A photo cell was placed on a button on the program function keyboard. When the button was pressed, the requested frame was retrieved, the shutter on the camera automatically opened, the frame held for two display cycles and then the shutter closed. The same frame may be photographed automatically for any specified number of frames or the next frame in the sequence may be requested. A professional film could also be created on an SC-4020 by transferring data from disk to tape in the appropriate format.

The most interesting commercial possibility might be to produce a video tape directly from disk. Since ACIANS is based on a raster scan concept, it should not be difficult to format the data properly for a digital to analog converter. For the user of the system, this approach would provide excellent review capabilities and would solve the problems resulting from the severe limitations of disk storage.

uaide/uaide065jpg6741720Fig. 13. Shown are key frames from an animation sequence designed by Stan Popke, an animator from New York City.

At the present time, no future additions to ACIANS are planned. We feel that a basic system which met its original objectives was developed, but it is still only a beginning.

IX Acknowledgements

The animation, comments and suggestions by Oscar Vigano have been greatly appreciated. Gratitude is expressed to Stan Popko for the design of animation sequences.

X References

1. Carol Fernsler, Camille Volence, Artist-Computer Interactive Animation System, UAIDE Proceedings, November, 1969.

2. Carol Fernsler, Camille Volence, Computer-Aided Animation, RC 2763, IBM Research Center, Yorktown Heights, New York, January 19, 1970.

3. Janice Lourie, The Computation of Connected Regions in Interactive Graphics, Proceedings of National Conference (ACM), 1969.

4. F. Gracer, M. Blasgen, Karma: A System For Storyboard Animation, UAIDE, Proceedings of the Ninth Annual Meeting, October, 1970.