Skip to content

Formel

Formel Node

Ü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

EingabenameTypBeschreibungStandardwertErforderlich
FormelzeichenZahl, 2D-Vektor, 3D-Vektor, BooleanVergib 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

ParameternameTypBeschreibungStandardwert
BezeichnungTextWenn die Node klein gemacht wird erscheint diese Bezeichnung. Dieser Parameter dient nur der Übersichtlichkeit-
DebuggenCheckboxLass 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 istAus

Outputs

AusgabenameTypBeschreibung
ErgebnisZahl, 2D-Vektor, 3D-Vektor, BooleanDas 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

Verwandte Nodes

Siehe auch