Computer graphics · 1963 · Ivan E. Sutherland
Sketchpad: A Man-Machine Graphical Communication System
Combine direct manipulation, reusable master-instance objects, geometric constraints, hierarchy, and visual interaction into a computational medium.
How to read the original
- Separate the 2003 archival preface from Sutherland’s 1963 dissertation.
- Study the treatment of instances alongside the stored drawing structure, then trace one master edit.
- Read Constraint Satisfaction and Numerical Definition of Constraints before assuming that a visually plausible drawing proves all constraints are satisfied.
A drawing can store relationships
Sketchpad treats a graphical drawing as structured objects and relationships, not merely a bitmap. Its account includes reusable instances and geometric constraints. The linked Cambridge report is an identified 2003 archival edition of the 1963 dissertation, so its new preface should not be mistaken for original text. The calculations below are simplified teaching models, not a reproduction of every historical solver detail.
Take two points P=(1,2) and Q=(5,4). To require their connecting segment to be horizontal, define an error r=y_Q-y_P. Initially r=2. If both vertical coordinates can move and the desired correction minimizes the sum of their squared displacements, set both to their mean, 3. The corrected points are (1,3) and (5,3), and the residual is zero.
If P is anchored, it cannot move. Then Q must move to y=2 instead. The same geometric relation produces a different correction because the permitted variables differ. A solver that ignores anchored status could satisfy the visible relation while violating the user’s intent. Constraints therefore need semantics about both the relationship and which state may change.
Count what is determined
Two free points in the plane have four scalar coordinates. One independent horizontal constraint removes one degree of freedom, leaving many valid configurations. A zero residual does not choose a unique drawing. Additional anchors, distances, or an optimization criterion determine which solution is selected. Conversely, contradictory constraints can make zero residual impossible.
Suppose Q must simultaneously have y=2 and y=5. No exact solution exists. A least-squares method may return y=3.5, but that compromise satisfies neither requirement. A usable interface should report remaining error or inconsistency instead of drawing a plausible compromise and calling it correct. Numerical tolerances and convergence limits must be visible in the interpretation of success.
Master and instance are not copied pixels
Consider a master containing a point p=(1,0). An instance applies scale two, then a counterclockwise quarter-turn, then translation (3,4). The displayed point is (3,6). If the master point changes to (2,0), the same instance transform displays it at (3,8). A second instance can share the master while applying a different transform.
This representation separates common geometry from placement. Editing an instance’s translation changes that instance; editing the master changes every linked instance according to its transform. A flattened copy loses this relationship. The difference is structural and remains even when the two representations initially render identical images.
Interaction needs an explicit update rule
A drag operation proposes a change, constraints adjust permitted coordinates, and the display communicates the result. The user needs to understand why a point moves differently from the pointer or why a request cannot be satisfied. Direct manipulation is not automatically self-explanatory. Feedback, selection rules, and visible constraints are part of the system.
Test both mathematical and interaction properties. Verify residuals, preservation of anchors, and propagation of master changes. Also test whether a user can identify which object is selected and undo an unwanted edit. An elegant constraint equation does not establish a usable editor, and a pleasing demonstration does not establish numerical robustness.
The general lesson reaches beyond graphics: represent the relationships that future changes must preserve. This can make editing more powerful, but it also introduces dependency, ambiguity, and solving costs. The right abstraction is one whose rules can be inspected and whose failure states can be explained.
Reconstruction exercise
Build a paper or numerical model of a segment with endpoints P and Q. Require it to be horizontal and length four, and anchor P=(2,1). List the possible exact positions of Q and explain why the constraints do not necessarily select one. Add a rule preserving the original left-to-right orientation. Then create two instances of a master point using different translations, change the master, and describe which stored fields should change. Include a contradictory constraint and specify the error your editor should expose.
Worked solution
Horizontal placement forces y_Q=1, while distance four gives x_Q=6 or x_Q=-2. The constraints admit two exact solutions. A rule that Q stays to the right of P selects Q=(6,1); the rule is additional semantics and should be documented. For master point (1,0), translations (3,4) and (-1,2) display points (4,4) and (0,2). Changing the master to (2,0) changes those displayed points to (5,4) and (1,2) without changing either stored translation. An added requirement y_Q=7 conflicts with horizontality and the anchored P. The editor should identify unsatisfied constraints or report nonzero residuals rather than silently claiming success. A numerical compromise is not an exact solution, and a unique-looking picture does not prove that the underlying constraints determine a unique object.
Test the limits and transfer the idea
1. Linear algebra and solver design · allow 45 minutes
Distinguish redundant constraints from a contradiction
Sketchpad stores geometric relationships and discusses numerical constraint satisfaction. Use an original simplified one-dimensional model for vertical coordinates y1,y2,y3 initially (0,3,9). Require y2-y1=0, y3-y2=0, and y3-y1=0. Count independent constraints and find the exact satisfying configuration that minimizes total squared displacement.
Now anchor y1=0 and recompute. Finally also anchor y3=9. Show why no exact solution exists and calculate a least-squares compromise if both anchors are hard and only the two adjacent-equality residuals are penalized. Explain why constraint count and a plausible rendered line are insufficient tests of solver success. Do not attribute this specific solver to Sutherland.
Get a starting hint
The third equality is the sum of the first two. Hard anchors remove variables rather than merely adding another soft penalty.
Compare your reasoning with the worked solution
The three equality rows have rank two: y3-y1=(y2-y1)+(y3-y2). Every exact solution has y1=y2=y3=t, leaving one free coordinate. Minimize t²+(t-3)²+(t-9)². Its derivative is 6t-24, so t=4 and the minimum-displacement solution is (4,4,4). Counting three equations as three independent restrictions would incorrectly suggest uniqueness before the objective is specified.
With hard anchor y1=0, the equalities force (0,0,0). Adding hard anchor y3=9 contradicts the requirement that all three values be equal. For the stated soft compromise, only y2 is free and the objective is y2²+(9-y2)². Differentiating gives 4y2-18=0, so y2=4.5. Residuals are 4.5 and 4.5, and their squared sum is 40.5. The result (0,4.5,9) satisfies both anchors but neither adjacent-equality constraint. If the redundant third equality were also penalized it would add a fixed 81 in this anchored case, without changing y2; in other formulations redundant weighting can change a compromise.
Report hard-constraint satisfaction separately from the soft objective, and display residual magnitudes against declared tolerances. A renderer can draw all three points and make the result look orderly while exact requirements remain inconsistent. This original linear problem illustrates why rank, permitted motion, and objective choice matter when reading Sketchpad's more elaborate constraint machinery. It does not reproduce its historical relaxation implementation.
Check your reasoning
- Identifies rank two and derives the minimum-displacement solution.
- Handles hard anchors correctly and derives the 4.5 compromise.
- Separates exact satisfaction, numerical residuals, and historical solver claims.
2. Geometry trace · allow 40 minutes
Propagate a master edit through nested transforms
A master drawing has points P=(1,0) and Q=(0,1). An inner instance first scales coordinates by two, then rotates them 90 degrees counterclockwise, then translates by (3,4). An outer instance translates the inner result by (-2,1). Derive a single formula for the nested display transform and compute both displayed points.
Change the master P to (2,0) without changing either instance. Then change only the outer translation to (0,1). Trace both edits. Show with P=(1,0) why moving the inner translation before scaling and rotation gives a different answer. Specify which objects must be stored so an undo can distinguish a master edit from an instance-placement edit.
Get a starting hint
The quarter-turn maps (x,y) to (-y,x). Function composition has an order.
Compare your reasoning with the worked solution
The inner transform is T(x,y)=(-2y+3,2x+4). Applying the outer translation gives U(T(x,y))=(-2y+1,2x+5). Initially P displays at (1,7) and Q at (-1,5). Changing master P to (2,0) changes its display to (1,9); Q stays (-1,5). Changing only the outer translation from (-2,1) to (0,1) then adds two to every displayed x coordinate: edited P becomes (3,9) and Q becomes (1,5).
Order matters. If the inner translation is applied first to original P=(1,0), the point becomes (4,4), then scales to (8,8), then rotates to (-8,8). The originally specified inner order instead gives (3,6). After the original outer translation these are (-10,9) and (1,7), respectively. Translation and rotation/scaling do not generally commute.
Store master geometry once, an inner instance reference plus its transform parameters, and the outer reference plus its transform. A master-coordinate edit changes shared geometry and should invalidate all dependent displays; an outer-placement edit changes only that placement and its descendants. Undo records the target object and previous field values, not just the last rendered pixel positions. A flattened drawing may initially look identical but cannot infer these editing relationships from coordinates alone. This is an original affine-transform model of reusable instances. It does not assert that Sketchpad stored these exact matrices or supported every modern scene-graph convention.
Check your reasoning
- Composes the transforms and computes each displayed coordinate.
- Provides a numerical noncommutativity counterexample.
- Preserves master/instance identity in update and undo semantics.
Check your understanding
Two points are constrained only to have equal vertical coordinates. What is generally true?
- Their complete positions are uniquely determined.
- Many valid drawings remain because other coordinates and the shared height are free.
- The constraint cannot be represented numerically.
Explanation
One scalar relation does not determine four free scalar coordinates.
A master shape changes while an instance transform remains fixed. What should happen?
- The instance must remain a frozen image.
- Every instance must move to the same location.
- Its displayed geometry changes according to the updated master and its existing transform.
Explanation
The representation shares geometry while preserving each instance’s placement parameters.
Original paper and sources
Ivan E. Sutherland. Sketchpad: A Man-Machine Graphical Communication System. MIT doctoral dissertation submitted January 1963. Linked archival edition: University of Cambridge Computer Laboratory Technical Report 574, September 2003, with a new preface.
Read the original paper →Read the primary paper: University of Cambridge Computer Laboratory
- Sketchpad: A Man-Machine Graphical Communication System: University of Cambridge Computer Laboratory