第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.rad
math.sin = function (x) return sin(rad(x)) end
math.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 章 数学库相关推荐

  1. C++ Primer系列 第17章 标准库特殊设施

    C++ Primer系列 第17章 标准库特殊设施 17.1 tuple类型 17.1.1 定义和初始化tuple 17.1.2 使用tuple返回多个值 17.2 bitset类型 17.2.1 定 ...

  2. 《C++Primer》第十七章 标准库特殊设施

    第十七章 标准库特殊设施 tuple类型 tuple是类似pair的模板,每个pair的成员类型都不相同,但是每个pair恰好有两个成员.我们希望将一些数据组合成单一对象,但又不想麻烦地定义一个新数据 ...

  3. 数学:确定性的丧失---第十三章 数学的孤立

    发信人: paradax (秀树*冬眠中...), 信区: Philosophy 标  题: 数学:确定性的丧失(14) 发信站: 北大未名站 (2002年10月23日22:40:11 星期三), 转 ...

  4. math-neon基于NEON指令的数学库

    这是一个开源的库,地址为https://code.google.com/p/math-neon/,根据项目介绍应该是利用neon指令实现的数学库:包括三角.对数.指数等基于浮点的运算实现,以及矩阵运算 ...

  5. 线性回归 php,PHP实现简单线性回归之数学库的重要性

    简介 与其它开放源码语言(比如 Perl 和 Python)相比,php 社区缺少强有力的工作来开发数学库. 造成这种状况的一个原因可能是由于已经存在大量成熟的数学工具,这可能阻碍了社区自行开发 PH ...

  6. 第二章 数学运算、数组、文字处理

    第二章 数学运算.数组.文字处理.md 知识要点 数学运算 数组的使用 seq tr sort uniq cut 等命令 数学运算 整数运算 常用的运算符 加法运算符:+ 减法运算符:- 乘法运算符: ...

  7. 数学:确定性的丧失--第一章 数学真理的起源

    发信人: paradax (秀树*冬眠中...), 信区: Philosophy 标  题: 数学:确定性的丧失(2) 发信站: 北大未名站 (2002年10月23日22:32:42 星期三), 转信 ...

  8. Unix/Linux下的Curses库开发指南——第二章 curses库I/O处理

    第2章 curses库I/O处理 2.1 curses库简介 curses库是curses开发包中最重要的一个库,其中提供了一些基本的屏幕操作函数,包括输入/输出,屏幕初始化,屏幕处理中断以及窗口的创 ...

  9. Unix/Linux下的Curses库开发指南——第三章curses库窗口

    第3 章 curses 库窗口 3 .1 curses 窗口简介 3.1.1窗口概念 窗口是 curses 库中最重要的一个组件,它实际上是屏幕上的一块矩形区域,在上面我们可以进行各种输出以及操作. ...

最新文章

  1. bugzilla dbd-mysql_在Red Hat Linux下安装配置Bugzilla
  2. php aapt apk 包名,aapt 命令可应用于查看apk包名、主activity、版本等很多信息
  3. python常用函数和操作_python一条语句分析几个常用函数和概念 -
  4. mysql异步查询 java_基于 mysql 异步驱动的非阻塞 Mybatis
  5. 使用vSphere Web Client导出/导入/还原分布式交换机配置(2034602)
  6. 将字符串放到字符串数组中
  7. webtop搭建简单知识库粗略介绍
  8. 《Unix网络编程卷1:套接字联网API》读书笔记
  9. Linux系统平均负载3个数字的含义
  10. python对称加密_【Python】 基于秘钥的对称加密
  11. java中的时间片概念_java中常用的时间处理类TimeUtil
  12. 安卓输入法 车机版_触宝输入法HD
  13. 不靠加速器 路由配置也可扭转网游战局
  14. 数学模板-欧几里德算法扩展欧几里德算法
  15. 有道计算机网络知识,网易有道推广介绍1 让你了解到网易的知识。。。.pptx
  16. request请求 下载附件
  17. 怎么用ai做出适量插画_用AI打造矢量人像插画
  18. 在win7上安装python3.8 + Robotframework -RIDE,启动报错
  19. 【C语言】输入一个正整数 n,输入 n 个数,生成一个 n*n 的矩阵, 矩阵中第 1 行是输入的 n 个数,以后每一行都是上一行循环左移一个元素。
  20. java 基础库_Java基础类库

热门文章

  1. [zz]zookeeper的配置项
  2. AJAX的安全性及AJAX安全隐患
  3. Windows WorkFlow Foundation学习资源
  4. 微信如何解绑小程序_微信小程序该如何运营推广
  5. python语言input和if else的嵌套使用_Linux平台下Python if、if..else、if..elif..else、嵌套if语句...
  6. leetcode最小面积_Code Review Swift 算法题: 最小面积矩形  Leetcode 的动人之处
  7. MySQL高级 - 查询缓存 - 配置参数
  8. SpringSecurity权限控制之异常处理方式一
  9. 往IOC 容器中添加组件的方式
  10. 内置锁的能力不足以满足需求