BEFLIX

Last updated

BEFLIX is the name of the first embedded domain-specific language for computer animation, invented by Ken Knowlton at Bell Labs in 1963. [1] The name derives from a combination of Bell Flicks. Ken Knowlton used BEFLIX to create animated films for educational and engineering purposes. He also collaborated with the artist Stan Vanderbeek at Bell Labs to create a series of computer-animated films called Poemfields between 1966 and 1969.

Contents

BEFLIX was developed on the IBM 7090 mainframe computer using a Stromberg-Carlson SC4020 microfilm recorder for output. The programming environment targeted by BEFLIX consisted of a FORTRAN II implementation with FORTRAN II Assembly Program (FAP) macros. The first version of BEFLIX was implemented through the FAP macro facility. A later version targeting FORTRAN IV resembled a more traditional subroutine library and lost some of the unique flavor to the language.

Pixels are produced by writing characters to the screen of the microfilm recorder with a defocused electron beam. The SC4020 used a charactron tube to expose microfilm. In BEFLIX, the electron beam is defocused to draw pixels as blurred character shapes. Characters are selected to create a range of grayscale values for pixels. The microfilm recorder is not connected directly to the 7090, but communicates through magnetic tape. BEFLIX writes the magnetic tape output on the 7090 and the film recorder reads the tape to create the film output. BEFLIX also supports a preview mode where selected frames of the output are written to the line printer.

Programming Model

The memory of the 7090 is organized into rectangular surfaces of pixels. The surfaces are designated by a two letter code that identifies a particular surface geometry. BEFLIX supports two resolutions for output frames: fine (252x184) and coarse (126x92). The 7090 has enough memory to support two fine resolution frames. The surface organization in BEFLIX allows for different geometric combinations of smaller surfaces within available memory. BEFLIX pixels store values 0-7, allowing them to be packed 12 to a 36-bit word of the 7090.

BEFLIX provides low-level operations and high-level operations. For low-level operations, BEFLIX provides 26 scanners named A through Z. A scanner has a value and a coordinate position on a surface. Low-level statements in BEFLIX apply operations to a scanner based on a set of conditions being met. An example low-level operation is:

IFANY (B,R,10)(B,A,C)(A,E,7)T(A,T,B)(A,U,2)(A,W,3)LOC5

Which says that if any of the following conditions are true:

then the following operations are performed:

and then control is passed to the statement with the label LOC5.

In this way, complicated patterns can be programmed into the behavior of the scanners as the film output proceeds. All scanner operations are immediate operations and update the surfaces without any frame output in between operations.

High-level operations in BEFLIX fall roughly into four categories:

Drawing primitives and dynamic rectangle operations can be performed incrementally over a series of output frames as a quick way to encode animations.

Related Research Articles

<span class="mw-page-title-main">Computer animation</span> Art of creating moving images using computers

Computer animation is the process used for digitally generating animations. The more general term computer-generated imagery (CGI) encompasses both static scenes and dynamic images, while computer animation only refers to moving images. Modern computer animation usually uses 3D computer graphics to generate a three-dimensional picture. The target of the animation is sometimes the computer itself, while other times it is film.

<span class="mw-page-title-main">IBM 704</span> Vacuum-tube computer system

The IBM 704 is a large digital mainframe computer introduced by IBM in 1954. It was the first mass-produced computer with hardware for floating-point arithmetic. The IBM 704 Manual of operation states:

The type 704 Electronic Data-Processing Machine is a large-scale, high-speed electronic calculator controlled by an internally stored program of the single address type.

<span class="mw-page-title-main">IBM 7090</span> Mainframe computer

The IBM 7090 is a second-generation transistorized version of the earlier IBM 709 vacuum tube mainframe computer that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the IBM 700/7000 series scientific computers. The first 7090 installation was in December 1959. In 1960, a typical system sold for $2.9 million or could be rented for $63,500 a month.

<span class="mw-page-title-main">IBM 709</span> Vacuum tube computer system

The IBM 709 was a computer system, initially announced by IBM in January 1957 and first installed during August 1958. The 709 was an improved version of its predecessor, the IBM 704, and was the third of the IBM 700/7000 series of scientific computers. The improvements included overlapped input/output, indirect addressing, and three "convert" instructions which provided support for decimal arithmetic, leading zero suppression, and several other operations. The 709 had 32,768 words of 36-bit magnetic core memory and could execute 42,000 add or subtract instructions per second. It could multiply two 36-bit integers at a rate of 5000 per second.

<span class="mw-page-title-main">IBM 700/7000 series</span> Mainframe computer systems made by IBM through the 1950s and early 1960s

The IBM 700/7000 series is a series of large-scale (mainframe) computer systems that were made by IBM through the 1950s and early 1960s. The series includes several different, incompatible processor architectures. The 700s use vacuum-tube logic and were made obsolete by the introduction of the transistorized 7000s. The 7000s, in turn, were eventually replaced with System/360, which was announced in 1964. However the 360/65, the first 360 powerful enough to replace 7000s, did not become available until November 1965. Early problems with OS/360 and the high cost of converting software kept many 7000s in service for years afterward.

<span class="mw-page-title-main">Film recorder</span> Device that copies content from a computer system to film stock

A film recorder is a graphical output device for transferring images to photographic film from a digital source. In a typical film recorder, an image is passed from a host computer to a mechanism to expose film through a variety of methods, historically by direct photography of a high-resolution cathode ray tube (CRT) display. The exposed film can then be developed using conventional developing techniques, and displayed with a slide or motion picture projector. The use of film recorders predates the current use of digital projectors, which eliminate the time and cost involved in the intermediate step of transferring computer images to film stock, instead directly displaying the image signal from a computer. Motion picture film scanners are the opposite of film recorders, copying content from film stock to a computer system. Film recorders can be thought of as modern versions of Kinescopes.

<span class="mw-page-title-main">Tape head</span> Component used to read magnetic tape

A tape head is a type of transducer used in tape recorders to convert electrical signals to magnetic fluctuations and vice versa. They can also be used to read credit/debit/gift cards because the strip of magnetic tape on the back of a credit card stores data the same way that other magnetic tapes do. Cassettes, reel-to-reel tapes, 8-tracks, VHS tapes, and even floppy disks and early hard drive disks all use the same principle of physics to store and read back information. The medium is magnetized in a pattern. It then moves at a constant speed over an electromagnet. Since the moving tape is carrying a changing magnetic field with it, it induces a varying voltage across the head. That voltage can then be amplified and connected to speakers in the case of audio, or measured and sorted into ones and zeroes in the case of digital data.

Film-out is the process in the computer graphics, video production and filmmaking disciplines of transferring images or animation from videotape or digital files to a traditional film print. Film-out is a broad term that encompasses the conversion of frame rates, color correction, as well as the actual printing, also called scannior recording.

The Cineon System was one of the first computer based digital film systems, created by Kodak in the early 1990s. It was an integrated suite of components consisting a Motion picture film scanner, a film recorder and workstation hardware with software for compositing, visual effects, image restoration and color management.

<span class="mw-page-title-main">Motion picture film scanner</span> Device that digitises film stock

A motion picture film scanner is a device used in digital filmmaking to scan original film for storage as high-resolution digital intermediate files.

Stromberg-Carlson was a United States telecommunications equipment and electronics manufacturing company. It was formed in 1894 as a partnership by Swedish immigrants Alfred Stromberg and Androv Carlson. It was one of five companies that controlled the national supply of telephone equipment until after World War II.

Kenneth Charles Knowlton was an American computer graphics pioneer, artist, mosaicist and portraitist. In 1963, while working at Bell Labs, he developed the BEFLIX programming language for creating bitmap computer-produced movies. In 1966, also at Bell Labs, he and Leon Harmon created the computer artwork Computer Nude .

<span class="mw-page-title-main">Computer programming in the punched card era</span> History of computer programming using punch cards

From the invention of computer programming languages up to the mid-1970s, most computer programmers created, edited and stored their programs line by line on punch cards.

<span class="mw-page-title-main">Atlas Computer Laboratory</span>

The Atlas Computer Laboratory on the Harwell, Oxfordshire campus shared by the Harwell Laboratory was one of the major computer laboratories in the world, which operated between 1961 and 1975 to provide a service to British scientists at a time when powerful computers were not usually available. The main user population was the UK universities and some government agencies.

<span class="mw-page-title-main">Computer graphics</span> Graphics created using computers

Computer graphics deals with generating images and art with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. A great deal of specialized hardware and software has been developed, with the displays of most devices being driven by computer graphics hardware. It is a vast and recently developed area of computer science. The phrase was coined in 1960 by computer graphics researchers Verne Hudson and William Fetter of Boeing. It is often abbreviated as CG, or typically in the context of film as computer generated imagery (CGI). The non-artistic aspects of computer graphics are the subject of computer science research.

DAC-1, for Design Augmented by Computer, was one of the earliest graphical computer aided design systems. Developed by General Motors, IBM was brought in as a partner in 1960 and the two developed the system and released it to production in 1963. It was publicly unveiled at the Fall Joint Computer Conference in Detroit 1964. GM used the DAC system, continually modified, into the 1970s when it was succeeded by CADANCE.

The history of computer animation began as early as the 1940s and 1950s, when people began to experiment with computer graphics – most notably by John Whitney. It was only by the early 1960s when digital computers had become widely established, that new avenues for innovative computer graphics blossomed. Initially, uses were mainly for scientific, engineering and other research purposes, but artistic experimentation began to make its appearance by the mid-1960s – most notably by Dr Thomas Calvert. By the mid-1970s, many such efforts were beginning to enter into public media. Much computer graphics at this time involved 2-dimensional imagery, though increasingly as computer power improved, efforts to achieve 3-dimensional realism became the emphasis. By the late 1980s, photo-realistic 3D was beginning to appear in film movies, and by mid-1990s had developed to the point where 3D animation could be used for entire feature film production.

<span class="mw-page-title-main">Antics 2-D Animation</span>

The Antics 2-D Animation software is a proprietary vector-based 2-D application for animators and graphic designers, running under Microsoft Windows. It was created in 1972 by Alan Kitching, the British animator, graphic designer, and software developer. From 1977 to 1998 the Antics software was continuously developed, and was widely used by many studios around the world. The software of that time ran under Unix and Fortran, which by the late 1990s had been superseded by newer multimedia-oriented systems based on C++, and support for the older Antics was discontinued in 1998. In 2006, a project to build a completely new Antics software for C++ and Windows was begun, and the first published version made available in 2010.

<span class="mw-page-title-main">IBM 711</span> Punched card reader for early computers

The IBM 711 was a punched card reader used as a peripheral device for IBM mainframe vacuum tube computers and early transistorized computers. Announced on May 21, 1952, it was first shipped with the IBM 701. Later IBM computers that used it were the IBM 704, the IBM 709, and the transistorized IBM 7090 and 7094.

References

  1. Knowlton, Kenneth C. (Spring 1964). "A Computer Technique for Producing Animated Movies". AFIPS Conference Proceedings. 25: 67–87.