====== 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//