Expression (Input Assignment) DMXC3: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
Keine Bearbeitungszusammenfassung
 
(26 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Kapitelüberschrift|Version=DMXControl 3.2.1}}
{{Manual Header
{{DMXC3_Manual-Navigation_Hauptprogramm}}
| Type = DMXC3 Main-Software
| Version = 3.3.0}}


{{Bild_mit_Unterschrift | DMXC3_IA-Node_Binary_switcher.png |1| Schwellwert (Binary Switcher) Node | right}}
{{Bild_mit_Unterschrift | DMXC3_IA-Node_Expression.png |1| Ausdruck (Expression) Node | right}}
Der {{Manual_Objectcaption|Ausdruck(Expression)}}-Node ermöglicht das Nutzen eigener mathematischer Funktionen.
Der {{Manual_Objectcaption|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.
{{Clear}}
{{Clear}}


= Eingänge =
= Eingänge =
{{DMXC3 Manual-Tableheader IA-Nodes In-Output | de | in}}
| colspan="2" | f(x)= || Mathematische Gleichung || String || Formel
|-
| colspan="2" | x || beliebiger Zahlenwert || Double || Wert <code>x</code>
|-
| colspan="2" | y || beliebiger Zahlenwert || Double || Wert <code>y</code>
|}
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.
{{Manual Box | de | Hint | Standardmäßig stehen die Variablen <code>x</code> und <code>y</code> zur Verfügung. Wenn man in den Eigenschaften (Properties) im Feld {{Manual Fields|Variables}} zum Beispiel die zusätzliche Variable <code>z</code> oder <code>a</code> oder <code>b</code> 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 {{Manual Fields|Variables}} vorbereiteten Variablen zulässig.
{| class="wikitable toptextcells"
{| class="wikitable toptextcells"
|- class="hintergrundfarbe10"
! style="width: 175px" | Funktion !! style="width: 175px" | Operatortext !! Zulässige Parameter !! Beispiele
{{DMXC3 Manual-Tablesection | S1 | 4 | Standard-Operationen }}
| Addition || <code>a '''+''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 + 5</code> oder <code>x + y</code>
|-
| Subtraktion || <code>a '''-''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 - 5</code> oder <code>x - y</code>
|-
| Multiplikation || <code>a '''*''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 * 5</code> oder <code>x * y</code>
|-
| Division || <code>a '''/''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 / 5</code> oder <code>x / y</code>
|-
| Modulo || <code>a '''%''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 % 5</code> oder <code>x % y</code>
|-
|-
! colspan="2" | Name !! style="width: 175px" rowspan="2" | Zulässige Werte !! style="width: 125px" rowspan="2" | Datentyp !! rowspan="2" | Beschreibung
| Potenz || <code>a '''**''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 ** 5</code> oder <code>x ** y</code>
 
{{DMXC3 Manual-Tablesection | S1 | 4 | Boolsche Operationen }}
 
| Kleiner als || <code>a '''<''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>x < 5</code> oder <code>x < y</code>
|-
|-
! style="width: 175px;" | deutsche GUI !! style="width: 175px;" | englische GUI
| Kleiner als oder gleich || <code>a '''<=''' b</code> oder a '''≤''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>x <= 5</code> oder <code>x <= y</code>
|-
|-
| colspan="2" | f(x)= || beliebiger Text || String || Formel
| Größer als || <code>a '''>''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>x > 5</code> oder <code>x > y</code>
|-
|-
| colspan="2" | x || beliebiger Zahlenwert || Double || Wert x
| Größer als oder gleich || <code>a '''>=''' b</code> oder <code>a '''≥''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>x >= 5</code> oder <code>x >= y</code>
|-
|-
| colspan="2" | y || beliebiger Zahlenwert || Double || Wert y
| Ist gleich || <code>a '''==''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>x == 5</code> oder <code>x == y</code>
|-
|-
|}
| Ist nicht gleich || <code>a '''!=''' b</code> oder <code>a '''≠''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>x != 5</code> oder <code>x != y</code>
 
{{DMXC3 Manual-Tablesection | S1 | 4 | Bitweise Operationen }}
 
| Bitweises Und || <code>a '''&''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 & 5</code> oder <code>x & y</code>
|-
| Bitweises Oder || <code>a '''<nowiki>|</nowiki>''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 <nowiki>|</nowiki> 5</code> oder <code>x <nowiki>|</nowiki> y</code>
|-
| Bitweises XOder|| <code>a '''^''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 ^ 5</code> oder <code>x ^ y</code>
|-
| Linksshift || <code>a '''<<''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 << 2</code> oder <code>x << y</code>
|-
| Rechtsshift || <code>a '''>>''' b</code> || <code>a</code>, <code>b</code>: Zahl oder Variable || <code>4 >> 2</code> oder <code>x >> y</code>
 
{{DMXC3 Manual-Tablesection | S1 | 4 | Funktionen }}


= Ausgänge =
| Betrag || <code>'''Abs('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Abs(4)</code> oder <code>Abs(x)</code>
{| class="wikitable toptextcells"
|-
| Sinus || <code>'''Sin('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Sin(4)</code> oder <code>Sin(x)</code>
|-
| Kosinus || <code>'''Cos('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Cos(4)</code> oder <code>Cos(x)</code>
|-
| Tangens || <code>'''Tan('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Tan(4)</code> oder <code>Tan(x)</code>
|-
| Arkussinus || <code>'''Asin('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Asin(4)</code> oder <code>Asin(x)</code>
|-
| Arkuskosinus || <code>'''Acos('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Acos(4)</code> oder <code>Acos(x)</code>
|-
| Arkustangens || <code>'''Atan('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Atan(4)</code> oder <code>Atan(x)</code>
|-
| Minimum || <code>'''Min('''a'''; '''b''')'''</code> || <code>a</code> = erster Wert, <code>b</code> = zweiter Wert || <code>Min(4; 2)</code> oder <code>Min(x; y)</code>
|-
| Maximum || <code>'''Max('''a'''; '''b''')'''</code> || <code>a</code> = erster Wert, <code>b</code> = zweiter Wert || <code>Max(4; 2)</code> oder <code>Max(x; y)</code>
|-
| Runden || <code>'''Round('''a'''; '''b''')'''</code> || <code>a</code> = Wert, <code>b</code> = Nachkommastellen || <code>Round(4; 2)</code> oder <code>Round(x; y)</code>
|-
| Aufrunden || <code>'''Ceiling('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Ceiling(4)</code> oder <code>Ceiling(x)</code>
|-
| Abrunden || <code>'''Floor('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Floor(4)</code> oder <code>Floor(x)</code>
|-
| Abschneiden || <code>'''Truncate('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Truncate(4)</code> oder <code>Truncate(x)</code>
|-
| Divisionsrest || <code>'''IEEERemainder('''a'''; '''b''')'''</code> || <code>a</code> = Divident, <code>b</code> = Divisor || <code>IEEERemainder(4; 2)</code> oder <code>IEEERemainder(x; y)</code>
|-
| Potenz || <code>'''Pow('''a'''; '''b''')'''</code> || <code>a</code> = Basis, <code>b</code> = Exponent || <code>Pow(4; 2)</code> oder <code>Pow(x; y)</code>
|-
| Quadratwurzel || <code>'''Sqrt('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Sqrt(4)</code> oder <code>Sqrt(x)</code>
|-
| Eulersche Zahl || <code>'''Exp('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Exp(4)</code> oder <code>Exp(x)</code>
|-
| Vorzeichenfunktion || <code>'''Sign('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Sign(4)</code> oder <code>Sign(x)</code>
|-
| Natürlicher Logarithmus || <code>'''Ln('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Ln(4)</code> oder <code>Ln(x)</code>
|-
| Logarithmus || <code>'''Log('''a'''; '''b''')'''</code> || <code>a</code> = Wert, <code>b</code> = Basis || <code>Log(4; 2)</code> oder <code>Log(x; y)</code>
|-
| Logarithmus zur Basis 10 || <code>'''Log10('''a''')'''</code> || <code>a</code>: Zahl oder Variable || <code>Log10(4)</code> oder <code>Log10(x)</code>
|-
|-
! colspan="2" | Name !! style="width: 175px" rowspan="2" | Ausgebende Werte !! style="width: 125px" rowspan="2" | Datentyp !! rowspan="2" | Beschreibung
| Ist Enthalten || <code>'''in(a; b; c; ...)'''</code> || Wenn <code>a</code> in <code>b</code>, <code>c</code>... enthalten, dann <code>true</code> sonst <code>false</code> || <code>in(1 + 1; 1; 2; 3)</code> gibt <code>true</code> aus, da <code>1 + 1</code> gleich <code>2</code> ergibt, was in dem Set an möglichen Werten enthalten ist.
|-
|-
! style="width: 175px;" | deutsche GUI !! style="width: 175px;" | englische GUI
| wenn-Funktion<br />(if-Funktion) || <code>'''if('''a'''; '''b'''; '''c''')'''</code> || Wenn <code>a</code> ''True'' ist, dann folgt <code>b</code>, sonst <code>c</code> || <code>if(x < 20; 2; 6)</code> gibt <code>2</code> aus, solange <code>x</code> kleiner als <code>20</code> ist, sonst <code>6</code>
|-
|-
| case-Funktion || <code>'''ifs('''a'''; '''ar'''; '''b'''; '''br'''; '''cr''')'''</code> || Wenn <code>a</code> ''True'' ist, folgt <code>ar</code>, wenn <code>b</code> ''True'' ist, folgt <code>br</code>, sonst <code>cr</code> || <code>ifs(x < 20; 2; x < 40; 4; 6)</code> gibt <code>2</code> aus, solange <code>x</code> kleiner als <code>20</code> ist, <code>4</code> aus, solange <code>x</code> kleiner als <code>40</code> ist, sonst <code>6</code>
|}
= Ausgänge =
{{DMXC3 Manual-Tableheader IA-Nodes In-Output | de | out}}
| colspan="2" | f(x)= || beliebiger Zahlenwert || Double || Rechenergebnis
| colspan="2" | f(x)= || beliebiger Zahlenwert || Double || Rechenergebnis
|-
|}
|}


= Eigenschaften =
= Eigenschaften =
Das {{Manual_Objectcaption|Ausdruck(Expression)}}-Node bietet folgende Einstellparameter in den Eigenschaften (Properties).
Das {{Manual_Objectcaption|Ausdruck (Expression)}}-Node bietet folgende Einstellparameter in den Eigenschaften (Properties).
{| class="wikitable toptextcells"
{{DMXC3 Manual-Tableheader Settings | de}}
|- class="hintergrundfarbe10"
 
! colspan="2" | Einstellung !! style="width: 175px" rowspan="2" | Möglicher Parameter !! style="width: 175px" rowspan="2" | Standardwert !! rowspan="2" | Beschreibung
{{DMXC3 Manual-Tablesection | S1 | 5 | Einstellungen des Kernels (Kernel properties) }}
|- class="hintergrundfarbe10"
 
! style="width: 175px" | deutsche GUI !! style="width: 175px" | englische GUI
| colspan="2" | Name || beliebiger Text || Expression || Benutzerdefinierte Beschreibung des Nodes im Titel.
|-
|-
| colspan="2" | [Variable] || beliebiger Text || Expression || Benutzerdefinierte Beschreibung des Nodes im Titel.
| colspan="2" | Variables || beliebiger Text || <code>x; y</code> || Erstellung und Benennung von Variablen.
 
{{DMXC3 Manual-Tablesection | S2 | 5 | Eingänge (Inputs) }}
 
| colspan="2" | f(x)= || beliebiger Text || <code>y+x**2</code> || Funktion
|-
|-
|- class="hintergrundfarbe11"
| colspan="2" | [Variable] || beliebiger Zahlenwert || 1 || Variable und dazugehöriger Eingang.
| colspan="5" | '''Inputs'''


|-
{{DMXC3 Manual-Tablesection | S1 | 5 | Einstellungen der Oberfläche (GUI properties) }}
| colspan="2" | Name || beliebiger Text || Expression || Benutzerdefinierte Beschreibung des Nodes im Titel.


|- class="hintergrundfarbe11"
| colspan="5" | '''Einstellungen der Oberfläche (GUI properties)'''
|-
| colspan="2" | Position || X-Koordinate<br />Y-Koordinate || variabel || Manuelle Position in X-Richtung und Y-Richtung für das Node.
| colspan="2" | Position || X-Koordinate<br />Y-Koordinate || variabel || Manuelle Position in X-Richtung und Y-Richtung für das Node.
|}
|}
Zeile 56: Zeile 146:


[[Kategorie:Input Assignment DMXC3]]
[[Kategorie:Input Assignment DMXC3]]
[[Kategorie:Wrapper-Nodes DMXC3]]
[[Kategorie:Logic-Nodes DMXC3]]

Aktuelle Version vom 10. November 2024, 17:52 Uhr

Books.png Artikel beschreibt
DMXControl 3.3.0
Expression (Input Assignment) DMXC3
Inhaltsverzeichnis

A

B

C

D

E

F

G

H

K

L

M

N

O

P

R

S


Abbildung 1: Ausdruck (Expression) Node
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.


Wichtiger Hinweis 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.