Approximate rendering · plotter stopped from outside · the plate’s seeds are not recorded

← Georg Nees, 1969 Chapter ㉚ — Curls

Dissertation 1969 · p. 236

ALGOL 60

'BEGIN' 'COMMENT' LOCKEN.,
'REAL' XM, YM, PI2, DA, R, A, ZW.,
'INTEGER' I, K, S, SU, SO.,
OPEN(X,Y), LEER(0,0),
PI2.=2*3.14159., DA.=PI2/12.,
R.=4., A.=0.,
SU.=5., SO.=25., K.=100.,
JI1.=JS1., JI2.=JS4.,
JA1.=-DA., JE1.=DA.,
JA2.=SU., JE2.=SO.,
'FOR' I.=1 'STEP' 1 'UNTIL' K 'DO'
'BEGIN'
ZW.=J1., S.=ENTIER(J2),
'FOR' I.=1 'STEP' 1 'UNTIL' S 'DO'
'BEGIN' A.=A+ZW.,
DREH..
XM.=X+R*COS(A),
YM.=Y+R*SIN(A),
'IF' (XM 'GREATER' 120.0
 'OR' XM 'LESS' -120.0
 'OR' YM 'GREATER' 80.0
 'OR' YM 'LESS' -80.0)
'THEN' 'BEGIN' A.=A+DA.,
 'GOTO' DREH 'END',
LINE(XM,YM)
'END',
'END', CLOSE
'END' LOCKEN.,

This page · drawing kernel

JavaScript

LEER(0, 0);
for (let M = 1; M <= K; M++) {
  const ZW = J1(-DA, DA);
  const S = Math.floor(J2(5, 25));
  for (let i = 1; i <= S; i++) {
    A += ZW;
    // DREH: at the ±120/±80 frame
    // A += DA until the next
    // point lies inside.
    LINE(X + R*cos(A), Y + R*sin(A));
  }
}
// Outer loop counts M, not I.
// Listing: the same control
// variable I — the Graphomat
// kept going until switched off.

Approximate rendering. P. 236: LOCKEN is one continuous walk of circular arcs (a tangle, Gewirr). Chord R = 4, turn ZW at most ±30°, inner length ENTIER(J2) between 5 and 25. At the frame, GOTO DREH turns the walk back in. In the printed listing both loops share the variable I — the program never stops by itself; figure 37 is what remained when the machine was switched off. The slider K stands for that moment (the book intended 100 arcs). JS1 and JS4 are the book seeds of p. 122.

© Works of Georg Nees: heirs Eckhard Nees & Sandra Nees · Website © 2026 Eckhard Nees