Die letzten 5 Beiträge |
AxelF |
Kochkurve
Das Thema Kochkurve wird sehr ausführlich im Buch "Bausteine des Chaos Fraktale" (ISBN 3-540-55781-4 des Springer Verlages Autoren: Peitgen, Jürgens, Saupe, Erscheinungsjahr 1992) besprochen. Anbei ist auch ein Basic-Programm auf Seite 220, welches die Kochkurve grafisch darstellt.
Mit ein wenig Grundkenntnissen von Basic lässt sich dieses Programm ohne Probleme in eine moderne Sprache z.B. Java übersetzen ;-). Dort wird mit einem Array zur Speicherung der Koordinaten der Punkte gearbeitet.
Innerhalb der Rekursion wird zunächst das linke Teilstück, anschließend der linke mittlere Teil, dann der rechte mittlere Teil und zuletzt das rechte Teilstück erzeugt. ;-) |
JoTheGunny |
Zitat: |
Original von eggi
Soweit bin auch gekommen.
Nur wenn er für 0 als letztes n reingeht soll er ja auch 0 ausgeben.
Nur ist dann die Sache dass er die komplette Funktion dann mal 0 nimmt und es dann wieder nicht stimmt. |
Eine Zahl mit der Potenz 0 ergibt immer 1, daher musst du per if abfragen ob es eine 0 ist und dann eine 1 zurückgeben. Das wäre der einfachste weg. |
eggi |
Soweit bin auch gekommen.
Nur wenn er für 0 als letztes n reingeht soll er ja auch 0 ausgeben.
Nur ist dann die Sache dass er die komplette Funktion dann mal 0 nimmt und es dann wieder nicht stimmt. |
JoTheGunny |
Wenn es (4^n)-1 ist, ist es doch recht einfach, du hast eine Funktion mit einen Parameter ( n ) und lässt bei jedem rekursiven Durchgang n um eins dekrementieren ( beim neuen aufruf um eins vermindert übergeben ). Dann musst du noch die Abbruchbedingung setzen, damit es nicht unendlich tief geht.
Normaler durchgang: return 4 * rek( n-1 ); bei h der rekursion solltest du noch die -1 subtrahieren. |
eggi |
Konstruktion einer rekursiven Funktion
Hallo!
Hoffe dass meine Fragestellung in das Forum passt.
Und zwar geht es um um die Kochkurve.
Ich soll eine rekursive Funktion schreiben, die für die n-te Kochkurve die Ecken bzw. Knicke berechnet.
Ich weiß bereits dass es durch 4^n -1 definiert ist.
Kann mir einer einen Tipp geben wie ich diese Funtkion rekursiv darstellen kann?
0 soll auch Element aus N sein. |