Expression (Input Assignment) DMXC3 | Artikel beschreibt DMXControl 3.3.0 |
Abbildung 1: Ausdruck (Expression) Node |
Der Ausdruck (Expression)-Node ermöglicht mit eigenen mathematischer Gleichungen und Funktionen zu rechnen, um das gewünschte Ergebnis zu erhalten. Dabei können beliebig viele Variablen eingesetzt werden, welche durch vorgelagerte Nodes mit Werten gefüllt werden.
Eingänge
Name | Zulässige Werte | Datentyp | Beschreibung | |
---|---|---|---|---|
deutsche GUI | englische GUI | |||
f(x)= | Mathematische Gleichung | String | Formel | |
x | beliebiger Zahlenwert | Double | Wert x
| |
y | beliebiger Zahlenwert | Double | Wert y
|
Als mathematische Gleichung wird eine Zeichenfolge interpretiert und weiterverarbeitet, welche die im folgenden Abschnitt beschriebenen mathematischen Operatoren enthält. Eine Beschränkung hinsichtlich der Komplexität dieser mathematischen Gleichung gibt es nicht.
Standardmäßig stehen die Variablen x und y zur Verfügung. Wenn man in den Eigenschaften (Properties) im Feld "Variables" zum Beispiel die zusätzliche Variable z oder a oder b hinzufügt, werden diese Eingänge nach dem Bestätigen der Änderung automatisch hinzugefügt.
|
Valide mathematische Operationen
Im folgenden sind alle möglichen mathematischen Operationen aufgelistet. Dabei sind als Operanden an jeder Position sowohl Zahlen als auch die zuvor in dem Feld "Variables" vorbereiteten Variablen zulässig.
Funktion | Operatortext | Zulässige Parameter | Beispiele |
---|---|---|---|
Standard-Operationen | |||
Addition | a + b |
a , b : Zahl oder Variable |
4 + 5 oder x + y
|
Subtraktion | a - b |
a , b : Zahl oder Variable |
4 - 5 oder x - y
|
Multiplikation | a * b |
a , b : Zahl oder Variable |
4 * 5 oder x * y
|
Division | a / b |
a , b : Zahl oder Variable |
4 / 5 oder x / y
|
Modulo | a % b |
a , b : Zahl oder Variable |
4 % 5 oder x % y
|
Potenz | a ** b |
a , b : Zahl oder Variable |
4 ** 5 oder x ** y
|
Boolsche Operationen | |||
Kleiner als | a < b |
a , b : Zahl oder Variable |
x < 5 oder x < y
|
Kleiner als oder gleich | a <= b oder a ≤ b |
a , b : Zahl oder Variable |
x <= 5 oder x <= y
|
Größer als | a > b |
a , b : Zahl oder Variable |
x > 5 oder x > y
|
Größer als oder gleich | a >= b oder a ≥ b |
a , b : Zahl oder Variable |
x >= 5 oder x >= y
|
Ist gleich | a == b |
a , b : Zahl oder Variable |
x == 5 oder x == y
|
Ist nicht gleich | a != b oder a ≠ b |
a , b : Zahl oder Variable |
x != 5 oder x != y
|
Bitweise Operationen | |||
Bitweises Und | a & b |
a , b : Zahl oder Variable |
4 & 5 oder x & y
|
Bitweises Oder | a | b |
a , b : Zahl oder Variable |
4 | 5 oder x | y
|
Bitweises XOder | a ^ b |
a , b : Zahl oder Variable |
4 ^ 5 oder x ^ y
|
Linksshift | a << b |
a , b : Zahl oder Variable |
4 << 2 oder x << y
|
Rechtsshift | a >> b |
a , b : Zahl oder Variable |
4 >> 2 oder x >> y
|
Funktionen | |||
Betrag | Abs(a) |
a : Zahl oder Variable |
Abs(4) oder Abs(x)
|
Sinus | Sin(a) |
a : Zahl oder Variable |
Sin(4) oder Sin(x)
|
Kosinus | Cos(a) |
a : Zahl oder Variable |
Cos(4) oder Cos(x)
|
Tangens | Tan(a) |
a : Zahl oder Variable |
Tan(4) oder Tan(x)
|
Arkussinus | Asin(a) |
a : Zahl oder Variable |
Asin(4) oder Asin(x)
|
Arkuskosinus | Acos(a) |
a : Zahl oder Variable |
Acos(4) oder Acos(x)
|
Arkustangens | Atan(a) |
a : Zahl oder Variable |
Atan(4) oder Atan(x)
|
Minimum | Min(a; b) |
a = erster Wert, b = zweiter Wert |
Min(4; 2) oder Min(x; y)
|
Maximum | Max(a; b) |
a = erster Wert, b = zweiter Wert |
Max(4; 2) oder Max(x; y)
|
Runden | Round(a; b) |
a = Wert, b = Nachkommastellen |
Round(4; 2) oder Round(x; y)
|
Aufrunden | Ceiling(a) |
a : Zahl oder Variable |
Ceiling(4) oder Ceiling(x)
|
Abrunden | Floor(a) |
a : Zahl oder Variable |
Floor(4) oder Floor(x)
|
Abschneiden | Truncate(a) |
a : Zahl oder Variable |
Truncate(4) oder Truncate(x)
|
Divisionsrest | IEEERemainder(a; b) |
a = Divident, b = Divisor |
IEEERemainder(4; 2) oder IEEERemainder(x; y)
|
Potenz | Pow(a; b) |
a = Basis, b = Exponent |
Pow(4; 2) oder Pow(x; y)
|
Quadratwurzel | Sqrt(a) |
a : Zahl oder Variable |
Sqrt(4) oder Sqrt(x)
|
Eulersche Zahl | Exp(a) |
a : Zahl oder Variable |
Exp(4) oder Exp(x)
|
Vorzeichenfunktion | Sign(a) |
a : Zahl oder Variable |
Sign(4) oder Sign(x)
|
Natürlicher Logarithmus | Ln(a) |
a : Zahl oder Variable |
Ln(4) oder Ln(x)
|
Logarithmus | Log(a; b) |
a = Wert, b = Basis |
Log(4; 2) oder Log(x; y)
|
Logarithmus zur Basis 10 | Log10(a) |
a : Zahl oder Variable |
Log10(4) oder Log10(x)
|
Ist Enthalten | in(a; b; c; ...) |
Wenn a in b , c ... enthalten, dann true sonst false |
in(1 + 1; 1; 2; 3) gibt true aus, da 1 + 1 gleich 2 ergibt, was in dem Set an möglichen Werten enthalten ist.
|
wenn-Funktion (if-Funktion) |
if(a; b; c) |
Wenn a True ist, dann folgt b , sonst c |
if(x < 20; 2; 6) gibt 2 aus, solange x kleiner als 20 ist, sonst 6
|
case-Funktion | ifs(a; ar; b; br; cr) |
Wenn a True ist, folgt ar , wenn b True ist, folgt br , sonst cr |
ifs(x < 20; 2; x < 40; 4; 6) gibt 2 aus, solange x kleiner als 20 ist, 4 aus, solange x kleiner als 40 ist, sonst 6
|
Ausgänge
Name | Ausgebende Werte | Datentyp | Beschreibung | |
---|---|---|---|---|
deutsche GUI | englische GUI | |||
f(x)= | beliebiger Zahlenwert | Double | Rechenergebnis |
Eigenschaften
Das Ausdruck (Expression)-Node bietet folgende Einstellparameter in den Eigenschaften (Properties).
Einstellung | Möglicher Parameter | Standardwert | Beschreibung | |
---|---|---|---|---|
deutsche GUI | englische GUI | |||
Einstellungen des Kernels (Kernel properties) | ||||
Name | beliebiger Text | Expression | Benutzerdefinierte Beschreibung des Nodes im Titel. | |
Variables | beliebiger Text | x; y |
Erstellung und Benennung von Variablen. | |
Eingänge (Inputs) | ||||
f(x)= | beliebiger Text | y+x^2 |
Funktion | |
[Variable] | beliebiger Zahlenwert | 1 | Variable und dazugehöriger Eingang. | |
Einstellungen der Oberfläche (GUI properties) | ||||
Position | X-Koordinate Y-Koordinate |
variabel | Manuelle Position in X-Richtung und Y-Richtung für das Node. |