• Lua_第17 章 数学库


    第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   函数返回一个表示当前系统时间的数字,一般是自新纪元以来的一个整 数。)

  • 相关阅读:
    Why Visual Studio Team System Isn't A LoadRunner Killer[转载]
    从键盘判断电脑主人
    LoadRunner中添加weblogic监视器(JMX)
    winrunner事务概念的代码应用(毫秒级)
    Delphi中的线程类
    换工作时如何提高自身的待遇(转贴)
    牛人是怎样用函数实现本地化测试的
    肯德基的见闻
    由 12306.cn 谈谈网站性能技术
    20个优秀的 CSS 网格系统(CSS Grid Systems)推荐
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7219294.html
Copyright © 2020-2023  润新知