第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++ Prime 学习笔记】第17章 标准库特殊设施

    17.1 tuple类型 tuple是类似pair的模板: pair和tuple的成员类型都可以不相同 pair恰好有两个成员,tuple可有任意数量的成员 按照不同参数数量和类型实例化出的tuple ...

  2. C++ Primer 5th 第17章 标准库特殊设施

    C++新标准库提供了很多新功能,它们更加强大和易用. tuple类型 tuple是一种类似pair的模板,pair可以用来保存一对逻辑上有关联的元素对.但与pair不同的是,pair只能存储两个成员, ...

  3. 【STM32H7教程】第17章 STM32H7之GPIO的HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第17章       STM32H7之GPIO的HAL库API ...

  4. Python 3标准库 第五章 数学运算

    第五章数学运算-----------------------上下文解释:编程时,我们一般也是先给程序定义一些前提(环境变量.描述环境变化的全局变量等),这些“前提”就是上文,然后再编写各功能模块的代码 ...

  5. Chapter 18_0 数学库

    从今天起,开始接触Lua的标准库(数学库.table库.字符库.I/O库.操作系统库.调试库). 一路走来,从最基本的变量.函数.迭代器.协同程序到稍微复杂的元表.元方法.环境.模块,以及最后被整蒙了 ...

  6. 【RL-TCPnet网络教程】第17章 RL-TCPnet之UDP通信

    第17章      RL-TCPnet之UDP通信 本章节为大家讲解RL-TCPnet的UDP通信实现,学习本章节前,务必要优先学习第16章UDP用户数据报协议基础知识.有了这些基础知识之后,再搞本章 ...

  7. 第17章 EXTI—外部中断/事件控制器

    第17章     EXTI—外部中断/事件控制器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...

  8. 第17章 EXTI—外部中断/事件控制器—零死角玩转STM32-F429系列

    第17章     EXTI—外部中断/事件控制器 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...

  9. DirectX11 学习笔记6 - 使用D3DXMATH数学库的一个样例

    这个样例是在之前的样例基础上 .把之前d3dx10math数学库换成了最新的d3dxmath.长处就不说了.先上效果图 所有代码.以及效果文件 文件结构 所有代码: 依照上图的文件顺序 #pragma ...

随机推荐

  1. 2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15)

    NEERC 15 题解1 题解2 官方题解

  2. foj Problem 2275 Game

    Problem D Game Accept: 145    Submit: 844Time Limit: 1000 mSec    Memory Limit : 262144 KB Problem D ...

  3. 从0到1:全面理解RPC远程调用

    上一篇关于 WSGI 的硬核长文,不知道有多少同学,能够从头看到尾的,不管你们有没有看得很过瘾,反正我是写得很爽,总有一种将一样知识吃透了的错觉. 今天我又给自己挖坑了,打算将 rpc 远程调用的知识 ...

  4. .NET Core 微服务之Polly重试策略

    接着上一篇说,正好也是最近项目里用到了,正好拿过来整理一下,园子里也有一些文章介绍比我详细. 简单介绍一下绍轻量的故障处理库 Polly  Polly是一个.NET弹性和瞬态故障处理库 允许我们以非常 ...

  5. 数据结构自己实现——queue

    SeqQueue.h #define QueueSize 100 typedef char DataType; class SeqQueue { public: DataType data[Queue ...

  6. iOS 总结网页常用的东西

    webView与js交互常用JS语句::: 1. //禁用用户选择 [self.webView stringByEvaluatingJavaScriptFromString:@"docume ...

  7. Hibernate游记——装备篇《二》(基础配置示例)

    <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...

  8. 二、git remote

    为了便于管理,Git要求每个远程主机都必须指定一个主机名 git remote命令就用于管理主机名. 不带选项的时候,git remote命令列出所有远程主机 $ git remote origin ...

  9. ASP.NET MVC Identity 使用自己的SQL Server数据库

    之前在网上看到的一篇后来找不到了,现在自己记录一下. 1.在web.config中添加一个数据库连接. <add name="dataContext" connectionS ...

  10. (5)DataSet

    DataTable赋值给DataSet DataSet ds = new DataSet(); DataTable dt1 = new DataTable(); DataTable dt2 = new ...