Editing Graphical Objects Using Procedural Representations

Ph.D. Thesis, Stanford University Department of Computer Science

Published July 1, 1987

Paul Asente

Traditionally, people have created computer-generated images by writing programs in a programming language that supports graphics. More recently, interactive graphics editors have become commonplace. Graphics editors are easy to use but lack many of the capabilities found in graphics programming languages. This deficiency is intrinsic to graphics editors; it is not a result of neglect or incompetence by the implementer. Tweedle is a graphics editor that attempts to bridge this gap by using a program as its internal representation for a picture. During an editing session the user can modify either the picture itself or the program representation; the editor modifies the other to keep the two consistent. The language used by the editor contains features that allow the editor to incrementally execute parts ofa program in response to a change so that the picture can be regenerated without completely reexecuting the program. The use of a procedural representation allows the user to create pictures with structure, repetition, recursion, and calculated point values. It further allows him to define parts of a drawing as variants of other parts; these variants can differ from their original objects in quite arbitrary ways but still respond to changes made to the original. The language supports linking different parts of the picture together to maintain connections between parts as the picture changes.

Learn More