lua math

Posted Code~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua math相关的知识,希望对你有一定的参考价值。

参考手册:http://lua-users.org/wiki/MathLibraryTutorial

C源码: http://www.lua.org/source/5.1/lmathlib.c.html

 

abs: 返回指定值的绝对值

print(math.abs(10))                -- 10
print(math.abs(-5))                -- 5
print(math.abs(-1.02))             -- 1.02

cos/sin: 返回指定值的余弦/正弦

print(math.cos(0.5))            -- 0.87758256189037    
print(math.sin(0.5))            -- 0.4794255386042

acos/asin: 返回指定值的反余弦和正弦值

print(math.acos(0.5))        -- 1.0471975511966
print(math.asin(0.5))        -- 0.5235987755983

cosh/sinh: 返回指定值的双曲线余弦/正弦

print(math.cosh(0.5))            -- 1.1276259652064    
print(math.sinh(0.5))            -- 0.52109530549375

atan/atan2: 返回指定值的反正切

print(math.atan2(90, 45))            -- 1.1071487177941        
print(math.atan(0.5))                -- 0.46364760900081

deg: 将弧度转角度

print(math.deg(math.pi))        -- 180.0

rad: 将角度转弧度

print(math.rad(180))        -- 3.1415926535898

huge: 与平台相关,最大的数字常量

print(math.huge)         -- (Mac)inf

floor/ceil: 向负/正 无穷取整

print(math.floor(10.34))         -- 10
print(math.floor(-10.34))        -- -11

print(math.ceil(10.34))          -- 11
print(math.ceil(-10.34))         -- -10    

min/max: 返回参数列表下的最小/大值

print(math.min(5))            -- 5
print(math.min(1,5,-7))        -- -7
    
print(math.max(5))            -- 5
print(math.max(1,5,-7))        -- 5

exp: 返回e(自然对数的底数)为底的乘幂

print(math.exp(2))        -- 7.3890560989307

frexp: 返回双精度val解为尾数和以2为底的指数n,即val=x * 2n

print(math.frexp(10))        -- 0.625    4

Idexp: 返回指定值 * 2的n次方

print(math.ldexp(10, 3))        -- 80.0 即 value = 10 * 2^3

log10: 返回以10为基数的对数

print(math.log10(1000))         -- 3.0

log: 计算一个数字的自然对数

print(math.log(10))         -- 2.302585092994

sqrt: 返回指定值的平方根,注意仅允许非负参数

print(math.sqrt(-100))        -- nan 错误,要是非负整数
print(math.sqrt(25))        -- 5

pow(x,y): 返回x的y次方

print(math.pow(2, 3))        -- 8.0 即 2^3    
print(math.pow(5, 2))        -- 25.0 即 5^2

modf: 返回指定值的整型值和小数值

print(math.modf(10.13))        -- 10    0.13
print(math.modf(-5.89))        -- -5    -0.89

random,randomseed: 随机数相关

--[[
random的参数分为如下情况:
1. 不带参数时,生成[0, 1)之间的随机实数
2. 带一个整型参数时,生成[1,n] 之间的随机整数
3. 带两个整型参数时,生成[m,n]之间的随机整数

注意:
1. random的参数必须为整数
2. 使用之前,若未使用randomseed(设置随机种子)生成的随机数是伪随机数
3. 一般情况为避免伪随机,会把种子设置为:os.time() 这样可在一秒种后再调用函数获取新的序列
]]
math.randomseed(os.time())
print(math.random())             -- 0.2959274337627
print(math.random(10))           -- 1
print(math.random(11,99))        -- 57

 

以上是关于lua math的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 有用的代码片段和 trick

lua math库

lua math库

Lua中的一些库

lua math库

lua math库