Das Drachen-Fraktal mit LOGO
Gerhard Otte

Aus: Computer und Unterricht 17/1995

Die Beschreibung des Drachen-Fraktals (1) legt eine Erzeugung der Drachen-Kurve mit der Programmiersprache LOGO nahe. Die Abbildungsvorschrift läßt sich mit der Igelgrafik leicht umsetzen. Die Vorschrift hat außerdem eine  rekursive Struktur.
Zur Erinnerung:
1. Das Drachen-Fraktal besitzt als Ausgangsmenge M0 die Einheitsstrecke auf der x-Achse.
2. Die Menge Mn+1 entsteht aus der Menge Mn durch Vereinigung der Bildmenge der folgenden 2  Abbildungen:
a) Mn wird um P(0;0) im Verhältnis 1: 2 zentrisch gestreckt und um P(0;0) mit 45 Grad gedreht.
b) Mn wird nochmals im Verhältnis 1: 2 gestreckt, aber nun um P(0;0) mit 135 Grad gedreht und um 1 parallel zur  x-Achse verschoben
Der Entwurf eines Algorithmus zu rekursiven Problemstellungen mit mehrfachem Selbstaufruf fällt leichter, wenn man nicht den Programmablauf bis zur untersten Rekursionsebene nachvollzieht, sondern den  Zusammenhang zwischen zwei aufeinander folgenden Rekursionsebenen beschreibt. (2) Dazu geht man in zwei Schritten vor.
Zuerst schreibt man das Programm für die Stufen 0 und 1.

PR Drachen :Länge :Stufe

In der  Stufe 0 wird die Einheitsstrecke gezeichnet. Danach wird der Igel wieder in seine Ausgangsposition gebracht:

Wenn :Stufe = 0 Dann Vorwärts :Länge Rückwärts :Länge Rückkehr

In der Stufe 1 wird zuerst die Abbildung  1 erzeugt. Nach einer Drehung um 45 Grad wird die um 1/ 2 gestreckte Strecke gezeichnet. Auch hier ist es wichtig, alle Igelbewegungen wieder rückgängig zu machen.
Links 45
Vorwärts ( :Länge / Qw 2 )
Rückwärts ( :Länge / Qw 2 )
Rechts 45

Die Abbildung 2 entsteht entsprechend. Die Verschiebung um +1 parallel zur x-Achse erreicht man durch eine Vorwärtsbewegung des Igels mit angehobenem Stift.

Stifthoch
Vorwärts :Länge
Stiftab
Links 135
Vorwärts ( :Länge / Qw 2 )
Rückwärts (:Länge / Qw 2)
Stifthoch
Rechts 135
Rückwärts :Länge
Stiftab

Damit die Drachen-Kurve in x-Richtung entsteht,  zeichnet man zuerst ein Koordinatenssystem, dreht den Igel um 90 Grad nach rechts und ruft das Programm Drachen auf. Dies leistet das Programm Zeichne_Drachen.

PR Zeichne_Drachen :Länge :Stufe
Bild
Vorwärts :Länge
Rückwärts 2*:Länge
Vorwärts :Länge
Rechts 90
Vorwärts :Länge
Rückwärts 2*:Länge
Vorwärts :Länge
Drachen :Länge :Stufe
ENDE

Der Aufruf von Zeichne_Drachen 200 0 erzeugt die  Ausgangsmenge Mo. Eine Einheit entspricht dabei 200 Igelschritte Der Aufruf von Zeichne_Drachen 200 1 erzeugt die Menge M1 (Figur 1).

 

Figur 1
Das Programm zum Zeichnen der Drachenfigur der n-ten Stufe entsteht im 2.Schritt. Dazu ersetzt man in dem Programm Drachen diejenigen Befehle durch einen rekursiven Aufruf, die zu  eine Figur von gleicher Struktur in der nächst niedrigeren Stufe führen.

Bei der 1.Abbildung wird in der n-ten Stufe statt Vorwärts (:Länge / QW 2) Rückwärts (:Länge /  Qw 2) die Drachenfigur der nächst niedrigeren Stufe gezeichnet. Drachen ruft sich also mit

Drachen (:Länge / Qw 2) :Stufe - 1

selbst auf.

Die gleiche Ersetzung wird bei der 2.Abbildung vorgenommen. Die endgültige Version des Programms Drachen sieht damit so aus:

PR Drachen :Länge :Stufe
Wenn :Stufe = 0 Dann Vorwärts :Länge Rückwärts :Länge Rückkehr
Links 45
Drachen ( :Länge / Qw 2 ) :Stufe -1
Rechts 45
Stifthoch
Vorwärts :Länge
Stiftab
Links 135
Drachen ( :Länge / Qw 2 ) :Stufe - 1
Stifthoch
Rechts 135
Rückwärts :Länge
Stiftab
ENDE

Der Aufruf von Zeichne_Drachen 200 15 erzeugt das folgende Drachen-Fraktal.


(1) Behr, Reinhard: Fraktale und Chaos. Computer und Unterricht 14/1994. S.4
(2) Otte, Gerhard: Handbuch LOGO für den PC. Dümmler Verlag 1992. S.100 ff

 

WIN-LOGO

Kontakt

Besucherzähler:
 

Flag-uk