- Python 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| werbung | ||
| client_example.py | ||
| lightflut.py | ||
| logo.png | ||
| logo_small.png | ||
| README.md | ||
| screenshot.png | ||
lightflut
Neuinterpretation von pixelflut für LightPipes.
Protokoll
Das Protokoll von lightflut unterscheidet sich zum originalen pixelflut.
Als Pixeloutput dient ein LightPipe-Konstrukt, weshalb die verwenden Koordinaten nicht (x,y) sind sondern (p,x,y).
Außerdem wird ein Pixel nicht mit dem Befehl PX gesetzt, sondern ein Farbraumindikator verwendet.
Durch die Verwendung verschiedener Farbräume werden die Farben in unterschiedlichen Notationen angegeben (siehe Farbräume).
Abfragen an den Server wie SIZE sind noch nicht implementiert.
API
RGB $p $x $y $r $g $b\nHSV $p $x $y $h $s $v\nVGA $p $x $y $name\n
Beispiel
"RGB 0 4 2 255 0 0\n" # setzt Pipe 0 Position 4 Richtung 2 auf rot
"HSV 8 15 0 240 100 100\n" # setzt Pipe 8 Position 15 Richtung 0 auf blau
"VGA 4 2 1 yellow\n" # setzt Pipe 4 Position 2 Richtung 1 auf yellow
Die Richtungen (y-Werte) hängen von der Drehung der Hardware ab und sind scheinbar willkürlich. Sichergestellt ist, dass bei gleichem p die gleichen y (nahezu) identisch sind.
Client
Ein Beispielclient in python liegt hier im Repository.
Server
Ein Server als LightPipe-Effelkt liegt hier im Repository.
Er kann wie übliche Effekte mit run.py ausgeführt werden, wenn er in das effects-Verzeichnis vom LightPipe-Treiber kopiert wurde.
Farbräume
Hinweis: Die LEDs der LightPipe sind noch nicht farbkalibriert. Die sichtbaren Farben weichen also etwas von der Erwartung (oder deinem Bildschirm) ab.
RGB
RGB ist der allgemein bekannte Rot-Grün-Blau Farbraum.
Im Lightflut-Protokoll werden die RGB-Farben als Dezimalzahlen der einzelnen Farbkanäle angegeben, zum Beispiel 255 0 0 für rot oder 0 255 255 für cyan.
Alphawerte (rrggbbaa) und Hexadezimalstrings (zB. #acab24) werden nicht unterstützt.
Mehr über diesen Farbraum gibt es auf https://de.wikipedia.org/wiki/RGB-Farbraum zu lesen.
HSV
Im HSV-Farbraum wird eine Farbe über die drei Werte h, s und v angegeben.
- h (hue): Winkel auf Farbkreis
- 0: Rot
- 60: Gelb
- 120: Grün
- 180: Cyan
- 240: Blau
- 300: Pink
- 360: wieder Rot
- s (saturation): Sättigung
- 0: grau
- 50: pastell
- 100: gesättigt
- v (value): Helligkeit
- 0: dunkel
- 100: hell
Im Lightflut-Protokoll werden die HSV-Farben als Dezimalzahlen angegeben; dabei H als Winkel, S und V in Prozent.
Zum Beispiel 240 50 50 für desaturiertes abgedunkeltes Pink.
Mehr über diesen Farbraum gibt es auf https://de.wikipedia.org/wiki/HSV-Farbraum zu lesen.
VGA 16
Im VGA 16 Farbmodell sind genau 16 Farben definiert, die von fast allen Farbsystem erkannt werden. Es gibt:
- aqua
- black
- blue
- fuchsia
- gray
- green
- lime
- maroon
- navy
- olive
- purple
- red
- silver
- teal
- white
- yellow
Im Lightflut-Protokoll werden die VGA-Farben als die hier sichtbaren Namen angegeben, zum Beispiel gray für Grau.
Mehr über diesen Farbraum gibt es auf https://de.wikipedia.org/wiki/VGA-Farbe#HTML_4/VGA zu lesen.
Bilder
Screenshot aus der Simulation mit 9 virtuellen Pipes:

