No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2024-08-01 18:09:45 +02:00
werbung change serviervorschlag to servervorschlag 2024-08-01 18:09:45 +02:00
client_example.py improve example 2024-07-31 22:46:20 +02:00
lightflut.py add lightflut server 2024-07-31 22:47:46 +02:00
logo.png add logo 2024-07-31 23:46:03 +02:00
logo_small.png add logo to readme 2024-07-31 23:53:32 +02:00
README.md add logo to readme 2024-07-31 23:53:32 +02:00
screenshot.png add screenshot 2024-07-31 23:10:54 +02:00

lightflut

Neuinterpretation von pixelflut für LightPipes.

Logo

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\n
  • HSV $p $x $y $h $s $v\n
  • VGA $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:

Screenshot Simulation