Beispielanwendung
AbgelaufenAls Demonstration von Mastersign.Expressions habe ich eine kleine Anwendung geschrieben, die ein Schwarzweißbild erzeugt. Das kompilierte Programm kann von GitHub heruntergeladen werden.
Für jedes Pixel des Bildes wird der eingegebene Ausdruck einmal ausgewertet und der Ergebniswert zwischen 0.0 und 1.0 als Helligkeitswert für das Pixel verwendet. Das Bild wird mehrmals pro Sekunde neu aufgebaut. Es stehen die folgenden Variablen zur Verfügung:
- W: Die Breite des Bildes in Pixeln
- H: Die Höhe des Bildes in Pixeln
- X: Die Position des aktuellen Pixels in X-Richtung (von links nach rechts)
- Y: Die Position des aktuellen Pixels in Y-Richtung (von oben nach unten)
- x: Die X-Position des aktuellen Pixels als reelle Zahl zwischen -0.5 und +0.5
- y: Die Y-Position des aktuellen Pixels als reelle Zahl zwischen -0.5 und +0.5
- T: Die aktuelle Zeit in Millisekunden
- t: Eine periodische Zeit zwischen 0.0 und 1.0 (wiederholt sich alle 10 Sekunden)
Mit diesen Variablen lassen sich einfache statische oder bewegte Muster berechnen.
Während der Eingabe wird stetig versucht den Ausdruck zu parsen und zu kompilieren. Auftretende Fehler werden direkt unter dem Eingabefeld angezeigt.
Syntaxfehler
Semantischer Fehler
Korrekte Eingabe
Bewegtes Muster
Das folgende Muster bewegt sich nach links unten (in diesem Screenshot natürlich nicht zu erkennen).