Peano-Hilbert-Kurven III

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Hilbert.om
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;

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999, 2004 Andreas F. Borchert, in HTML konvertiert am 28.01.2005