Sherwood Anderson, Applied Physics Laboratory, Johns Hopkins University

September, 1971

Journal of Micrographics, Vol 5, No 1

Mr. Sherwood Anderson is currently an Associate Programmer for the Johns Hopkins University Applied Physics Laboratory. Previously, he was employed as a research engineer and programmer in the Department of Electrical Engineering at Syracuse University. During 1962-64 he worked at IBM as a computer test equipment engineer.

He received a B.S.E.E. from the University of Illinois in 1962 and the M.S.E.E. from Syracuse University in 1968. His master's thesis was entitled A Graphical Programming Language for Computer Generation of Incremental Plots and Animated Motion Pictures."

He presented a paper at the 1968 Fall Joint Computer Conference A Computer Animation Movie Language for Educational Motion Pictures. His paper at the 1968 UAIDE Annual Meeting entitled A List Processing System for Effectively Storing Computer Animated Pictures was given the first place award for the best paper presented.

In April of 1970 he delivered a talk on his computer animation system to an International Computer Graphics Conference at Brunel University, England. A film on Chess and another on Integral Calculus were shown.

INTRODUCTION

Computer Animation is a method for generating motion pictures on a CRT driven display or COM device. This method offers several advantages over conventional hand animation, which are:

  1. For scientific and technical work the cost of computer animation is an order of magnitude less expensive than conventional animation. The cost of computer made movies ranges from $20 to several hundred dollars per minute; while conventional animation currently runs about $2000 per minute.
  2. It allows someone who is relatively unskilled. in the visual arts to make an expository film virtually singlehanded. No artists, cameramen, or directors are required, which leaves the filmmaker in full control.
  3. Revised versions of the film can be produced with very little effort or expense. With an appropriate change in certain parameters the size, shape, orientation or timing of any scene can be easily altered. Special effects such as dissolves or pans can be easily attempted with little additional cost.
  4. It offers the ability to create a movie in true perspective of a proposed three-dimensional form in motion. Either the object itself, or the viewing point, or both may be programmed to move about to achieve striking esthetic presentations.

HOW DOES COMPUTER ANIMATION WORK?

As shown in Figure 1, the first step in the process of producing a film is to draw up a story board of sketches showing the sequence of scenes. This story board is embellished with many notes indicating time duration, motion, and camera activities such as wipes and dissolves. Departing at once from the conventional method, programmers, not cartoonists, are then put to work converting the drawings into explicit instructions for a computer. The instructions they use are a special set of commands that form a picture language. These statements are processed, and the output - a string of (X,Y) coordinates and a few other codes - is stored on magnetic tape. The tape is then read by a microfilm recorder, which generates the pictures on an enclosed CRT in a light proof bay. Mounted overhead, a motion picture camera is exposed to the images being painted on the CRT by the electron beam. The film magazine is advanced by electric solenoid after each frame is complete at a rate somewhat slower than real time. A film containing a good deal of information will take longer to process than one with only a few moving lines, but this fact is unimportant since all films run at standard projector speeds when projected (24 frames/second for sound film).

STORYBOARD OF SKETCHES MOVIE LANGUAGE DIGITAL COMPUTER MAGNETIC TAPE COM DEVICE 16MM FILM

Figure 1. Flow Diagram for Computing Animated Films

ADVANTAGES OF USING COM

Some experimenters shoot film with a cine camera directly from the face of a computer graphic display console, using various methods to trigger the film advance in order to avoid synchronization conflicts. In general, the resulting footage is not as precise as COM output since these screens are not flat, which causes pin cushion distortion. Other related problems are light reflections if the screen is not properly shielded, and overly wide lines since the spot size is larger than in a microfilm recorder system. A good compromise, if available, is to design the movie interactively on a computer graphics display, and have the final version filmed on a microfilm recorder, fitted with perforated film.

A satisfactory movie language must do much more than simply keep track of X,Y coordinates. It should provide a host of services that keep the animator from the drudgery of housekeeping details, and free his mind for the creative aspects of film-making. Some of the more important considerations of the movie language design are explained in detail below.

PICTURE PRIMITIVES

The starting point in producing a computer animated film is the picture description of an object or image. Rather than tediously specifying every line or point, this step should be assisted by picture primative macros; e.g., BOX would set up the 12 lines of a box, or TRANS would set up a circuit symbol for a transistor. Parameters, of course, arc needed to select options such as size, orientation, and labelling information. In the case of interactive systems, the graphic user may be able to draw a figure directly with a light pen or a graphic tablet. A combination of these two techniques is generally the most useful.

EASE OF CREATING A DATA BASE

The value of a well-structured data base is appreciated not only in building the composite picture, but in manipulating it as well. To create a circuit, for example, a resistor, voltage source and several connecting wires may be individually called out. After that point, it should require only a single instruction to duplicate, rotate, or delete the entire circuit.

This power of global commands is only possible if a form of list processing is employed. The entire picture is placed in computer memory with special delimiter or pointer cells to join together certain pictorial segments to form a logically connected unit. This structure allows articulated motion in selected parts of a figure, but permits a powerful command to address the entire figure as a logical unit.

If the object being described is a solid figure, the (X,Y,Z) coordinates can be entered in different ways. In one, a two subscript array is required, which has the height as the value for each entry. This scheme is well adapted for evaluating a function at regular intervals; i.e., Z = f(X,Y). However, this restricts the type of figure somewhat, since the ordinates must be single valued, and must also lie at regular points on a base grid. A more general plan would allow each point to lie anywhere in space. This is absolutely necessary for the visualization of measured data such as roadways, buildings, etc.

ICONIC ELEMENTS

The actual rendering of the picture array must be painted on the face of a CRT as a series of iconic elements. These may be straight or curved lines, points, alphameric characters, or even special symbols. These elements may be modified by such options as brightness, thickness, font, case, and even color. The choice of these elements is often dictated by available hardware, but clever software can make use of the optimal shape for each case; e.g., several curves to form a circle, a range of characters with graduated levels of print density to form photographic images, etc.

DISPLAY TECHNIQUES

Using the elements listed above, the computer animation program must be able to assemble a composite image. A line may be built from a series of dots, or as a sequence of line segments (many CRT devices are unable to direct the electron beam in a straight line across the full screen width. Typically, the largest line segment allowed is 1/16th of the full scale deflection). A dot drawing program will either allow dots to be placed at any addressable location (random scan), or at a fixed number of locations on a fixed grid (raster scan).

It should be obvious that a raster scan image is not very efficient in terms of core storage since every grid point must be defined for every frame, but this process is necessary for image processing of photographic or shaded area output. If the display device is a conventional TV video monitor, or facsimile recorder, the output must be in this form anyway.

A random scan device is generally better suited for computer processing because only those points or lines which are to be drawn need be stored.

DYNAMIC COMMANDS

Once the data base is created, the computer animation system must be equipped to handle precisely controlled motion over a sequence of many frames. The three basic movements are translation (shifting), rotation, and scaling (zooming). These commands should have the flexibility to rotate or zoom about any point, on or off the screen. Other dynamic commands can be quite useful.

Interpolation of one line path into another infuses a very realistic transition of shapes, especially with hand-drawn figures. At least one system which is based solely upon this technique produces animation of surprisingly good quality.

Path following is another desirable tool for describing the motion of an object along a path which can be defined by a mathematical function, such as a projectile tracing out a parabolic arch. This technique is often employed with a graphic tablet for the hand description of free form movement.

PERSPECTIVE VIEW CAPABILITY

The advantages of computer animation for drawing perspective views of a three-dimensional object are quite evident. A human draftsman might take a whole day to produce one rendering of a building plan using two point perspective or isometric views. These drawings may appear quite realistic to the eye, but are technically only approximations. The computer, which can not only rapidly generate a series of drawings from a shifting point of view, has the valuable property of being completely accurate. This precision is vital for analyzing the field of vision from a particular position such as an airplane cockpit window, or from the cantilevered balcony of a modern apartment building. Figure 2 shows a sequence of views of a two passenger airplane, which were produced with the HICAMPER system.

Figure 2. A Sequence from HICAMPER

HIDDEN LINE ELIMINATION

A much more authentic perspective view is obtained if the so-called hidden lines are suppressed. Unfortunately, the additional programming logic necessary to determine which portion of lines or areas are not to be shown is prohibitively expensive in terms of processing time and core storage. Although several clever and somewhat fast hidden line algorithms have been devised, they they invariably impose some restrictions. A few limit the basic figures to convex polyhedra (e.g., boxes, tetrahedrons, etc.) or even quadric surfaces. Others are nondeterministic: that is, they occasionally fail to resolve certain cases. In general, however, they are all too slow to even be considered for computer animation because of the prohibitive number of frames involved. Consider that a conventional movie running at 24 frames/second requires no less than 7200 different views for a 5 minute sequence!

WINDOWING AND MASKING

Somewhat less exotic, but every bit as useful is the ability to window in, or conversely mask out a portion of the screen. The area involved might be a rectangle or even a polygonal outline. A dynamic window which moves across the screen produces a wipe, while a collapsing window gives an esthethically pleasing dissolve. If a line drawing is involved, the software should properly find the intercepts at the window boundary, and clip it there. Some display hardware will perform this function if the window lies on the screen boundary. If not, the coordinates typically are caused to wrap around to the opposite side of the display, which is probably objectionable to the programmer. In any case, the original data should be retained to reconstruct the image if it returns to an onscreen condition.

TRANSPORTABILITY

Since the bulk of the programming in a typical computer animation system involves data base manipulation and housekeeping, very few statements arc related to graphics. In fact, these few statements can ultimately be resolved into one operation - drawing a point or line segment. If the system architecture is carefully planned, the output display routine can be treated as an interchangeable module, any of which serves a particular display device. The value of this structure is enhanced if the host language is in common usage, such as FORTRAN, or BASIC. The program, then, can be transported with minor changes from one computing installation to another. The worst task usually encountered in this approach, is the need for machine level subroutines for packing, shifting, and formating. This principle of transportability is possible, of course, only if a general purpose digital computer is being considered. Special purpose computers dedicated to graphics are not included in this paper.

JOB SET UP

The nature of the program is intimately concerned with a power versus efficiency trade-off. Some systems are imbedded in a host language which requires that every job be compiled anew before it can be executed. While this approach retains all the flexibility of the host language, it is extremely time consuming, especially in a time sharing environment involving a good deal of trial and error.

A better system is to devise a special picture syntax, and process all commands as data. No compilation phase is then necessary and far fewer instructions should be required to program a motion picture. Furthermore, a syntax checker can give error diagnostics and correct trivial mistakes that the host language compiler would not catch.

LOGIC DECISIONS AND BRANCHING WITHIN INSTRUCTION LOOPS

Since a film is actually comprised of a series of static frames, each one differing slightly from the previous one, a looping capability is clearly needed. The language should not restrict these loops to monotonic incremental motion, but should permit parameters to be specified by variables. A branching or logical decision should be permissible within a loop to signal a change based on some mathematical relationship. Common functions such as Sine, Cosine, and Square Root should certainly be included.

REPEAT FEATURE

On many occasions in a movie, a particular scene or frame of text should be held stationary for several seconds. Although it is possible to arrange for multiple frames to be dubbed in at an optical processing shop, it is bound to prove more costly than simply programming the same scene repeatedly. However, a good deal of computer time can be saved by storing the associated commands in encoded form and spilling the output buffer for as many times as are needed. On an interactive system which is refreshed, the pause is automatically carried out by the regeneration buffer.

A CHECKLIST OF CURRENT MOVIE LANGUAGES

The current computer animation systems known to the author are detailed in Table 1. Only those systems intended for motion picture production via a digital computer were included, since many special purpose programs have been written to cover a specific subject. Some hybrid display consoles permit any view to be manually positioned and rotated, but this flexibility makes the results unrepeatable by programming techniques.

Quite a wide variety of features can be found among the systems listed, and it would be a difficult task to select any one as superior. Rather, each serves a certain class of intended users, and is well suited for that stated purpose. All are available, and a good deal of information has been published in the literature (see bibliography). It is safe to say that as computer terminals become more widespread and less costly, people from all disciplines will be using this new tool for a whole new realm of communicating ideas in motion.

Who Uses Computer Animation?

Although a computer is involved, the programmer by no means has a monopoly on this new process. In fact, the already diverse group of computer graphics users is discovering the advantages of adding another dimension to their spatial presentation of output-time. Virtually all the sciences can benefit from this new presentation technique.

  1. Architecture: It is possible to visualize a new design by simulating a walk through an unbuilt structure. Rod Rougelor of General Electric produced views of a model city that existed only in the memory of his computer.
  2. Art: An artist can conjure up incredibly intricate patterns in constant motion. Stan Van Der Beek and Dr. Kenneth Knowlton of Bell Telephone Labs created some art films comprised entirely of scintillating squares. The series was entitled POEM FIELDS.
  3. Chemistry: Molecular Chemistry becomes alive when atoms are depicted with bonding forces on film. Kent Wilson from the U. of San Diego has made several outstanding examples for his classes.
  4. Education: Today's generation of students was brought up with television, and their learning habits are undeniably biased toward visual media. In fact, some subjects seem to require graphical techniques for their presentation. The author programmed an instructional movie in Calculus called Integration Over a Solid of Revolution (see Figures 3 and 4).

    Figure 3.

    Figure 4.

  5. Engineering: There is a growing need for developing new conventions to portray invisible phenomena such as electromagnetic flux lines or force fields. Dr. William Huggins of Johns Hopkins U. and Dr. Donald Weiner of Syracuse U. used computer animation to explain the vectorial addition of harmonic phasors.
  6. Mathematics: Complex geometric forms based on mathematical relationships are readily manipulated by computer, even non-existant forms. Dr. Michael Noll of Bell Telephone Labs. generated a stereographic movie of a 4 dimensional hypercube.
  7. Physics: Problems in celestial mechanics are difficult to perceive by examining lists of data. Dr. Edward Zajac at the Polytechnic Institute of Brooklyn filmed a simulation study of a communication satellite under gyro control. It clearly demonstrated the oscillatory motion of the satellite, and gave valuable insight into the long-term effects of the internal control system.

Table 1: SURVEY OF COMPUTER ANIMATION LANGUAGES

Movie Language Programmer Implemented at Host Language Computers Perspective View Interactive Display
1. ACIANS C Junker
C Rose
IBM, Yorktown Heights Assembly 1130/2250 No Yes
2. ANIMATOR J W Carr et al U Penn FORTRAN DEC338/360/75 N0 Yes
3. BEFLIX K C Knowlton Bell Labs BEFAP/FORTRAN 7094;360 GE635 No No
4. CAFE L Yarborough
J Nolan
Lincoln Labs SNOBOL/FORTRAN 360/67 No Yes
5. CAMP* J Citron IBM/LA FORTRAN/GSP 1130/2250 360/75 No Yes
6. GE/NASA R Rougelot
Staff
GE, Syracuse, NY Assembly Special Purpose Yes Yes
7. GENESYS R Baecker Assembly TX-2 No Yes
8. GROATS F R A Hopgood Lincoln Labs ALGOL Atlas No No
9. HICAMP/HICAMPER* S Anderson Syracuse U/Johns Hopkins U FORTRAN/GSP 1130/2250 360/91 Yes Yes
10. KARMA F Gracer
A Stein
IBM, Yorktown Heights FORTRAN/RGSP 1130/2250 360/91 Yes Yes
11. LEGER A Appel
A Stein
J Landstein
IBM, Yorktown Heights FORTRAN/RGSP 1130/2250 360/91 Yes Yes
12. MAGI J Davis
R Nagel
W Guber
White Plains, NY FORTRAN 360/2250 CDC6600 Yes No
13. N.R.C. N Burtnyk
J Pulfer
M Wein
NRC Canada Assembly PDP8 Yes Yes
14. Ohio State C Csuri Ohio State Assembly 1130/2250 Yes Yes
15. PMACRO W H Huggins Bell Labs BEFAP 7094 No No
16. Polygraphics F Sarno Polytechnic Institute of Brooklyn FORTRAN 360/50 No No
17. SCORS Staff N American Aviation FORTRAN 7094 360/50 or up No No
18. SOLIDS W Gattis Computer Technology FORTRAN 7094 360/50 Yes No
19. SPARTA L Mezei U of Toronto FORTRAN 7094 360/50 No Yes

Table 2: HIGHLIGHTS OF LANGUAGE

Movie Language COM OUTPUT Highlights of Language
1. ACIANS No Uses Sylvania Data Tablet to input hand drawn cartoon figures; Generated Animation for Oakland Coliseum display board.
2. ANIMATOR Yes Interactive; Has different modes for defining scenes, motions, etc. Uses SCORS to create COM tape.
3. BEFLIX Yes First complete system (1964); Uses a rectangular raster of characters (126x92) or (252x184); Has many operations (PAINT, SMOOTH, FILL, etc.)
4. CAFE Yes Interactive; Keeps file of basic shapes and motions by name; Combines them on request.
5. CAMP* No "Computer Assisted Movie Production;" Creates shapes based on the equation A(SIN(BT+R))**I; Used by John Whitney for Art Movies.
6. G.E./NASA No Shaded area output on TV screen in color; Real Time; Hardware Logic.
7. GENESYS No Interactive graphic tablet; Creates scenes from dots and timing charts.
8. GROATS Yes Has Windows and Masks; Several different character fonts; Save feature.
9. HICAMP/HICAMPER* Yes Interactive; 2D and 3D; No Compile Phase; Treats characters as figures; Has Windowing and Masking; Many Primitives; Logic in Loops; Save feature.
10. KARMA Yes Interactive with graphic tablet; Uses linear interpolation extensively; Uses Key Frame animation for cartoon production.
11. LEGER Yes Interactive generation of solid objects; Uses 1130/2250 to display wire frame views; links to 360/67 to quickly remove hidden lines.
12. MAGI No Generates shaded area views in color with shadow effects; allows intersection of solids.
13. N.R.C. No Interactive with light pen, graphic tablet and "mouse;" 3D pictures can be created in plan views; Allows sound synchronization for movies with a sound track.
14. Ohio State No Extremely efficient real time animation of 3D objects with hidden line removal; 1130/2500 used as stand-alone system.
15. PMACRO Yes Uses BEFLIX and additional macros to allow rotating phasors.
16. Polygraphics Yes Comprehensive system with over 50 routines; Has text centering and justification; Italics; Windowing and masking; Save feature.
17. SCORS Yes Large package of basic routines for controlling SC4020; Has many varieties of graph formats.
18. SOLIDS Yes Uses color gels to produce commercial grade animation of 3D objects in motion; output on film or plotter; used for a football film.
19. SPARTA No Interactive on 2250; Has several novel distortion functions for perturbing pictures; Allows several line styles (dashed, wavy, etc.).

REFERENCES

1. Junker, C and Rose C, Interactive Computer Animation , UAIDE Proceedings, 1970, p. 312-350.

2. Talbot, Carr, Coulter, Hwang, Animator: An On-Line Two Dimensional Film Animation System , Comm. A.C.M., April, 1971. p. 251-259.

3. Knowlton, K C, A Computer Technique for Producing Animated Movies , AFIPS Conference Proceedings, 1964, Vol. 25, p. 67-87.

4. Yarborough, L D, Experience with CAFE, a New On-Line Computer Animation System , UAIDE Proceedings, 1968, p. 31-45.

5. Citron, J P, An Algorithm for Curve Generation, UAIDE Proceedings, 1968, p. 220-233.

6. Nelson, T, The Route to Halftone Image Synthesis, Computer Decisions, May, 1971.

7. Baecker, R, Picture-Driven Animation , AFIPS Conference (SJCC), 1969, p. 273-288.

8. Hopgood, F R A, ALGOL GROATS Manual , Science Research Council, Chilton, Didcot, Berks, England, August, 1969.

9. Anderson, S and Weiner, D, A Computer Animation Movie Language for Educational Motion Pictures , AFIPS Conference (FJCC), 1968, p. 1317-1320.

10. Gracer, F. and Glasgen, M., Karma: A System for Storyboard Animation, IBM Research Publication RC3052, Yorktown Heights, NY, September 21, 1970.

11. Appel, A, Stein, A, Landsrein, J, The Interactive Design, Placement, and Animation of Three Dimensional Objects, Journal of Micrographics, Vol. 4, No. 4, May I 971.

12. Davis, J, Nagel, R, Guber, W, A Model Making and Display Technique for 3-D Pictures, UAIDE Proceedings, 1968, p. 46-72.

13. Burtnyk, N and Wein, M, Computer-Generated Key-Frame Animation , Journal of the Society of Motion Picture and Television Engineers, March, 1971, Vol. HO, No. 3.

14. Csuri, C, Real Time Film Animation , UAIDE Proceedings, 1970.

15. Huggins, W and Entwisle, D, Exploratory Studies of Films for Engineering Education, Dept. of E.E., Johns Hopkins U, September, 1968.

16. Sarno, F, Polygraphics Users Manual , Polytechnic Institute of Brooklyn, December, 1968.

17. Gattis, W, The Solids Animation Program , UAIDE Proceedings, 1968, p. 196-204.

18. Mezei, L, Artistic Design by Computer, Computers and Automation, August, 1964, p. 12-15.