Hessischer Bildungsserver / Arbeitsplattformen

Orientierung

Das Prinzip der Streckenersetzung lässt noch einen Gestaltungsspielraum offen, der kreativ genutzt werden kann. Ein Generator kann auf zwei verschiedene Weisen eine Strecke ersetzen, links oder rechts orientiert.

procedure TFRekGraf.ZeichneKoch(Stufe, Orientierung: Integer; Laenge: Real);
begin
if
Stufe > 0 then begin
Laenge:= Laenge/3;
ZeichneKoch(Stufe-1, Orientierung, Laenge);
Turtle.Turn(60*Orientierung);
ZeichneKoch(Stufe-1, Orientierung, Laenge);
Turtle.Turn(-120*Orientierung);
ZeichneKoch(Stufe-1, Orientierung, Laenge);
Turtle.Turn(60*Orientierung);
ZeichneKoch(Stufe-1, Orientierung, Laenge);
end
else
Turtle.Draw(Laenge);
end;

Die Orientierung wird letztlich durch die Vorzeichen der Winkel in den Turn-Befehlen festgelegt. Erweitert man die Zeichenprozeduren um den weiteren Parameter Orientierung mit den beiden möglichen Werten +1 und -1 und multipliziert dann alle Winkel in den Turn-Befehlen mit der Orientierung, so kann die gewünschte Orientierung beim Prozeduraufruf festgelegt werden.