×
produktlogotitle

Seite: bdc_koch
Diese Seite wurde aktualisiert am 11.02.2021

LOGIN
Benutzer:
Passwort:
 
   if1.net-schulbuch.de

 

Fraktale Geometrie - Kochkurven

 

Wir vertiefen die Rekursion am Beispiel der Kochkurven

 

Eine sehr bekannte selbstähnliche Figur ist die Kochkurve. Aus mehreren Koch­kurven wird die Schneeflocken-Kurve zusammen ge­setzt. Für unsere Versuche interessiert uns ihr Gene­rator. Wir werden nun den Generator-Algorithmus als Programm formulieren. Er enthält eine wichtige, verallgemeinerbare Programmiertechnik, die Rekursion. Die Rekursion ist das geeig­nete Mittel, um die oben beschriebene Mehrfach-Fotokopier-Technik nachzubilden.

 

Das Ausgangsbild ist ein Rechteck. Dieses verkleinern wir auf ein Drittel seiner Anfangs­grö­ße und stellen vier Kopien her. Diese fügen wir in der nächste Stufe wie abgebildet zusammen.

 



 Stufe 0  Stufe 1
 Stufe 2  Stufe 7

 Kochkurven

 

Das Programm der Kochkurven

 

Wir zeigen dir nun das Programm, mit dem wir die Kochkurven erzeugt haben:

 FUNKTION Kochkurve.zeigen (Stufe)
  Grafikfenster.öffnen
  Stift.anheben
  Stift.positionieren (-200, -100)
  Stift.rechtsdrehen (90)
  Kopie (Stufe, 270)
ENDE FUNKTION Kochkurve.zeigen

FUNKTION Kopie(Stufe, Größe)
  WENN Stufe = 0
    DANN Initiator.zeigen (Größe)
    SONST Generator (Stufe - 1, Größe / 3)
  ENDE WENN
ENDE FUNKTION Kopie

FUNKTION Generator(Stufe, Größe)
  Kopie (Stufe, Größe)
  Stift.vorbewegen (Größe)
  Stift.linksdrehen (60)
  Kopie (Stufe, Größe)
  Stift.vorbewegen (Größe)
  Stift.rechtsdrehen (120)
  Kopie (Stufe, Größe)
  Stift.vorbewegen (Größe)
  Stift.linksdrehen (60)
  Kopie (Stufe, Größe)
  Stift.zurückbewegen (2 * Größe)
ENDE FUNKTION Generator

FUNKTION Initiator.zeigen (Größe)
  Stift.absenken
  Rechteck.zeigen (Größe, Größe / 5)
  Stift.anheben
ENDE FUNKTION Initiator.zeigen

FUNKTION Rechteck.zeigen (Länge, Breite)
  WIEDERHOLE 2 MAL
    Stift.vorbewegen (Länge)
    Stift.linksdrehen (90)
    Stift.vorbewegen (Breite)
    Stift.linksdrehen (90)
  ENDE WIEDERHOLE
ENDE FUNKTION Rechteck.zeigen

 

 

Aufgaben

 

Aufgabe 1 

Implementiere das Programm zum Erzeugen der Kochkurve in deiner Program­mierumgebung.
Teste es für die Stufen 0 bis 6.

 

Aufgabe 2  

Ergänze dein Programm so, dass die folgenden aus Kochkurven zusammen gesetz­ten Bilder im Grafikfenster erzeugt werden:

 

   
   

Verschiedene Kochkurven

 

In der mathematischen Literatur sind diese aus Kochkurven zusammen gesetzten Bilder unter dem Namen Schneeflockenkurven berühmt geworden.

 

Aufgabe 3

Erkläre am Beispiel des Funktionsaufrufes  Kochkurve (2) mit eigenen Wor­ten, wie die FUNKTION Kochkurve (Stufe) das Bild im Grafik­fenster hervorbringt.

Der Versuch, die Aufgabe 3 zu lösen, endet zumeist im heillosen Durcheinander. Dabei sollte das kurze Programm doch zu verstehen sein!

Du kannst die Funktion Kochkurve natürlich mit Hilfe des durchdringen. Wir geben dir jetzt eine weitere Hilfestellung und zeigen dabei ein universelles Verfahren auf, wie du die Arbeitsweise von rekursiven Funktionen  Schwierigkeiten durchdringen kannst.

In den folgenden Bildern werden

  • die zeitliche Reihenfolge der Funktionsraufrufe
  • die Hierarchie der Aufrufe und
  • die aktuellen Werte der Parameter deutlich.

 

Die Aufrufstruktur am Beispiel der Kochkurven

 

Um die Darstellung klarer zu gestalten, haben wir das Bild der Koch-Kurve um 900 gedreht. Die Komplexität des Aufrufes  Kochkurve (0) hält sich noch in engen Grenzen.

 

 

Der Aufruf von Kochkurve (1) ist schon nicht mehr so einfach zu durchschauen:

 

Aufgabe 4

Ändere den Initiator des Programms Kochkurve so ab, dass Bilder wie die Folgen­den im Grafikfenster erzeugt werden:

              
     
     

 

Zusammenfassung

Du hast erlebt, dass wir den Initiator austau­schen können, wenn wir das Prinzip der Allgemeingültigkeit nicht verletzen.

So erhalten wir weitere ästhetische Bilder.

Wesentlich für die Konstruktion neuer Initiatoren ist, dass der Zeichenstift beim Verlassen der Funktion sich in dem selben Zustand befindet wie beim Eintritt in die Funktion . Die Funktionen dürfen also keinen Seiteneffekt erzeugen.

 

 

 

 

 

 

 

 

 

 

Impressum
© 2023  Net-Schulbuch.de
10.00  0.6345  8.1.28