image image


image

TigerJython und die Turtle: Es ist ja alles so quietschebunt hier

Niemand sollte die Möglichkeiten unterschätzen, die in Pythons Standardbibliothek stecken. So hatte ich schon gelegentlich beklagt, daß die Farbauswahl in Pythons Turtlemodul auf das RGB-Farbmodell beschränkt sei. Bis mir gestern dieses Video untergekommen war (die letzten zwei Minuten zeigen nur ein schwarzes Bild, da hat wohl jemand den Stop-Knopf seiner Aufnahme-Software nicht gefunden 🤡). Denn dort zeigt der Autor, wie man mithilfe des Moduls colorsys den Farbraum erweitern kann.

Das Colorsys-Modul ist Teil der Python-Standard-Bibliothek und ermöglicht die Konvertierung der Farbmodelle YIQ, HLS (Hue Lightness Saturation) und HSV (Hue Saturation Value) nach RGB und zurück (YIQ kenne ich nicht, aber der HSV-Farbraum ist mir in leicht abgewandelter Form als HSB-Farbraum aus Processing ein Begriff).

Und jetzt kommt der Clou: Da das Modul colorsys zu Pythons Standard-Bibliothek gehört und auch in Python 2.7 schon vorhanden war, dachte ich mir, daß es auch in Jython und damit auch in TigerJython vorhanden sein müßte. Spoiler: Es ist!

Getestet habe ich das mit einem kleinen Programm, dessen Output Ihr in diesem Screenhot und im Banner im Kopf der Seite bewundern könnt:

from gturtle import *
import colorsys

Options.setPlaygroundSize(500, 500)  # Fenstergröße
win = TurtleFrame()
win.setTitle("Colorsys-Test")
win.clear(makeColor(54, 50, 80))     # Hintergrundfarbe

alice = Turtle(win)
alice.penWidth(2)
alice.hideTurtle()
alice.speed(-1)

hue = 0.0

for i in range(300):
    color = colorsys.hsv_to_rgb(hue, 1.0, 1.0)
    alice.setPenColor(makeColor(color))
    hue += 0.004
    # print(hue)
    alice.leftCircle(50)
    alice.forward(i)
    alice.left(91)

print("I did it, Babe!")

Das HSV-Modell ist für die meisten Menschen viel anschaulicher als der RGB-Farbraum und bietet viele Möglichkeiten, sich zum Beispiel bunte Farbaletten für die Darstellung von Fraktalen zurechtzubasteln. Schaun wir mal, was mir dazu noch einfallen wird …

Den Quellcode zu diesem Experiment gibt es natürlich auch in meinem GitLab-Repositorium zu TigerJython.


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung

Diese Spalte wurde absichtlich leergelassen!


Werbung


image  image  image
image  image  image


image