Dissertation 1969
'BEGIN' 'COMMENT' BOGENRAUTE., 'REAL' A, B, V, U, C, S., 'INTEGER' T., OPEN(0,0)., A.=130., B.=90., V.=2*3.14159., 'FOR' T.=0 'STEP' 4 'UNTIL' 396 'DO' 'BEGIN' U.=T/400*V., C.=COS(U)., S.=SIN(U)., LINE(A*C*C*C,B*S*S*S)., 'IF' T 'NOTLESS' 300 'THEN' 'BEGIN' LINE(A,-B)., 'GOTO' Z 'END'., 'IF' T 'NOTLESS' 200 'THEN' 'BEGIN' LINE(-A,-B)., 'GOTO' Z 'END'., 'IF' T 'NOTLESS' 100 'THEN' 'BEGIN' LINE(-A,B)., 'GOTO' Z 'END'., LINE(A,B)., Z.. U.=(T+2)/400*V., C.=COS(U)., S.=SIN(U)., LINE(A*C*C*C,B*S*S*S)., LINE(0,0)., 'END'., CLOSE 'END' BOGENRAUTE.,
This page · drawing kernel
const A = 130, B = 90, V = 2 * Math.PI;
for (let T = 0; T <= 396; T += 4) {
const U = (T / 400) * V;
LINE(A * Math.cos(U) ** 3, B * Math.sin(U) ** 3);
if (T >= 300) LINE(A, -B);
else if (T >= 200) LINE(-A, -B);
else if (T >= 100) LINE(-A, B);
else LINE(A, B);
const U2 = ((T + 2) / 400) * V;
LINE(A * Math.cos(U2) ** 3, B * Math.sin(U2) ** 3);
LINE(0, 0);
}
In each pass the plotter stylus swings between the origin — the centre of the image — and a corner of rectangle A×B. On the way out and back it grazes the “Bogenraute” curve (A·cos³U, B·sin³U). Three branches (the IF tests) choose which of the four corners is visited in each quadrant, and that is what produces the full cross pattern.
© Works of Georg Nees: heirs Eckhard Nees & Sandra Nees · Website © 2026 Eckhard Nees