📜  Lua-数学库(1)

📅  最后修改于: 2023-12-03 15:32:46.159000             🧑  作者: Mango

Lua-数学库介绍

Lua-数学库是Lua语言的标准库之一,它包含了一些常用的数学函数以及常量,可以帮助开发人员在程序中进行数学运算和计算。下面将详细介绍该库的用法和相关内容。

常用函数
  • math.abs(x):返回x的绝对值。
  • math.floor(x):返回不大于x的最大整数。
  • math.ceil(x):返回不小于x的最小整数。
  • math.max(x, y, ...):返回所有参数中的最大值。
  • math.min(x, y, ...):返回所有参数中的最小值。
  • math.sqrt(x):返回x的平方根。
  • math.exp(x):返回e的x次方。
  • math.log(x, base):返回x的对数,可指定底数,默认为e。
  • math.rad(x):将角度x转换为弧度。
  • math.deg(x):将弧度x转换为角度。
  • math.atan2(y, x):返回以弧度为单位的y/x的反正切值。
  • math.random([m [, n]]):返回一个[m, n]之间的随机整数,若未指定范围则返回[0, 1]之间的随机数。
  • math.randomseed(x):设置随机数种子。

除了以上函数,math库中还有一些三角函数和常量等,具体使用方法可以参考相关文档和示例。

备注事项
  1. math库中的一些函数要求参数类型为数字类型,如果传入非数字类型会报错。
  2. math.random种子如果不设置,则以系统时间为种子。相同的种子会产生相同的随机数序列。
示例代码
-- 计算圆的面积
local r = 5
local area = math.pi * math.pow(r, 2)
print(area)  --> 78.539816339745

-- 求两点之间的距离
local x1, y1 = 0, 0
local x2, y2 = 3, 4
local distance = math.sqrt(math.pow(x1-x2, 2) + math.pow(y1-y2, 2))
print(distance)  --> 5

-- 随机生成一个[10, 20]之间的整数
math.randomseed(os.time())
local random_int = math.random(10, 20)
print(random_int)