At My Fingertips
Bauen Sie eine Blume mit regenbogenfarbigen Blättern.
Gleich bleiben die Form des Blatts und seine Pin-Position.
Der Winkel/ die Orientierung sowie der Farbton der Blätter ändern sich.
Sie werden zwei Funktion bauen:
def blatt(size: float, angle: float) -> Graphic:
def blume(radius: float) -> Graphic:
Genauere Beschreibungen der Funktionen erhalten Sie weiter unten.
Bis jetzt haben Sie rgb_color verwendet, um Farben zu erstellen. Die Funktion hsl_color eignet sich jedoch viel besser für diese Grafik, um Farben für einen regenbogenartigen Farbverlauf zu erzeugen.
Probieren Sie aus:
Magenta und Rot, dasselbe Rot übrigens wie mit dem Farbton 0:
360° ist der Winkel eines Kreises.
Jedes Blütenblatt soll also eine andere Farbe haben. Der Farbton entspricht dabei praktischerweise dem Winkel des Blatts: 0 ist rot, 60 ist gelb, 120 ist grün, 180 ist cyan, 240 ist blau und 300 ist magenta.
Tipp: Semi-transparente Farben (Opazität um 0.5) generieren halb durchsichtige Blätter, so dass man die darunterliegenden Blätter noch sehen kann.
Implementieren Sie die gegebene Funktion blatt
. Fixieren Sie das Blatt mit pin mitte-links und drehen Sie es um den gegebenen Winkel. Verwenden Sie folgende hsl_color-Argumente:
Implementieren Sie die Funktion blume
, damit diese eine 12-blättrige, farbige Blume erzeugt.
Verwenden Sie die Funktion blatt
, um die Blätter zu erzeugen.
Verwenden Sie die Funktion compose um zwei Blätter zu einer Grafik zu vereinen. Die Funktion empty_graphic hilft, eine beliebige Anzahl Blätter zu einer Grafik zu vereinen.
Nehmen Sie Ihre Funktion in Ihre Toolbox auf.
Rot (0 oder 360), Blau (120), Grün (240)
Bauen Sie eine Blume mit 3 Blättern, mit Winkeln, die nicht bei 0 Grad beginnen, so dass die Blätter gelb
, cyan
und magenta
sind.
This activity has been created by Gall and is licensed under CC BY-SA 4.0.
It is derived from this activity.
Farben-Blume
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version c3a8286 (Mon, 14 Oct 2024 13:30:28 GMT)