urjnasw xkfjjkn's hot blog

2013年1月22日星期二

Blog on Sketchpad---A man-machine graphical communication system


Ivan Sutherland's main accomplishments in terms of modern day topics of current research in computer science:
(1)Ivan Sutherland created a new way for people to interact with computers through drawing on the screen and some ancillary buttons, switches and knobs. The popular touch screen/pad control of a bunch of electronic devices nowadays is derived from the idea of Ivan Sutherland.
(2)His Sketchpad can be considered to be the ancestor of modern computer-aided drafting (CAD) programs as well as a major breakthrough in the development of computer graphics in general. For example, the Graphic User Interface was derived from the Sketchpad as well as modern object oriented programming.

What I learnt through this paper:
(1)  Sketchpad is a computer program that realizes human-computer interaction through line drawings instead of cumbersome typed words.
(2)  With sketchpad, we can draw as we wish with the help of a light pen, turning knobs and function switches.
(3)  Sketchpad’s usefulness:
(3.1)For storing and updating drawings
(3.2)For gaining scientific or engineering understanding of operations that can be described graphically
(3.3)For circuit simulations as a topological input device
(3.4)For highly repetitive drawings
(4)  Three general elements of Sketchpad system, they are sub-pictures, constraints and definition copying. Sub-pictures are symbols drawn by users. Constraints are kind of relationship between picture parts( such as perpendicular, parallel, of equal size, lying on the other parts and so forth ). Definition copying means composite operation.
(5)  Structures:
(4.1)Ring structure:
In my opinion, this structure is just like a circular double linked list. By following pointers in the line block, not only will the end points of a line segment be found, but all the line segments terminating on a particular point will be found by following a string of pointers that starts within the point block.
(4.2)Generic structure:
The n-component elements( such as line blocks ) are collected under a generic header, which contains all the information that makes this type different from other types. It is a hierarchy structure.
(6)  Uses of light pen:
(5.1)Positioning picture parts: indicate the coordinate a new picture part should be.
(5.2)Demonstrative parts: point to existing picture parts for a possible change. To accurately pointing to a picture part, the part should not be too far from the center of the light pen in order to be identified by the sketchpad system.
(7)  The information for display spot:
Each display spot has 36 bits information. 20 of them give the coordinates of the spot in display system. The rest give the address of the n-component element which is responsible for adding that spot to the display. All the spots in a line are tagged with the ring structure of that line and all the spots in a sub-picture are tagged as belonging to that sub-picture.
(8)  The difficulty of magnification of pictures:
After magnifying the picture, only a portion of the original picture can be shown on screen. Sktechpad system will compute which part will appear on screen and generate relevant display spots. The difficulty lies on the edge detection problem.
(9)  Display of abstraction:
The abstraction that can be displayed is either constraints or the value of a set of digits.
Constraints: the fact that the start and end points of a circle arc should be equidistant from the circle center.
(10)  Recursive functions of Sketchpad
(9.1)Expansion of sub-pictures: sub-pictures within sub-pictures to as many levels as desired.
(9.2)Recursive deletion: If one thing on which another thing depend is deleted, the dependent things will also be deleted.
(9.3)Recursive merging:
If two things of the same type which are independent are merged, a single thing of that type results, and all things which depended on either of the merged things depends on the result of the merger.
(11)  Other functions:
Copy function: Once a sub-picture is copied, it loses its identity as a single part and the individual parts of the original sub-picture may be deleted at will.
(12)  Constraints satisfaction:
The advantage of Sketchpad system over traditional pencil work is, once a constraint is added, the already drawn parts will be automatically satisfied by the computer to make the drawing take the exact shape desired.
(13)  Constraint type definition:
A subroutine that computes the existing values of the variables of a particular constraint of that type, and the error introduced into the system by that particular constraint.
(14)  Engineering and Artistic application of Sketchpad:
Patterns, linkages, dimension lines, bridges, artistic drawings and so forth.

Bibliography:
             Sutherland, Ivan E. "Sketch Pad a Man-machine Graphical Communication System." Sketch Pad a Man-machine Graphical Communication System DAC '64 Proceedings of the SHARE Design Automation Workshop (1964): 6.329-.346. Print