Wednesday, August 29, 2007

Week 1: Sketchpad

"Sketchpad," Sutherland

Sutherland's paper begins with an example illustrating the capabilities of Sketchpad, highlighting features such as object oriented design and constraint solving. Then next sections detail the inner workings of the various components of the system, beginning with storage. Objects are stored in a doubly-linked list that ties together connected components such as points and edges. Additionally, as new objects are created from the composition of lower level objects, a hierarchy of objects is formed. Modification of the lower level component bubbles up through the hierarchy altering higher level object that make use of it. Next, the light pen used for input is described. The light pen can observe objects on the display and is able to focus the users aim on objects within 1/8 of the center of the light pen's field of vision, allowing a range of freedom for targeting an object. The method used to display drawings is discussed next. For each "spot" on the screen the coordinates of the spot as well as a link to the object responsible for the spot are stored. Drawings can be magnified by up to a factor of 2000 and intersections between the objects an screen edges are computed. Line and curves are generated using simple difference equations, while text and digits rely on pre-generated tables to determine spot locations. Sketchpad also uses recursive, generic methods that allow complex objects to be altered in the same manner as simple ones. Objects are able to be deleted and merged in this fashion, and dependent objects are merged or deleted as necessary. When displayed objects refer to the objects they are composed of to determine how they are drawn. An instance of an object can be copied and modified independently of the original. The final section describing how Sketchpad works deals with constraints. Constraints are enforce with a one pass method and are relaxed should the method fail. Next, several examples are provided, such as patterns, electrical circuits, and bridges.

The Sketchpad paper provides an interesting view into the beginnings of pen based computer input. Though the numerous buttons needed for determining the appropriate mode of operation seem burdensome at first, modern CAD or drawing programs require the use of a similar mode selection procedure, though it is graphical in nature and some efficiency improvement do exist.

2 comments:

Grandmaster Mash said...

When I was reading the paper I thought about how similar Sketchpad seemed to CAD programs. In essence, Sketchpad can act as a CAD program where you have to create all of the symbols you want to use before you place them.

Miqe said...

I think you have an interesting point. If users look at AutoCad these days they'll be like "it's nothing like Sketchpad!" but in fact there's hundreds if not thousands of "shortcut" keys in EVERY program nowadays. Artists in photoshop use the keyboard for practically EVERYTHING, so it's not like we've advanced beyond the usefulness of buttons and knobs.