D. D. WEINER and S. E. ANDERSON

Syracuse University

The above work was sponsored by the United States Air Force under the Contract No. AF 30(602)-4283.

INTRODUCTION

The value of motion picture films as an effective teaching aid has been long established. In recent years, preliminary efforts have demonstrated the feasibility of producing animated films by means of a digital computer in conjunction with a microfilm recorder. A block diagram of the computer animation movie process is indicated in Figure 1.

FIGURE 1

A programming language is used to translate the motion picture script into a computer program. The program, usually in the form of a deck of cards, is processed by the digital computer which generates a magnetic tape output for input to the microfilm recorder. The recorder, containing a cathode ray tube and motion picture camera, produces an exposed roll of film that is then developed to yield the finished motion picture.

Advantages of computer animation

Computer animation has many advantages to people having educational needs. Some of these are briefly indicated below:

  1. Computer animation makes it possible for individuals with many different backgrounds to make motion pictures. The movie language, if carefully designed, can readily be learned and used by personnel who have no particular technical background in computers and motion picture production. In addition, because of the large number of computer centers distributed throughout the nation, the computer animation capability can be available to potential film producers irrespective of their geographical location.
  2. Computer animation is a relatively economical technique for producing motion pictures. Of course, the cost depends upon the complexity of the images being generated. Past experience with simple line drawing animation indicates a typical cost of approximately $0.10 per frame. In contrast, conventional motion picture techniques average around $1.40 per frame. Thus, it should be possible to extend the use of the animation technique into areas of education and training where formerly it was precluded because of cost.
  3. Computer animation allows the film maker to generate revisions with minimum expense and effort. By changing the proper parameter in only a few instructions of the program, it is possible to produce several versions of a film sequence having different motions, spacings, scale, object dimensions, and picture complexity. Thus, at relatively small cost, the film maker can experiment with different arrangements to obtain certain desired effects so as to improve the illustration and explanation of the subject matter of his film.
  4. Computer techniques can produce animated film much more rapidly than conventional methods. When both digital computer and microfilm recorder have been available et the same site, it has been possible to begin and finish a five minute film clip within one week's time. In addition, successive animated films require less time and effort because subroutines developed for a particular film can then be used in future films.

Basic movie language developed at Syracuse University

The capability for graphic digital computer output has been available for many years. However, where movies are concerned, thousands of frames of film are usually required. For example, a 5 minute movie running at 24 frames per second consists of 7200 frames. It is impractical to program each frame as a separate entity. What is needed is a language that is capable of generating tens, or even hundreds, of frames by means of just a few instructions. Such a language has been developed at Syracuse University.

The language consists of the four programs:

  1. CALD (Computer Aided Line Drawings)
  2. CAPER (Computer Aided Perspectives)
  3. CAMP (Computer Aided Motion Pictures)
  4. CAMPER (Computer Aided Movie Perspectives).

CALD and CAPER are written for output on the CalComp 565 mechanical plotter while CAMP and CAMPER are to be used. with the Stromberg Carlson 4020 microfilm recorder. A capability for output on both the mechanical plotter and microfilm recorder is needed because of the unavailability of a conveniently located microfilm recorder. When producing computer animated motion pictures, several attempts are usually required before satisfactory results are achieved. In addition to debugging the program, the animator often experiments with various picture parameters so as to best obtain a certain effect. Because no microfilm recorder is located within the Syracuse area, the magnetic tapes are sent for processing to the nearest installation at the Polytechnic Institute of Brooklyn located approximately 300 miles away. In order to eliminate long delays during the debugging and experimental phase of the movie, provision is made for graphic output on the University's mechanical plotter. It is intended that movies be debugged by plotting selected frames using CALD and CAPER. Since the names of the commands in CAMP and CAMPER are identical to those of CALD and CAPER, little additional work is required to convert from the mechanical plotter to the microfilm recorder. The option exists for drawing pictures in either a two- or three-dimensional representation. CALD and CAMP are programs for generating and manipulating basic line drawings and simple geometric figures in two dimensions. CAPER and CAMPER are programs for creating, manipulating, and plotting three-dimensional figures onto a two dimensional plane in true perspective.

All four programs have been written in FORTRAN IV. It is recognized that other programming languages are more versatile and efficient. However, the use of such languages is limited to a relatively small number of computing centers. If computer animation is to develop rapidly into a useful, effective, and widely available educational tool, it is desirable to create a common library of subroutines that will be available to as many computer installations as possible. Clearly, FORTRAN IV is ideally suited for this purpose. Unavoidably, either assembly or machine language is needed to provide the input codes for both the plotter and the microfilm. recorder. (FORTRAN IV is unable to manipulate data on a bit level.) Fortunately, this is required for only a very small number of commands.

The four programs consist of a series of subroutines. Each subroutine is called by one data card. The program user need not know FORTRAN. He need only learn the movie language (i.e., the name and function of each command and the purpose of the parameters associated with each command). The names of the subroutines and associated parameters have been chosen to be as simple and descriptive as possible. Should the user be familiar with FORTRAN, it is possible for him to enlarge the original set of subroutines.

A list processing technique is used for the storage of pictures. Each new figure is stored consecutively at the end of a variable length list, called a stack. Each figure within the stack is called an array. Figures are referred to by specifying their respective stack and array numbers. Stacks and arrays can be altered either in total or in part. Hence, it is possible to individually alter entire frames, figures within frames, or points within figures. Figure 2 gives an example in which the arrays of two separate stacks are used to store the basic figures generating the dog and the letters comprising the text. Should it be desirable to wag both the dog's tail and ears, it is only necessary to modify the fourth and seventh array of the first stack. Thus, constant backgrounds and non-varying portions of a frame need not be computed more than once during an animated sequence.

FIGURE 2

Basic figures are provided for in the movie language. For example, Figure 3 illustrates the command used to generate an arrow. S and ARR denote the stack and array numbers in which the arrow is to be stored. The parameter P equals 0, 1, 2, or 3 depending upon whether the shaft is to be solid or dashed and the head open or closed. The arrow is directed from the coordinates (X1, Y1) to (X2, Y2) and the size of the head is specified by the parameter HEAD. Subroutines for generating circles, rectangles, triangles, crosses, grids, clocks, and sine waves are also available. Some electronic circuit symbols are included.

FIGURE 3

In addition, an alphanumeric set of 49 characters is provided. They have been created using straight line segments and may be manipulated in size, position, and orientation so as to give a large degree of flexibility in creating text. When lines of text are desired, a single command can be used that automatically spaces up to 20 characters. If more than 20 characters are required, the command can be used consecutively to concatenate the strings of text. A sample title used in a movie explaining the movie language is shown in Figure 4.

FIGURE 4

Figure 4 also illustrates the masking routine. By specifying the boundary of a rectangular area, it is possible to draw only those lines and portions of lines that fall outside of the specified area. As an application of the masking routine, Figure 4 is taken from a dissolve sequence in which the rectangular area is made successively larger until the entire title has been masked leaving a blank frame of film. In this way, an interesting scene transition is made. Windowing, the inverse of masking, is also part of the movie language. With this routine only those lines and portions of lines that fall inside a specified rectangular area are drawn. In Figure 5 the windowing routine is used to simulate an odometer. During the animation sequence, numerals move vertically through the window indicating current time on the clock.

FIGURE 5

Commands are provided for the translation, rotation, and magnification of objects. The rotation command rotates an object about any desired center point by a specified angular increment. The magnification command expands or contracts all points of an object as measured from any specified reference point. Figure 6 illustrates the simultaneous use of magnification and windowing to properly truncate an object as it is blown up beyond the limits of the screen. Another command, helpful in animating sequences, is the MOVE command which moves an object in equal increments from an initial to final position. This is demonstrated in Figure 7 where the six animated figures are produced by means of only two MOVE commands.

FIGURE 6

FIGURE 7

Finally, three commands (SAVE, ESAVE, and REPET) are included for use when the same scene is to be repeated many times. A great deal of computer time is saved since the scene is retained in SC-4020 coded form.

Figures 2, 3, 4, 5 and Figure 7 are taken from a ten minute computer animated movie explaining the CAMP movie language. This movie will be shown as part of the conference presentation. Additional film clips will be included as time permits.

REFERENCES

[1] K C KNOWLTON: Computer-produced movies. Science Vol 150 Nov 26 pp 1116-1120.

[2] A M NOLL: Computer-generated three-dimensional movies. Computers and Automation Nov 1965 pp 20-23.

[3] E E ZAJAC: Computer animation a new scientific and educational tool. Journal of the SMPTE Vol 74 Nov 1965 pp 1006-1008.