PROCEDURE GenCurve(graphic: TurtleGraphics.Graphic;
level: INTEGER);
(* Peano-Hilbert curves:
start: L
L -> +RF-LFL-FR+
R -> -LF+RFR+FL-
*)
(* ... Forward, Left, and Right ... *)
PROCEDURE ^ R(n: INTEGER);
PROCEDURE L(n: INTEGER);
BEGIN
IF n > 0 THEN
DEC(n);
Left; R(n); Forward; Right; L(n); Forward;
L(n); Right; Forward; R(n); Left;
END;
END L;
PROCEDURE R(n: INTEGER);
BEGIN
IF n > 0 THEN
DEC(n);
Right; L(n); Forward; Left; R(n); Forward;
R(n); Left; Forward; L(n); Right;
END;
END R;
BEGIN L(level);
END GenCurve;
|