[[http://www.siedler-games.de|{{:sg-link.jpg|}}]] ===== Rechenoperationen ===== Die meisten werden sie zwar kennen, aber sie sollen hier benannt werden. ^Operator^Beschreibung^ Beispiel ^ Beispiel ^ | **+** |Dient zur Addition von Werten :|''c = a + b'' | ''1 + 3 = 4'' | | **-** |Dient zur Subtraktion von Werten :|''c = a - b'' | ''5 - 3 = 2'' | | ***** |Dient zur Multiplikation von Werten :|''c = a * b'' | ''2 * 3 = 6'' | | **/** |Dient zur Division von Werten :| ''c = a / b'' | ''8 / 2 = 4'' | | **^** |Dient zur Expotentiation von Werten :|''c = a ^ b'' | ''2 ^ 3 = 8'' | | **-** |Nochmal **-** ,Dient zur Negation von Werten |''c = - a''| wenn a == 2, dann c == -2| ===== Mathematische Funktionen ===== In Lua kennen wir folgende mathematische Funktionen: ^Funktion^Beschreibung^Funktion^Beschreibung^ |**math.abs**|Der absolute Wert (Betrag)|math.acos| Der arcus cosinus | |math.asin|Der arcus sinus |**math.atan**|Der arcus tangens| |**math.atan2**|Der arcus tangens|**math.ceil**|Aufrunden| |math.cos|Der cosinus |math.deg| Umwandlung von rad zu Grad| |math.exp|für e hoch X|**math.floor**|Abrunden| |**math.frexp**|Normalisierungsfunktion|**math.ldexp**|Normalisierungsfunktion| |math.log|Der natürliche Logarithmus zur Basis e|math.log10|Der Logaritmus zur Basis 10| |**math.max**|Liefert die größte Zahl|**math.min**|Liefert die kleinste Zahl| |math.mod|Rest, wenn Zahl1 / Zahl2|**math.pi**|Konstante Pi ~3,14| |math.pow|für X hoch Y|math.rad|Umwandlung von Grad zu rad| |math.random|Zufallszahl|math.randomseed|Bessere Zufallszahlen initialisieren| |math.sin|Der sinus |**math.sqrt**|Die 2. Wurzel| |math.tan|Der tangens|||\\ Zu beachten ist, das alle Winkelangaben im Bogenmaß zu machen sind (0-360° entspricht im Bogenmaß 0 - 2π). Einen Winkel von 90° kann man also entweder als math.pi/2 angeben oder man benutzt die Funktion zum Umrechnen math.rad(90). Die **//fettgedruckten//** Funktionen werden hier nachfolgend kurz beschrieben:\\ ^**math.abs**| Der Absolute Wert einer Zahl. D.h. ohne Vorzeichen **math.abs ( - 2 ) ist 2** und **math.abs ( + 2 ) ist auch 2** ^**math.atan** und **math.atan2**| Der Arkustangens einer Zahl. Der Unterschied besteht darin, dass man bei **math.atan** die Werte für Sinus und Cosinus selbst durcheinander teilen muss, während man bei **math.atan2** einfach nur die beiden Werte übergeben braucht.\\ Sinus und Cosinus bestimmen: **c, s = math.cos(0.8), math.sin(0.8)**\\ Kotangens: **math.atan(s/c)** ergibt **0.8** oder\\ Kotangens: **math.atan2(s,c)** ergibt **0.8** ^**math.ceil**| Rundet eine Zahl auf. aus **math.ceil (3.01) wird 4** ^**math.floor**| Rundet eine Zahl ab. aus **math.floor (3.99999) wird 3** \\ Korrekt auf oder abrunden kann man mit **math.floor ( Zahl + 0.5 )** ^**math.frexp**| Liefert den normierten Wert ([0.5 | 1[) und den Exponenten der Zahl zurück.\\ **math.frexp(2)** liefert **0.5** und **2** zurück\\ **math.frexp(3)** liefert **0.75** und **2** zurück\\ **math.frexp(4)** liefert **0.5** und **3** zurück\\ **math.frexp(5)** liefert **0.625** und **3** zurück\\ ^**math.ldexp**| Wandelt einen normierten Wert ([0.5 | 1[) und seinen Exponenten in eine Fließkommazahl um.\\ **math.ldexp(0.5, 2)** liefert **2** zurück\\ ^**math.max**| Liefert die größte Zahl aus einer Reihe von Zahlen.\\ **math.max( 2,5,1.3,7,14,8) ergibt 14** ^**math.min**| Liefert die kleinste Zahl aus einer Reihe von Zahlen.\\ **math.min( 2,5,1,7.4,14,8) ergibt 1** ^**math.sqrt**| Die Wurzel aus einer Zahl\\ **math.sqrt ( 9 ) ergibt 3** ^**math.pi**| Eigentlich eine Konstante.\\ **math.pi ergibt immer ~3.1415926535898** \\ Wer es genauer wissen will: http://www.pibel.de/ \\ \\ [[:tutorials:index|Zur Tutorial-Übersicht]]