Lua 接口说明书 · 996引擎LUA API REFERENCE · 5.1/5.3

数学库

MATH

数学运算:随机数、取整、三角函数、两点距离 | 本页 30 个接口。登录全站学员账号后:给函数打 ✓ 记录学习进度、写私人备注。

math.abs (x)
📖 用途

返回 x 的绝对值。

📥 参数
参数说明
x数字
📤 返回值

|x|

💻 用法案例
print(math.abs(-5))   --> 5
print(math.abs(3))    --> 3
math.acos (x)
📖 用途

反余弦函数,返回弧度。x 取值 [-1, 1]。

📥 参数
参数说明
x余弦值 [-1,1]
📤 返回值

弧度

💻 用法案例
print(math.acos(1))   --> 0
print(math.deg(math.acos(0.5)))  --> 60.0000...
math.asin (x)
📖 用途

反正弦函数,返回弧度。x 取值 [-1, 1]。

📥 参数
参数说明
x正弦值 [-1,1]
📤 返回值

弧度

💻 用法案例
print(math.deg(math.asin(1)))   --> 90
math.atan (x)
📖 用途

反正切函数,返回弧度。

📥 参数
参数说明
x正切值
📤 返回值

弧度

💻 用法案例
print(math.deg(math.atan(1)))   --> 45
math.atan2 (y, x)
📖 用途

反正切(双参数版):根据点 (x, y) 所在象限返回正确角度,是求“两点方向角”的标准做法(做弹道/朝向常用)。

📥 参数
参数说明
y纵向差
x横向差
📤 返回值

弧度(-π ~ π)

💻 用法案例
-- 求目标方向角(弧度转度)
local deg = math.deg(math.atan2(ty - my, tx - mx))
math.ceil (x)
📖 用途

向上取整:返回 ≥ x 的最小整数。

📥 参数
参数说明
x数字
📤 返回值

整数

💻 用法案例
print(math.ceil(3.2))    --> 4
print(math.ceil(-3.2))   --> -3
math.cos (x)
📖 用途

余弦函数,参数为弧度(角度要先 math.rad 转换)。

📥 参数
参数说明
x弧度
📤 返回值

余弦值 [-1,1]

💻 用法案例
print(math.cos(0))                    --> 1
print(math.cos(math.rad(60)))         --> 0.5
math.cosh (x)
📖 用途

双曲余弦函数。

📥 参数
参数说明
x弧度
📤 返回值

双曲余弦值

💻 用法案例
print(math.cosh(0))   --> 1
math.deg (x)
📖 用途

弧度转角度。

📥 参数
参数说明
x弧度
📤 返回值

角度

💻 用法案例
print(math.deg(math.pi))   --> 180
math.exp (x)
📖 用途

返回 e 的 x 次幂(自然指数)。

📥 参数
参数说明
x指数
📤 返回值

e^x

💻 用法案例
print(math.exp(0))   --> 1
print(math.exp(1))   --> 2.71828...
math.floor (x)
📖 用途

向下取整:返回 ≤ x 的最大整数。掉落/坐标取整最常用。

📥 参数
参数说明
x数字
📤 返回值

整数

💻 用法案例
print(math.floor(3.8))    --> 3
print(math.floor(-3.2))   --> -4
math.fmod (x, y)
📖 用途

取余(结果符号跟 x)。整数取余也可用运算符 %。

📥 参数
参数说明
x被除数
y除数
📤 返回值

余数

💻 用法案例
print(math.fmod(7, 3))     --> 1
print(math.fmod(-7, 3))    --> -1
math.frexp (x)
📖 用途

把 x 拆成尾数 m 与指数 e(x = m × 2^e,m ∈ [0.5, 1))。

📥 参数
参数说明
x数字
📤 返回值

m, e

💻 用法案例
print(math.frexp(8))   --> 0.5  4
math.huge
📖 用途

正无穷大常量(不是函数)。任何有限数都小于它;huge/huge 等特殊运算得 nan。

📥 参数

无参数

📤 返回值

(常量)

💻 用法案例
print(math.huge > 999999999)      --> true
print(1 / math.huge)              --> 0
print(math.huge / math.huge)      --> nan
math.ldexp (m, e)
📖 用途

math.frexp 的逆运算:返回 m × 2^e。

📥 参数
参数说明
m尾数
e指数
📤 返回值

m × 2^e

💻 用法案例
print(math.ldexp(0.5, 4))   --> 8
math.log (x)
📖 用途

自然对数(以 e 为底)。5.1 没有 log(x, base) 双参用法(5.2+ 才有),换底用 math.log(x)/math.log(base)。

📥 参数
参数说明
x正数
📤 返回值

自然对数

💻 用法案例
print(math.log(math.exp(1)))   --> 1
print(math.log(8,2) or math.log(8)/math.log(2))   --> 3
math.log10 (x)
📖 用途

以 10 为底的对数。

📥 参数
参数说明
x正数
📤 返回值

常用对数

💻 用法案例
print(math.log10(1000))   --> 3
math.max (x, ...)
📖 用途

返回所有参数中的最大值。配合 unpack 可求数组最大值。

📥 参数
参数说明
x,...多个数字
📤 返回值

最大值

💻 用法案例
print(math.max(3, 9, 6))             --> 9
print(math.max(unpack({5, 2, 8})))   --> 8
math.min (x, ...)
📖 用途

返回所有参数中的最小值。

📥 参数
参数说明
x,...多个数字
📤 返回值

最小值

💻 用法案例
print(math.min(3, 9, 6))   --> 3
math.modf (x)
📖 用途

把 x 拆成整数部分和小数部分(两个返回值)。

📥 参数
参数说明
x数字
📤 返回值

整数部分, 小数部分

💻 用法案例
print(math.modf(3.75))   --> 3  0.75
math.pi
📖 用途

圆周率 π 常量(3.14159...)。

📥 参数

无参数

📤 返回值

(常量)

💻 用法案例
print(math.pi)                    --> 3.14159...
print(math.cos(math.pi))          --> -1
math.pow (x, y)
📖 用途

返回 x 的 y 次幂(与 ^ 运算符等价,5.3 已弃用)。

📥 参数
参数说明
x底数
y指数
📤 返回值

x^y

💻 用法案例
print(math.pow(2, 10))   --> 1024
print(2 ^ 10)            --> 1024
math.rad (x)
📖 用途

角度转弧度(math.deg 的逆运算)。

📥 参数
参数说明
x角度
📤 返回值

弧度

💻 用法案例
print(math.rad(180))   --> 3.14159...
math.random ([m [, n]])
📖 用途

随机数:无参返回 [0,1) 小数;一个参数 m 返回 [1, m] 整数;两个参数返回 [m, n] 整数。Roll 点/掉落判定核心函数。

📥 参数
参数说明
m上限(或下限)
n上限
📤 返回值

随机数

💻 用法案例
print(math.random())          --> 0.7231...
print(math.random(6))         --> 掷骰子 1~6
print(math.random(80, 120))   --> 80~120 之间伤害

-- 按概率掉落(30%)
if math.random(100) <= 30 then print('掉落!') end
math.randomseed (x)
📖 用途

设置随机数种子。同种子产生相同随机序列(可复现),一般开机用 os.time() 做种子。

📥 参数
参数说明
x种子数字
📤 返回值

💻 用法案例
math.randomseed(os.time())
-- 之后 math.random 才有较好随机性
math.sin (x)
📖 用途

正弦函数,参数为弧度。

📥 参数
参数说明
x弧度
📤 返回值

正弦值 [-1,1]

💻 用法案例
print(math.sin(math.rad(30)))   --> 0.5
math.sinh (x)
📖 用途

双曲正弦函数。

📥 参数
参数说明
x弧度
📤 返回值

双曲正弦值

💻 用法案例
print(math.sinh(0))   --> 0
math.sqrt (x)
📖 用途

平方根(等价 x ^ 0.5)。两点距离公式必用。

📥 参数
参数说明
x非负数字
📤 返回值

平方根

💻 用法案例
print(math.sqrt(144))   --> 12
local dist = math.sqrt((x2-x1)^2 + (y2-y1)^2)   -- 两点距离
math.tan (x)
📖 用途

正切函数,参数为弧度。

📥 参数
参数说明
x弧度
📤 返回值

正切值

💻 用法案例
print(math.tan(math.rad(45)))   --> 1.0
math.tanh (x)
📖 用途

双曲正切函数,结果恒在 [-1, 1]。

📥 参数
参数说明
x弧度
📤 返回值

双曲正切值

💻 用法案例
print(math.tanh(0))   --> 0
Lua 接口说明书 · 996引擎教学资料 · chuan2.cn · 共 136 个接口
📝 我的备注-
👤 学员中心 · 备注与学习进度