At My Fingertips

Documentation

Die farbige Welt von PyTamaro

Magst du die programmierte Farbwelt?

alt text (https://age-gmbh.com/farben-2/)

Die Grafiken, die mit PyTamaro generiert werden, haben alle eine ausgefüllte Farbe und zumeist geschah dies bisher in den Farben gruen, rot, blau, gelb, schwarz und weiss. Selten wurde dir eine weitere Farbe präsentiert: braun, grau, violett oder lindengruen. Das hat damit zu tun, dass die erstgenannten Farben in der PyTamaro-Bibliothek vordefiniert sind. Du kannst sie als Konstanten in deinen Programmen verwenden.

Ziele

Ziel dieser Aktivität ist es, dass du lernst, wie du eigene Farben erstellst. PyTamaro ermöglicht dies, indem drei Funktionen für die Farbkreation zur Verfügung stehen: rgb_farbe, hsv_farbe und hsl_farbe.

Farbräume

Bekannte Farbräume sind Rot-Grün-Gelb (RGB) bei Licht und Cyan-Yellow-Magenta-Black (CMYK) beim Drucken oder Malen.

alt text (Quelle :https://www.rushordertees.com/blog/rgb-vs-cmyk/)

Additive Farbmischung - RGB

Bei der additiven Farbmischung entstehen unterschiedliche Farbeindrücke dadurch, dass zu vorhandenem Licht das Licht weiterer Spektralfarben hinzugefügt wird. In der Praxis mischt man nur Licht der drei Spektralfarben "Rot", "Grün" und "Blau". Man spricht dann vom RGB-Farbraum und nennt diese drei die Grund- oder Primärfarben der additiven Farbmischung. Mischt man das Licht dieser drei Grundfarben passend zusammen, so erhält man fast alle möglichen Farbeindrücke und auch den Farbeindruck "weiss".

(Quelle: https://www.leifiphysik.de/optik/farben/grundwissen/additive-farbmischung)

Mehr ist mehr

Je stärker das Licht einer Farbe, desto präsenter in der Mischung. Für den Gebrauch in der Informatik heisst das, dass ein int von 255 das Maximum der Farbe hervorholt und ein int von 0 nichts davon repräsentiert. Nichts würde also bedeuten: kein Licht, also dunkel bis schwarz.

Loading...

Aufgabe

Versuche die Farben so zu mischen, dass diese Farbfolge (aber vertikal) entsteht.

alt text

  1. Verstehe, was die erste Codezelle tut und führe sie dann aus.
  2. Ergänze die zweite Codezelle mit Zahlen anstelle der Nullen, so dass eben die Farben der Grafik oben entstehen.
Loading...
Loading...

Subtraktive Farbmischung - CMY

Bei der subtraktiven Farbmischung entstehen unterschiedliche Farbeindrücke dadurch, dass aus vorhandenem Licht das Licht einzelner Spektralfarben herausgefiltert wird. In der Praxis filtert man aus Licht, in dem alle Spektralfarben enthalten sind, "rotes", "grünes" und "blaues" Licht heraus. Die entsprechenden Farbfilter erscheinen uns in den Farben "Cyan", "Magenta" und "Gelb" ("Yellow"). Man spricht deshalb vom CMY-Farbraum.

(Quelle: https://www.leifiphysik.de/optik/farben/grundwissen/subtraktive-farbmischung)

Subtraktive Farbmischungen verwendet beispielsweise der Drucker oder du, wenn du Wasser- oder Acrylfarben im Bildnerischen Gestalten mischst.

Eine Funktion cmy() gibt es in PyTamaro nicht. Du kannst sie aber spätestens nach dem Erlernen von Funktionen selber generieren oder dich jetzt bei der Lehrperson erkunden.

HSV-Farbraum

alt text (Quelle: commmons.wikimedia.org)

In HSV ist der Farbort einer Farbe definiert mit Hilfe der drei Koordinaten:

  • Farbwert (engl. Hue)
    • Farbwinkel auf dem Farbkreis
    • 0° für Rot, 120° für Grün, 240° für Blau
  • Farbsättigung (engl. Saturation)
    • Entfernung vom Mittelpunkt des Farbkreises
    • 0% = Neutralgrau, 50% = wenig gesättigte Farbe, 100% = gesättigte, reine Farbe
    • je mehr reines Weiss beigemischt, desto geringere Sättigung (näher beim Mittelpunkt)
  • Hellwert (Helligkeit) (engl. Value, auch Dunkelstufe genannt)
    • Im HSV-Zylinder entspricht der Helligkeitswert der z-Achse
    • 0% = keine Helligkeit, "Schwärze", 100% = volle Helligkeit

Verwenden wir nun also die Funktion aus PyTamaro: alt text

Blätterst du in der API Dokumentation, findest du folgende Definition der hsv_farbe -Funktion. Jetzt sind es plötzlich 4 Parameter, bzw. 4 Werte, die die Funktion von dir verlangt.

alt text

  • Die Grundeinstellung der Opazität ist 1 als float, weshalb es als 1.0 dasteht. Gerade weil es die Grundeinstellung ist, muss man diesen vierten Wert nicht angeben und kann die Funktion mit 3 Angaben aufrufen.
  • Die Sättigung kann am besten über 0, 0.5 und 1 ausgedrückt werden.
  • Die Helligkeit mit 0 bis 1.
Loading...

Übung

  1. Erstelle eine Grafik deiner Wahl mit einer von dir neu generierten HSV-Farbe.
Loading...
  1. Stelle den Regenbogenturm nach, indem du den Code unten ergänzt.

alt text

Loading...
Loading...

Was du gelernt hast

  • Du kannst mit der Funktion rgb_farbe und der Funktion hsv_farbe deine eigenen Farbkonstanten erstellen.

  • Du weisst, welche Parameter rgb_farbe und hsv_farbe benötigen.

  • Du unterscheidest die additive und subtraktive Farberzeugung: RGB & CMY(K).


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

It is derived from this activity.

Farbpalette

Logo of PyTamaro

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

Privacy PolicyPlatform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)