Benutzer:2010-alefeige/Informatik/Turtle-Grafik

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
<h2>Nikolaushaus</h2>

<code id="536ca437cda88"> 
 public void quadrat(double x)
 {for (int i = 0; i < 4; i++)
  {
   turtle.forward(x);  
   turtle.right(90); 
  }
  }
 
 public void dreieck (double x)
 {
  for (int i = 0; i < 3; i++)
  {
   turtle.forward(x);  
   turtle.right(120); 
  }
 }
 
 public void haus (double x)
 {
  quadrat(x);
  turtle.forward(x);
  turtle.right(30); 
  dreieck(x);
  turtle.right(105);
  turtle.forward(x*Math.sqrt(2));
  turtle.left(135);
  turtle.forward(x);
  turtle.left(135);
  turtle.forward(x*Math.sqrt(2));
 }
</code>

<canvas></canvas>

<run id="536ca437cdb12">

 canvas.clear(); 
 turtle.home();

 haus(50);

</run>
<h2>Treppe</h2>
<code id="536ca6a5eedce">
public void treppe (double x, int n) {
for (int i=1; i<=n; i++) {
turtle2.forward(x);
turtle2.right(90);
turtle2.forward(x);
turtle2.left(90);
}
turtle2.backward(x*n);
turtle2.left(90);
turtle2.forward(x*n);
}
</code>
<canvas></canvas>
<run id="536ca6a5eee66">
canvas2.clear(); 
 turtle2.home();

 treppe(10,10);
</run>

<h2>Pentagramm</h2>
<code id="536ca99dd789d">
public void pentagramm (double x) {
for (int i=1; i<=5; i++) {
turtle3.forward(x);
turtle3.right(144);
}
}
</code>
<canvas></canvas>
<run id="536cac214c3eb">
canvas3.clear();
turtle3.home();
pentagramm(100);
</run>

<h2>Rosette</h2>
<code id="536dfa47badee">
public void rosette (double x, int m, int n) {
for (int a=1; a<=n; a++) {
turtle4.right(360/n+1);
n_eck(x,m);
}
}
public void n_eck (double x, int m) {
for (int i=1; i<=m; i++) {
turtle4.forward(x);
turtle4.right(360/m);
}
}
</code>
<canvas></canvas>
<run id="536e072034e69">
canvas4.clear();
turtle4.home();
rosette(50,5,50)
</run>
<h2>Quadrat-Raster</h2>
<code id="5375db351548a">
public void raster(Object turtle, double x, int n) {
 for (int a=1;a<=n;a++){
   for (int i=1;i<=n;i++){
     for (int k=1;k<=4;k++){
        turtle5.forward(x);
        turtle5.right(90);
     }
     turtle5.forward(x);
   }
   turtle5.backward(n*x);
   turtle5.right(90);
   turtle5.forward(x);
   turtle5.left(90);
 }
}
</code>
<canvas></canvas>
<run id="5375db772d198">
canvas5.clear(); 
turtle5.move(100, 250);
raster(turtle5, 20, 10);
</run>