Drachenkurven II

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

Dragon.m2
PROCEDURE Dragon(level: CARDINAL);

   (* Dragon curve (X -> X+YF+, Y -> -FX-Y) *)

   PROCEDURE X(n: CARDINAL);
   BEGIN
      IF n > 0 THEN
         X(n-1); Left; Y(n-1); Forward; Left;
      END;
   END X;

   PROCEDURE Y(n: CARDINAL);
   BEGIN
      IF n > 0 THEN
         Right; Forward; X(n-1); Right; Y(n-1);
      END;
   END Y;

BEGIN (* Dragon *)
   Init; Forward; X(level); Finish;
END Dragon;

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