Fonctions mathématiques.
Lua fournit tout une gamme de fonctions mathématiques.
Pour obtenir plus de précisions sur une des fonctions présentes ci-desous, cliquez sur celle de votre choix.
Retourne la valeur absolue de x.
math.abs(-100)
Résultat = 100.
Retourne l'arc cosinus de x. (en radians)
math.acos(0)
Résultat = 1.5707963267949
Retourne l'arc sinus de x. (en radians)
math.asin(1)
Résultat = 1.5707963267949
Renvoie l'inverse de la tangente.
c, s = math.cos(0.8), math.sin(0.8)
math.atan(s/c)
Résultat = 0.8
Ici nous fournissons le résultat de s divisé par c (s/c).
Renvoie l'inverse de la tangente.
c, s = math.cos(0.8), math.sin(0.8)
math.atan2( c, s )
Résultat = 0.8
Cette fonction doit être utilisée de préférence et en particulier quand on convertit des coordonnées rectangulaires en coordonnées polaires.
math.atan2 emploie le signe des deux arguments pour placer le résultat dans le quart de cercle correct, et produit également des valeurs correctes quand un de ses arguments est 0 ou très de près de 0.
Retourne le plus petit entier supérieur ou égal à x.
math.ceil(0.5)
Résultat = 1
Retourne le cosinus de x. (supposé être en radians).
math.cos(math.pi/4)
Résultat = 0.70710678118655
Retourne le cosinus hyperbolique de x.
Retourne l'angle x en degrés.
math.deg( x )
x est donné en radians.
Retourne la valeur e puissance x.
math.exp( x )
e = base des logarithmes normaux.
Retourne le plus grand entier inférieur ou égal à x.
math.floor(0.5)
Résultat = 0
Retourne le reste d'une division x/y.
math.fmod(42,5)
Résultat = 2
Vous pouvez aussi utiliser l'opérateur %.
1%6 est équivalent à math.fmod(1, 6).
Retourne m et e tel que x = m*2^e.
math.frexp( x )
e est un entier et la valeur absolue de m est dans l'intervalle (0.5, 1) (ou zéro lorsque x est égal à zéro) .
Retourne le logarithme de ...
math.log( x, base )
Retourne le logarithme de x en fonction de base.
Par défaut, base est égale à e.
De sorte que la fonction retourne le logarithme naturel de x.
Retourne le plus grand nombre contenu dans liste.
math.max(1.2, -7, 3)
Résultat = 3
Retourne le plus petit nombre contenu dans liste.
math.min(1.2, -7, 3)
Résultat = -7
Retourne deux nombres.
math.modf( x )
Retourne deux nombres, la partie entière de x et la partie
fractionnaire de x.
Retourne la valeur de pi.
math.pi
Résultat = 3.1415926535898
Retourne x à la puissance y.
math.pow( x, y )
Vous pouvez aussi utiliser l'expression: x^y.
Retourne l'angle x en radians.
math.rad( x )
x est donné en degrés.
Générateur de nombres pseudo-aléatoires.
math.random( m, n )
Cette fonction est une interface pour un générateur de nombre pseudo-
aléatoire fournie par l'ANSI C. (Aucune garantie ne peut être donnée
pour ses propriétés statistiques.)
Lorsqu'elle est appelée sans argument, math.random retourne un nombre
pseudo-aléatoire réel dans l'intervalle [0,1].
Lorsqu'elle est appelée avec un nombre entier m, math.random retourne
un nombre pseudo-aléatoire entier dans l'intervalle [1, m].
Lorsqu'elle est appelée avec deux nombres entiers m et n, math.random
retourne un nombre pseudo-aléatoire entier dans l'intervalle [m, n].
Générateur de nombres pseudo-aléatoire à partir d'une base.
math.randomseed( x )
Définit x comme la "base" pour le générateur de nombre pseudo-aléatoire:
Une bonne base est os.time(), mais il faut attendre au moins une seconde
avant d'appeler la fonction pour obtenir un autre nombre aléatoire!
Pour obtenir une suite de nombres aléatoires:
math.randomseed( os.time() )
L'initialisation devrait pouvoir être meilleure si Lua pouvait obtenir
des millisecondes de os.time()...
Mais prenez garde! Le premier nombre aléatoire que vous obtenez n'est
pas vraiment aléatoire."
Pour obtenir un meilleur nombre pseudo-aléatoire il faudrait pouvoir
générer plusieurs nombres aléatoires, avant d'en obtenir un vrai.
Retourne le sinus de x. (en radians)
math.sin(0.123)
Résultat = 0.12269009002432
Retourne le sinus hyperbolique de x.
math.sinh(1)
Résultat = 1.1752011936438
Retourne la racine carrée de x.
math.sqrt( x )
Vous pouvez également utiliser l'expression x^0,5 pour calculer cette valeur.
Retourne la tangente de x. (en radians)
math.tan(5/4)
Résultat = 3.0095696738628
Retourne la tangente hyperbolique.