Gymnasium Löbau/Vertiefungsklasse 2010/Turtlegrafik (II)

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
== Die Turtle trifft Entscheidungen ==

Wir wollen ein beliebiges N-Eck ''mehrfarbig'' zeichnen.

<code id="5372a023602ac">
public void n_eck(Object turtle, double x, int n) {
 for (i = 1; i <= n; i++) {
  if (i % 2 == 0)
   turtle.penColor(255, 0, 0);
  else
   turtle.penColor(0, 0, 255);
  turtle.forward(x);
  turtle.right(360 / n);
 }
}
</code>
<canvas w="400" h="300"></canvas>
<run id="5372a0236035e">
canvas1.clear();
turtle1.move(100, 200);
n_eck(turtle1, 70, 10);
</run>

Syntax der neuen Sprachelemente:
<ul>
<li>''Zweiseitige'' Verzweigungen:
<pre>
if <Bedingung> {
 //Falls-Anweisung(en)
}
else {
 //Sonst-Anweisung(en)
} 
</pre>
</li>
<li>
Verzweigungen können auch ''einseitig'' sein, d.h. folgende Syntax haben:
<pre>
if <Bedingung> {
 //Falls-Anweisung(en)
}
</pre>
</li>
<li>
Die Anweisung
<pre>int rest = zahl % n;</pre>
gibt den Rest der ganzzahligen Division der Variablen <tt>zahl</tt> durch die Variable <tt>n</tt> an.
</li>  
</ul>

== Vom Pentagramm zum "N-Spitz" ==

Experimentiere mit der folgenden Prozedur. Variiere dazu die Parameter und verändere die Farbwerte.

<code id="5372a73267a71">
public void n_spitz(Object turtle, double x, int n) {
 double winkel;
 if (n % 2 == 0) 
  winkel = 180 - 360 / n;
 else
  winkel = 180 - 180 / n;
 for (int i = 1; i <= n; i++) {
  turtle.penColor(i * 10 + 50, 0, 250 - 10 * i); 
  turtle.forward(x);  
  turtle.right(winkel); 
 }
}
</code>
<canvas w="400" h="300"></canvas>
<run id="5372a73267b61">
canvas2.clear();
turtle2.move(200, 250);
n_spitz(turtle2, 200, 15);
</run>

== Aufgaben ==

Die Prozeduren zu den nachfolgenden Aufgaben können entweder unter dem eigenen Benutzernamen oder auf der unten verlinkten Lösungsseite implementiert werden. 

<ol>
<li>
=== Strich- und Zickzacklinie ===
Schreibe je eine Prozedur zur Darstellung einer Strich- bzw. Zickzacklinie. Diese Linienarten sollen zunächst wie in der Abbildung einfarbig sein.
[[Datei:Farbrosette1.gif|miniatur|Farbrosette mit Quadraten]]
<blockquote>[[Bild:Linien1.GIF]]</blockquote>
Gestalte nun die Linienarten mit wechselnden Farben.
</li>
<li>
=== Mehrfarbige Rosetten ===
Entwickle eine Prozedur, mit der Rosetten in wechselnden Farben gezeichnet werden können.<br />
Diese Rosetten sollen wie in [[Gymnasium Löbau/Vertiefungsklasse 2010/Turtlegrafik (I)|Turtlegrafik (I)]] aus gedrehten regelmäßigen N-Ecken gebildet werden.
</li> 
</ol>

Zu den [[Gymnasium Löbau/Vertiefungsklasse 2010/Turtlegrafik-Lösungen (II)|Lösungen der Aufgaben]].