ASAS(ID:5522/asa003)

Lispish animation alnguage 


for Actor/Scriptor Animation System

LISPish graphics language for creating and displaying 3D scenes

Reynolds MIT 1980


Related languages
LISP => ASAS   Based on

References:
  • Reynolds, C. W. "Computer Animation with Scripts and Actors" pp289-296 view details Abstract: A technique and philosophy for controlling computer animation is discussed. Using the Actor/Scriptor Animation System (ASAS) a sequence is described by the animator as a formal written SCRIPT, which is in fact a program in an animation/graphic language. Getting the desired animation is then equivalent to "debugging" the script. Typical images manipulated with ASAS are synthetic, 3D perspective, color, shaded images. However, the animation control techniques are independent of the underlying software and hardware of the display system, so apply to other types (still, B&W, 2D, line drawing ...). Dynamic (and static) graphics are based on a set of geometric object data types and a set of geometric operators on these types. Both sets are extensible. The operators are applied to the objects under the control of modular animated program structures. These structures (called actors) allow parallelism, independence, and optionally, synchronization, so that they can render the full range of the time sequencing of events. Actors are the embodiment of imaginary players in a simulated movie. A type of animated number can be used to drive geometric expressions (nested geometrical operators) with dynamic parameters to produce animated objects. Ideas from programming styles used in current Artificial Intelligence research inspired the design of ASAS, which is in fact an extension to the Lisp programming environment. ASAS was developed in an academic research environment and made the transition to the "real world" of commercial motion graphics production. Extract: Introduction
    Introduction
    This paper describes the Actor/Scriptor Animation System (ASAS), which is a way of thinking about and describing computer graphic animation. ASAS is basically a notation for animated graphics. The notation for an animated sequence (the script) can be automatically read and converted into animated images by an ASAS interpreter. As in the case of musical notation being interpreted by a group of musicians -- or the script of a video production being executed by a host of actors, camera, audio, lighting and video technicians -- ASAS allows the creation and use of any number of simulated participants, "actors" each of which can control one or more aspects of the animation. The ability of ASAS actors to operate independently or (by communicating with each other) to act in synchronization allows a simple and unambiguous description of the function of each actor.

    ASAS differs from "performance" based real time computer graphics systems as well as from command or "menu" based systems. Writing the ASAS notation for an animated sequence will probably take longer than the final running time of the sequence. On the other hand, an ASAS script is typically more compact than a simple listing of the value of all relevant parameters for each frame, as might be required in a command- menu system. This results from the fact that ASAS is a procedural notation, a programming language for animation and graphics. In fact ASAS is a "full" programming language and includes all of the typical modern structured programming features (procedures (recursive), local variables, "if then elses", loops, typed data structures and generic operators). Additionally ASAS supports independent, parallel, "animated" program structures (actors), and includes a rich set of geometric and photometric objects and generic operators on these objects.

    The existence of a formal notation for a field of endeavor leads to a workable procedure for the development of an idea. Like an algorithm being debugged by a computer programmer, or a musical score being revised, an ASAS script being developed is both unambiguous and precisely modifiable. It is possible to change just one small aspect while keeping everything else exactly the same. This property of notation allows the process of progressive refinement ("tweaking") to be used to converge on the desired algorithm, music or animation.
    Extract: History
    History
    ASAS was developed at the Architecture Machine Group at MIT as two thesis projects between 1975 and 1978 [24,24]. "ASAS 0" was not a full implementation, but "ASAS 1" did actually work, despite a very slow and uninteresting display package. In 1979 ASAS was integrated into the Digital Scene Simulation system of Information International Inc. ("III", "triple-I") in Culver City, California. In this instance, ASAS is not used to make images directly, but serves as a preprocessor for III's existing 3D, hidden surface and shaded graphics system. Hence "ASAS 2" functioned as a true language compiler, translating from the animator's script to the command sequence for the display software. The inconvenience of having the display support in a separate software package is offset by the much wider range of graphic features made available to the ASAS user through the very advanced III software. After three years of commercial use the system was refined and became "ASAS 3". The current reference for the language is the unfinished ASAS Users Manual 3.0. [26]

    The design of ASAS was influenced by some concepts from research in the Artificial Intelligence field. The basic concept of graphic databases and animation scripts as programs (procedural embedding of knowledge) was in spired by Terry Winograd's pioneering work in computer linguistics. In Winograd's system natural language was represented by a procedural data structure. [30] The concept of message passing actors was from Carl Hewitt's body of work in "actor systems" such as PLASMA. [12,13,14] Similar concepts exist in Smalltalk [11], Simula [5] and Modula [32].)

    An animation system in development at about the same time as ASAS by Ken Kahn shared some concepts with ASAS. [16,17] Kahn's system had what Hewitt calls a "uniform actor basis" and so perhaps a theoretically "cleaner" structure. Kahn's work placed more emphasis on embedding common-sense and theatrical knowledge in animation characters, and less emphasis on complex graphics.

          in Computer Graphics, 16(3) July, 1982 Proceedings of the 9th annual conference on Computer graphics and interactive techniques, 1982 ((SIGGRAPH 82) view details