====== Mathefunktionen ======
===== Runden =====
| float | round ( float s ) | Rundet bei über 0.5 auf und unter 0.5 ab |
| float | floor ( float s ) | rundet ab auf die nächstkleinere Ganzzahl |
| float | ceil ( float s ) | rundet auf die nächstgrößere Ganzzahl |
===== Vorzeichen =====
| float | abs ( float s ) | gibt den Absolutwert (ohne Vorzeichen) |
| float | sign ( float s ) | -1 bei Zahl unter 0; 0 bei 0; 1 bei Zahl über Null |
===== Zufallszahlen =====
| void | randomize ( ) | initialisiert die Zufallszahl |
| float | randf ( ) | Zufallszahl zwischen Null und 1 |
| int | randi ( )%100 | Liefert Zufallszahl zwischen 0 und 99 |
| float | rand_range ( float from, float to ) | |
| Array | rand_seed ( int seed ) | |
| void | seed ( int seed ) | initialisiert die Zufallszahl mit festen Wert |
===== Begrenzen =====
| float | clamp ( float value, float min, float max ) Hält den Wert zwischen min und max |
| float | max ( float a, float b ) | liefert den größeren der beiden Werte |
| float | min ( float a, float b ) | liefert den kleineren der beiden Werte |
| float | wrapf ( float value, float min, float max ) | Zählt die Fließkommazahl innerhalb von min und max weiter |
| int | wrapi ( int value, int min, int max ) | Zählt die Ganzzahl innerhalb von min und max weiter |
===== Potenzen =====
| float | pow ( float x, float y ) | x hoch y |
| float | sqrt ( float s ) | Quadratwurzel von s |
| int | nearest_po2 ( int value ) | Gibt die nächstgrößere Potenz von 2 für den Ganzzahlwert zurück |
===== Lineare Interpolation =====
| Variant | lerp ( Variant from, Variant to, float weight ) | |
| float | inverse_lerp ( float from, float to, float weight ) | |
{{ :godot:syntax:lerp.png?200|}}
Y3 = lerp(Y1, Y2, X3)\\
Der erste Parameter enthält den Y1 Wert an Position X1.
Der zweite Parameter enthält Y2 an der Position X2 welche sich um den Abstand von 1 weiter rechts befindet.
Durch diese beiden Punkte wird eine Linie gezogen.
Der dritte Parameter Enthält die Position auf der X-Achse X3
Die Funktion liefert die Position von Y3 über den Schnittpunkt zwischen X3 und der Linie.
Die Funktion verarbeitet neben einfachen Zahlen auch 2D- und 3D-Vektoren.
===== Range =====
Der Befehl array = range(x) liefert ein Array von 0 bis x-1.\\
Der Befehl array = range(y, x) liefert ein Array von y bis x-1.\\
Der Befehl array = range(y, x, z) liefert ein Array von 0 bis x-1 mit einer Schrittweite von z.\\
Dieser Befehl wird hauptsächlich für die FOR-Schleife verwendet.
for a in range(5):
print(a) # es werden die Zahlen 0,1,2,3,4 ausgegeben
===== Rest =====
| float | log ( float s ) | |
| float | ease ( float s, float curve ) | |
| float | exp ( float s ) | |
^ ^ ^ ^
| float | fmod ( float x, float y ) | rest von x/y |
| float | fposmod ( float x, float y ) | |
^ ^ ^ ^
| float | decimals ( float step ) | liefert die Position der ersten Ziffer hinter dem Komma, welche nicht Null ist |
^ ^ ^ ^
| float | linear2db ( float nrg ) | konvertiert von linearer Energie in Dezibel (Audio) |
| float | db2linear ( float db ) | |
===== Modulo-Rechenoperator % =====
Diese Funktion gibt den Rest einer Division zurück.
print(11/3, " Rest ", 11%3)
Ausgabe: 3 Rest 2
Der Rest ist die Differenz zwischen dem Dividenden und dem größten Vielfachen des Divisors.
Ein interessantes Anwendungsbeispiel ist die Ausgabe eines Vielfachen des Modulo Wertes.
for x in range(15):
if x%3 == 0:
print(x)
Ausgegeben wird: 0, 3, 6, 9, 12
====== Constanten ======
| PI = 3.141593 | Konstante die angibt, wie oft der Durchmesser eines Kreises, um seinen Umfang herum passt. |
| TAU = 6.283185 | Der Umfang des Einheitskreises. |
| INF = inf | positive Unendlichkeit (Für negative Unedlichkeit, benutze -INF). |
| NAN = nan | Macro constant that expands to an expression of type float that represents a NaN. |
--- //windy -- 10.04.2019//