Benutzer-Werkzeuge

Webseiten-Werkzeuge


godot:syntax:mathe

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 )

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

godot/syntax/mathe.txt · Zuletzt geändert: 2020/10/11 22:48 (Externe Bearbeitung)