Download presentation
Презентация загружается. Пожалуйста, подождите
1
rekursive Grafiken Reklursive Grafiken
2
Beispiele für Grafische Rekursionen
Reklursive Grafiken
3
Zur Erinnerung: Wie zeichnen wir mit der Turtle
import turtle.*; import java.awt.*; public class Quadrat1 extends TurtleFrame { Turtle t1; public Quadrat1(String title) { super(title); t1 = new Turtle(tWin); } public void zeichne() { t1.forward(100); t1.right(90); public static void main (String[] args) { new Quadrat1("Quadrat1"); Reklursive Grafiken
4
Zustände nach diversen Klicks
Zur Erinnerung: Die API der Turtle zeigt alle ihre Methoden Reklursive Grafiken
5
Die Turtle zeichnet ein T auf dem Kopf
public void zeichne() { t1.jumpTo(0,150); t1.forward(-100); t1.right(90); t1.forward(100); t1.forward(-200); } Reklursive Grafiken
6
public void zeichne() { double l = 100; t1.jumpTo(0,150);
BinärBaum public void zeichne() { double l = 100; t1.jumpTo(0,150); t1.zeichneBinaerBaum(l); } Die Turtle muss dazulernen. – Wir haben aber keinen Zugriff auf die Klasse Turtle im Paket turtle. Reklursive Grafiken
7
Die Turtle erweiteren Wir bauen eine Klasse RekursionsTurtle, die von Turtle erbt. import turtle.*; public class RekursionsTurtle extends Turtle{ public RekursionsTurtle(TurtleWindow tWin){ super(tWin); } public void zeichneBinaerBaum(double l){ if (l>1){ forward(-l); right(90); forward(l); left(90); zeichneBinaerBaum(l/2); right(90); forward(-2*l); left(90); right(90); forward(l); left(90); forward(l); Merke: Die erweiterte Klasse muss im gleichen Ordner liegen, in dem die Klasse liegt, die sie benutzt, es sei denn ein Classpath ist extra gesetzt Reklursive Grafiken
8
public class Binaerbaum extends TurtleFrame {
import turtle.*; import java.awt.*; public class Binaerbaum extends TurtleFrame { RekursionsTurtle t1; public Binaerbaum(String title) { super(title); t1 = new RekursionsTurtle(tWin); } public void zeichne() { double l = 100; t1.jumpTo(0,150); t1.zeichneBinaerBaum(l); public static void main (String[] args) { new Binaerbaum("Binärbaum"); Binärbaum.java Reklursive Grafiken
9
Sierpinski-Dreieck Reklursive Grafiken
10
public void zeichneSierpinski(double l){ if (l>1) { forward(l);
Siepinski-Dreieck public void zeichneSierpinski(double l){ if (l>1) { forward(l); zeichneSierpinski(l/2); forward(-l); right(120); forward(l); left(120); left(60); forward(l); left(60); forward(l); right(120); right(60); forward(l); left(60); } Reklursive Grafiken
Similar presentations
© 2024 SlidePlayer.org Inc.
All rights reserved.