Gymnasium Löbau/Vertiefungsklasse 2015/Turtlegrafik-Lösungen (II)

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Javascript</language>
== Lösungen zu den Aufgaben ==

<ol>
<li>
=== Strich- und Zickzacklinie ===

<code id="5ccaf475d25fd">
function strichlinie(turtle, x, n) {

}
</code>

<canvas w="600" h="200"></canvas>

<run id="5ccaf475d31ba">
canvas1.clear(); 
turtle1.move(50, 100);
strichlinie(turtle1, 50, 10);
</run>

<code id="5ccaf475d2697">
function zickzacklinie(turtle, x, n) {

}
</code>

<canvas w="600" h="200"></canvas>

<run id="5ccaf475d3235">
canvas2.clear(); 
turtle2.move(50, 100);
zickzacklinie(turtle2, 50, 10);
</run>
</li>
<li>
=== Mehrfarbige Rosetten ===

<code id="5ccaf475d2728">
function n_eck(turtle, x, n) {
 var winkel = 360 / n;
 for (var i = 1; i <= n; i++) {
  turtle.forward(x);  
  turtle.right(winkel); 
 }
}

function farbrosette1(turtle, x, m, n) {
 var winkel = 360 / m;
 var farbanzahl = 6;
 var z;
 var r; var g; var b;
 for (var i = 1; i <= m; i++) {
  z = i * farbanzahl / (m + 1);
  r = Math.floor(250 - z * 200 / farbanzahl);
  //weitere Farbdefinitionen
  //Anweisungen zum farbigen Zeichnen der Rosette
 }
}

</code>

<canvas w="400" h="300"></canvas>

<run id="5ccaf475d3292">
canvas3.clear(); 
turtle3.move(200, 150);
farbrosette1(turtle3, 50, 20, 5);
</run>
=== Mehrfarbige Rosetten mit benutzerdefinierten Farben ===

Natürlich besteht der Wunsch, den Farbwechsel zwischen ''benutzerdefinierten'' Farben vorzunehmen. Dazu müssen diese gesondert angegeben und ausgewählt werden: 

<code id="5ccaf475d2881">
function farbrosette2(turtle, x, m, n) {
 var winkel = 360 / m;
 var farbanzahl = 6;
 var z;
 for (var i = 1; i <= m; i++) {
  z = Math.floor(i * farbanzahl / (m + 1));
  if (z == 0) turtle.penColor(255, 0, 0);
   else if (z == 1) turtle.penColor(255, 100, 0);
    //Setzen weiterer benutzerdefinierten Farbe; 
    else turtle.penColor(200, 50, 200);  
  n_eck(turtle, x, n);
  turtle.right(winkel); 
 }
}
</code>

<canvas w="400" h="300"></canvas>

<run id="5ccaf475d32ed">
canvas4.clear(); 
turtle4.move(200, 150);
farbrosette2(turtle4, 50, 20, 5);
</run>
</li>
</ol>

Zurück zur [[Gymnasium Löbau/Vertiefungsklasse 2015/Turtlegrafik (II)|Turtlegrafik (II)]].