At My Fingertips

Margritli

Ein Gänseblümchen (3. Funktion) besteht aus weissen Blättern (2. Funktion) und einem gelben Blütenstand (1. Funktion). Die Blätter sind als Rosette (alle ums Zentrum herum) arrangiert.

Blütenstand

Ergänzen Sie die Funktion, die einen gelben Blütenstand mit gegebenem Durchmesser erzeugt. Unter dem Namen GELB ist bereits eine warme gelbe Farbe definiert.

bluetenstand

Loading...

Testen Sie die Funktion indem Sie einen Blütenstand mit Radius 100 erzeugen und anzeigen:

Loading...

Farben mit HSL

Vielleicht haben Sie es bemerkt: Für die Farbe haben wir einen neuen PyTamaro-Befehl benutzt. Bisher haben wir immer rgb_color verwendet, um eigene Farben zu erstellen. Es wird Zeit, eine neue Methode kennenzulernen, z. B. hsl_color.

hsl

HSL-Farben brauchen 3-4 Argumente:

  • hue: Farbton, z. B. 0 für Rot, 180 für cyan, 120 für green etc.
  • saturation: Sättigung, also wie stark die Farbe ist.
  • lightness: Helligkeit, Farben mit einem Helligkeitswert von 0.5 sind weder weiss (0) noch schwarz (1)
  • opacity: Opazität (Transparenz), 0 bedeutet vollständig durchsichtig; 0.5 bedeutet, dass die Fläche halb durchsichtig ist.

Blatt

Benutzen Sie eine HSL-Farbe bei der Implementation der Funktion blatt, die ein Blatt der gegebenen Länge erzeugt.

blatt

Verwenden Sie hsl_color, um die Blütenblätterfarbe WEISS zu erstellen:

  • hue: 58
  • saturation: 0.2
  • lightness: 0.98
  • opacity: 1

Die Höhe eines Blatts ist ein Viertel seiner Länge.

Loading...

Testen Sie Ihre Funktion mit der Länge 200:

Loading...

Blatt verfeinert

Die Blütenblätter sollen noch eine pin-position erhalten: center_left.

blatt_pin

Ergänzen Sie Ihre Funktion blatt oben mit dieser pin-position.

Überprüfen Sie, ob mit folgendem Befehl die richtige pin-position angezeigt wird.

Loading...

Stop and think

Sie werden eine Funktion blattrosette schreiben, die eine Rosette mit dem gegebenen durchmesser bestehend aus der gegebenen anzahl Blättern erzeugt. Aber um wie viel muss sich ein Blatt drehen, wenn sich die Anzahl Blätter bei jedem Aufruf ändern kann? Oder in anderen Worten: Wie gross ist der Winkel zwischen zwei Blättern?

Blattzwischenwinkel

GrafikAnzahl BlätterBlattzwischenwinkel
r-033120.0
r-066?
r-099?
r-1111?
Anzahl BlätterBlattzwischenwinkel
3120.0
660.0
940.0
1132.72727...

Formel: winkel == 360 / anzahl

Rotationsformel

Wenn die Blattrosette 6 Blätter haben soll, wird die Blume wie in der Tabelle Schleifendurchlauf um Schleifendurchlauf, Blatt um Blatt aufgebaut. (i ist die Indexvariable der Schleife.)

i == 0i == 1i == 2i == 3i == 4i == 5
winkel == 0winkel == ?winkel == ?winkel == ?winkel == ?winkel == ?
r-06-0r-06-1r-06-2r-06-4r-06-4r-06-5
i == 0i == 1i == 2i == 3i == 4i == 5
winkel == 0winkel == 60winkel == 120winkel == 180winkel == 240winkel == 300
r-06-0r-06-1r-06-2r-06-4r-06-4r-06-5

Formel: winkel == 360 / anzahl * i

Blattrosette

Zeichnen Sie nun die Blattrosette mit rotate, compose und einer Schleife mit der Laufvariable i.

Loading...

Rufen Sie die Funktion auf, um eine Blattrosette mit Durchmesser 200 und 11 Blättern zu erstellen und anzuzeigen:

Loading...

Margritli

Implementieren Sie die Funktion margritli, welche ein Gänseblümchen konstruiert. Der Durchmesser des Blütenstands soll durchmesser / 3 sein.

daisy

Loading...

Toolbox

Nehmen Sie jede Funktion einzeln (nach Bedarf) in Ihre Toolbox auf.

Was Sie gelernt und geübt haben

Allgemein

  • Sie können gut lesbaren, strukturierten und modularisierten Programmiercode schreiben.
  • Sie können bestehende Programme sinnvoll abändern und erweitern.
  • Sie können Befehlssequenzen manuell (Schritt-für-Schritt) durchführen und das Ergebnis bestimmen.
  • Sie können Probleme lösen, indem Sie diese in Teilprobleme zerlegen.

Python

  • Sie können Akkumulatoren und Laufvariablen in Schleifen verwenden, um sich leicht ändernde Elemente dem Akkumulator anzufügen.
  • Sie können eigene Funktionen in Schleifen aufrufen.
  • Sie können die Indexvariable verwenden, um bei jedem Schleifendurchlauf einen neuen Wert zu berechnen.

PyTamaro

  • Sie erkennen den Befehl hsl_color und seine vier Parameter.

This activity has been created by Gall and is licensed under CC BY-SA 4.0.

It is derived from this activity.

Margritli

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version c3a8286 (Mon, 14 Oct 2024 13:30:28 GMT)