Formel

Übersicht
Die Formel-Node ist für jede mathematische Operation, egal wie komplex, zuständig. Mit ihr können einfache Formeln mit Addition (+), Subtraktion (-), Multiplikation (*) und Division (/) erstellt werden, aber auch Zugriff auf Sinus, Cosinus und Tangens besteht.
Inputs
| Eingabename | Typ | Beschreibung | Standardwert | Erforderlich |
|---|---|---|---|---|
Formelzeichen | Zahl, 2D-Vektor, 3D-Vektor, Boolean | Vergib ein Formelzeichen, um den Wert in der Formel zu verwenden. Verwende beliebig viele Formelzeichen. Formelzeichen sind nicht zwangsläufig erforderlich, aber sobald ein Formelzeichen eingetragen wird muss es auch einen Wert zugewiesen bekommen | - | Bedingt |
Eingabedetails
Formelzeichen
Vergib ein Formelzeichen, um den Wert in der Formel zu verwenden. Verwende beliebig viele Formelzeichen. Formelzeichen sind nicht zwangsläufig erforderlich, aber sobald ein Formelzeichen eingetragen wird muss es auch einen Wert zugewiesen bekommen. Theoretisch muss man aber auch gar kein Formelzeichen vergeben.
Parameter
| Parametername | Typ | Beschreibung | Standardwert |
|---|---|---|---|
Bezeichnung | Text | Wenn die Node klein gemacht wird erscheint diese Bezeichnung. Dieser Parameter dient nur der Übersichtlichkeit | - |
Debuggen | Checkbox | Lass dir das Ergebnis dieser Formel-Node im Generator in einem Debug-Fenster anzeigen. Der rote Punkt am Kopf der Formel-Node dient als weiterer Indikator dafür, dass diese Option aktiviert ist | Aus |
Outputs
| Ausgabename | Typ | Beschreibung |
|---|---|---|
Ergebnis | Zahl, 2D-Vektor, 3D-Vektor, Boolean | Das Ergebnis der Formelberechnung |
Ausgabedetails
Ergebnis
Das Ergebnis der Formelberechnung. Der Typ hängt von der Formel und den verwendeten Formelzeichen ab.
Verfügbare Operationen
Grundrechenarten
- Addition:
+ - Subtraktion:
- - Multiplikation:
* - Division:
/
Vergleichsoperatoren
- Gleichheit:
== - Ungleichheit:
!= - Größer als:
> - Kleiner als:
< - Größer oder gleich:
>= - Kleiner oder gleich:
<=
Logikoperatoren
- Und:
and - Oder:
or - Nicht:
not - Exklusives Oder:
xor
Mathematische Funktionen
- Potenz:
x ^ y - Fakultät:
x! - Wurzel:
sqrt(x) - Logarithmus:
log(x, b) - Sinus:
sin(x) - Cosinus:
cos(x) - Tangens:
tan(x)
Konstanten
- Kreiszahl:
pi
Nützliches
2D- und 3D-Vektoren sind mit der []-Schreibweise möglich: [1,2] gibt den 2D-Vektor mit x-Koordinate 1 und y-Koordinate 2 aus. Entsprechend gibt [1,2,3] den 3D-Vektor mit der x-Koordinate 1, y-Koordinate 2 und z-Koordinate 3 aus. Um auf den x Wert eines Vektors zuzugreifen wird ebenfalls eine eckige Klammer verwendet: Sagen wir das Formelzeichen Vektor3 bekommt einen 3D-Vektor als Wert. Die x-Koordinate des Vektors erhält man über die Schreibweise Vektor3[1], die y-Koordinate über Vektor3[2] und die z-Koordinate über Vektor3[3].
Es können auch Bedingungen abgefragt werden: Bedingung ? WertFallsWahr : WertFallsFalsch. Das ist nützlich wenn das Formelzeichen Bedingung den Wert einer Checkbox als Input erhält. Der eine Wert wird ausgegeben falls die Checkbox aktiv ist, falls nicht wird der andere Wert ausgegeben.
Es ist möglich Gleichheit von zwei Werten über == zu prüfen. x == y ist wahr wenn x und y den gleichen Wert haben. x != y ist wahr wenn x und y nicht den gleichen Wert haben.
Mit Hilfe von and, not, or und xor lassen sich die entsprechenden Logikoperatoren verwenden. x and y ist zum Beispiel immer dann wahr wenn x und y beide wahr sind. Ein etwas komplizierteres Beispiel könnte also so aussehen: Länge > Breite and Höhe >= 12. In diesem Beispiel wird geprüft ob die Länge größer ist als die Breite und gleichzeitig die Höhe auch größer oder gleich 12 ist.
Um Teilbarkeit zu prüfen kann der Modulus Operator verwendet werden: x % 2 gibt den Rest an der bei Division von x durch 2 übrig bleibt. 7 % 2 ist also 1, 8 % 2 ist 0. Um zu prüfen ob eine Zahl durch 2 teilbar ist kann man also die Formel (x % 2) == 0 verwenden.
Weitere Operationen
- Modulus:
x % y(Rest bei Division) - Bedingte Auswertung:
Bedingung ? WertFallsWahr : WertFallsFalsch - Vektor-Zugriff:
Vektor[1]für x-Koordinate,Vektor[2]für y-Koordinate,Vektor[3]für z-Koordinate