Chaweiss/Turtelgrafik II

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
===Strichellinie===
<code id="537e0a635410e">
public void strichellinie(Object turtle, double x, int n) {
turtle1.right(90);
for (int i = 1; i <=n; i++) {
turtle1.forward(x);
turtle1.penUp();
turtle1.forward(x);
turtle1.penDown();
}
}

</code>

<canvas width="500" height="200"></canvas>

<run id="537e0a6354231">

canvas1.clear(); 
turtle1.move(50, 100);
strichellinie(turtle1, 50, 10);

</run>

===Binärbaum===

<code id="537f1e3aade52">

public void baum(Object turtle, double x, int n) {
 if (n > 0) {
  turtle2.forward(x);
  turtle2.left(60);
  baum(turtle, 2 * x / 3, n - 1);
  turtle2.right(80);
  baum(turtle, 2 * x / 3, n - 1);
  turtle2.left(20);
  turtle2.backward(x);
 }
}
</code>

<canvas width="500" height="400"></canvas>

<run id="537f1e3aadedd">

canvas2.clear();
turtle2.move(190, 280);
baum(turtle2, 100, 12);

</run>

===Quadratschnecke===

<code id="537f1fb4caa7e">

public void quadschnecke(Object turtle, double x) {
 if (x > 0) {
  turtle.forward(x);
  turtle.right(90);
  quadschnecke(turtle, x - 2);
 }
}
</code>

<canvas width="500" height="400"></canvas>

<run id="537f1fb4cab19">

canvas3.clear();
turtle3.move(190,280);
quadschnecke(turtle3, 200);
</run>

===Vom rotierenden Quadrat zur Spiralgalaxie===

<code id="53918dfda01d8">
public void quadrat(Object turtle4, double x) {
 for (int i = 1; i <= 4; i++) {
  turtle4.forward(x);
  turtle4.right(90);
 }
}


public void spiralarm(Object turtle4, double x, double dx, double winkel) {
if (x > dx){
quadrat(turtle4, x);
turtle4.right(winkel);
spiralarm(turtle4, x-dx, dx, winkel);
}
}
</code>

<canvas width="500" height="400"></canvas>

<run id="53918f18e3cfb">
canvas4.clear(); 
turtle4.move(200, 150);
turtle4.penColor(255, 125, 125);
spiralarm(turtle4, 120, 2, 6);

</run>

<code id="5391946090061">
public void galaxie(Object turtle5, double x, int m, int n) {
 double winkel_m = (double) 360 / m;
 double winkel_n = (double) 360 / n;
 double dx = x / n;
for(int i = 1; i <=m; i++) {
 spiralarm(turtle5, x, dx, winkel_n);
turtle5.right(winkel_m);
}
}
</code>
<canvas width="500" height="400"></canvas>

<run id="5391946090113">
canvas5.clear(); 
turtle5.move(200, 150);
turtle5.penColor(255, 125, 125);
galaxie(turtle5, 100, 5, 30);
</run>