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   函數返回一個表示當前系統時間的數字,通常是自新紀元以來的一個整 數。)


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



Lua_第 20 章 IO庫 Lua_第 6 章 再論函數 Lua_第23章 C API 縱覽 Lua_第3 章 表達式 Lua_第25章 調用 C 函數 Lua中的數學庫 Lua_模塊與包_009 LUA中的數學庫介紹 Lua_獲取文件擴展名 Lua_文件I/O_012
 
粤ICP备14056181号  © 2014-2021 ITdaan.com