MathPlus - Library mit häufig benötigten Mathefunktionen v2 110120

Diese Library enthält Annäherungen für viele häufig benötigte Mathefunktionen und kann ganz leicht in euren Skript eingebunden werden

Beschreibung

Diese Library enthält Annäherungen für viele häufig benötigte Mathefunktionen und kann ganz leicht in euren Skript eingebunden werden.

Installation

1. <kuid:388413:439002> dem script-include-table hinzufügen. Wenn es in der config des Mutterassets noch keinen gibt, erstelle einen neuen wie folgt:

Code: Beispiel
script-include-table
{
    0                                     <kuid:388413:439002>
}

(2. <kuid:388413:439002> dem kuid-table hinzufügen. Der Eintrag muss "mathplus" heißen:) Dieser Schritt ist in der V2 nur noch optional!

Code: Beispiel
kuid-table
{
    mathplus                              <kuid:388413:439002>
}

3. include "mathplus.gs" am Anfang eures Skripts einfügen

4. MathPlus MathPlus; bei den globalen Variabledeklarationen hinzufügen

5. Nun noch diesen Code in der Init-Funktion hinzufügen, um die Library zu laden: MathPlus = cast<MathPlus>World.GetLibrary(me.GetAsset().LookupKUIDTable("mathplus"));  Diese Schritte werden in der V2 nicht mehr benötigt!

Verfügbare Funktionen

public define float E = 2.7182818 (Eulersche Zahl, verfügbar via MathPlus.E)

public float Sqr(float x) (x²)

public float Pow(float base, float power) (Potenz zu beliebigem Exponent)

public float Floor(float input) (Abrunden zur nächst kleineren Ganzzahl)

public int IntFloor(float input)

public float Ceil(float input) (Aufrunden zur nächst größeren Ganzzahl)

public int IntCeil(float input)

public float Round(float input) (ganz normales Auf/Abrunden basierend auf der ersten Nachkommastelle)

public int IntRound(float input)

public bool IsReal(float input) (Ist die Zahl eine Ganzzahl?)

public bool IsNatural(float input) (ist die Zahl natürlich?)

public int Fact(int input) (Fakultät einer Zahl)

public float Sin(float x) (Trigonometrische Funktionen, standardmäßig mit Rad, alternativ mit Deg)

public float DegSin(float x)

public float Cos(float x)

public float DegCos(float x)

public float Tan(float x)

public float Exp(float x) (e^x)

Geplant

arcsin

arccos

arctan

Enthaltene KUIDs

<kuid:388413:439002>

Kritik, Wünsche, Verbesserungsvorschläge...

...sind gerne gesehen. Kürzere könnt ihr in die Kommentare des Downloads schreiben, längere bitte in den Thread, welchen ihr mit einem Klick auf den Button "Support-Thema" erreichen könnt :)


PS: Wer die Skriptdatei liest und den Kopf schüttelt: Die Funktionen sind so kompakt wie möglich gehalten, es wurde nicht viel ausgestaltet oder kommentiert. Das mache ich eigentlich nicht beim Programmieren, da hier aber viele Einzeiler vorkommen, welche man recht einfach verstehen kann und welche sich auch nicht kreuz und quer callen sondern schön von oben nach unten aufbauend, wurde an dieser Stelle auf große Pre-defs, Param-Erklärungen, usw verzichtet. Das meiste ist meiner Meinung nach selbsterklärend in diesem Fall.

  • Version v2 110120

    V2 is now using a static class which heavily simplifies loading the library. You might need to make a slight change to existing scripts if you get errors.

  • Version 070719

  • Die Funktionen in eine eigene static-Class und dann entfällt die Member Variable.... :)


    Edit: Ich habe mich dazu auch nochmal im Support-Thread geäußert.