At My Fingertips

Rapid Playground

Documentation

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 PyTamaro iconrgb_color verwendet, um eigene Farben zu erstellen. Es wird Zeit, eine neue Methode kennenzulernen, z. B. PyTamaro iconhsl_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 PyTamaro iconhsl_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 PyTamaro iconpin-position erhalten: PyTamaro iconcenter_left.

blatt_pin

Ergänzen Sie Ihre Funktion blatt(...) oben mit dieser PyTamaro iconpin-position.

Überprüfen Sie, ob mit folgendem Befehl die richtige PyTamaro iconpin-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 PyTamaro iconrotate, PyTamaro iconcompose 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 Ihr Werk in Ihre Toolbox auf.

Was Sie gelernt und geübt haben

Python

  • Sie können Akkumulatoren und Indexvariablen in Schleifen verwenden, um eine Grafik mit sich drehenden Elementen zu arrangieren.
  • Sie können eigene Funktionen in Schleifen verwenden.
  • Sie können die Indexvariable verwenden, um bei jedem Schleifendurchlauf einen neuen Wert zu berechnen.

PyTamaro

  • Sie kennen den Befehl hsl_color und seine 4 Argumente und können ihn benutzen.

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

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 320e1c5 (Thu, 16 May 2024 14:11:39 GMT)