Lua_第17 章 数学库
来源:互联网 发布:2016淘宝618抢红包 编辑:程序博客网 时间:2024/04/30 14:16
第17 章 数学库
在这一章中(下面关于标准库的几章中同样)我的主要目的不是对每一个函数给出完整地说明,而是告诉你标准库能够提供什么功能。为了能够清楚地说明问题,我可能 会忽略一些小的选项或者行为。主要的思想是激发你的好奇心,这些好奇之处可能在参考于册中找到答案。
数学库由算术函数的标准集合组成,比如三角函数库(sin, cos, tan, asin, acos, etc.), 幂指函数(exp, log, log10),舍入函数(floor, ceil)、max、min,加上一个变量 pi。数学库也定义了一个幂操作符(^)。
所有的三角函数都在弧度单位下工作。(Lua4.0 以前在度数下工作。)你可以使用 deg 和 rad 函数在度和弧度之间转换。如果你想在 degree 情况下使用三角函数,你可以重定 义三角函数:
local sin, asin, ... = math.sin, math.asin, ...local deg, rad =math.deg, math.radmath.sin = function (x) return sin(rad(x)) endmath.asin = function (x) return deg(asin(x)) end...
math.random 用来产生伪随机数,有三种调用方式:
第一:不带参数,将产生 [0,1)范围内的随机数.
第二:带一个参数 n,将产生 1 <= x <= n 范围内的随机数 x.
第三:带两个参数 a 和 b,将产生 a <= x <= b 范围内的随机数 x.
你可以使用 randomseed 设置随机数发生器的种子,只能接受一个数字参数。通常在 程序开始时,使用国定的种子初始化随机数发生器,意味着每次运行程序,将产生相同 的随机数序列。为了调试方便,这很有好处,但是在游戏中就意味着每次运行都拥有相同的关卡。解决这个问题的一个通常的技巧是使用当前系统时间作为种子:
math.randomseed(os.time())
(os.time 函数返回一个表示当前系统时间的数字,通常是自新纪元以来的一个整 数。)
- Lua_第17 章 数学库
- Lua_第18 章 Table 库
- Lua_第19章 String 库(下)
- Lua_第 20 章 IO库
- Lua_第 21 章 操作系统库
- Lua_第22章 Debug 库
- Lua_第3 章 表达式
- Lua_第 5 章 函数
- Lua_第 13 章环境
- Lua_第 14 章 Packages
- Lua_第19章 String 库(上)
- Lua_ 第 2章 类型和值
- Lua_第 4 章 基本语法
- Lua_第 6 章 再论函数
- Lua_第 12 章 Metatables and Metamethods
- Lua_第 15 章 面向对象程序设计
- Lua_第16 章 Weak 表
- Lua_第23章 C API 纵览
- 入职培训感悟
- IPTABLES 规则(Rules)
- iOS 第三方框架-MBProgressHUD mark下
- AFNetworking3.0.4的使用
- chrome的Timing参数说明
- Lua_第17 章 数学库
- Ubuntu 14.04环境下使用QQ
- Git status,diff
- 语音识别
- 16年第一个电面
- [问题记录.dotnet]取网卡信息报错"找不到"-WMI - Not found
- c++第二次上机实验作业
- 二叉树构建,先序,中序,后序遍历(以及非递归实现),广度优先遍历
- Redis常用命令