Lua數學庫(標準庫相關)

2021-10-03 01:37:19 字數 1078 閱讀 6206

在這一章中(下面關於標準庫的幾章中同樣)我的主要目的不是對每乙個函式給出完整地說明,而是告訴你標準庫能夠提供什麼功能。為了能夠清楚地說明問題,我可能會忽略一些小的選項或者行為。主要的思想是激發你的好奇心,這些好奇之處可能在參考手冊中找到答案。

數學庫由算術函式的標準集合組成,比如三角函式庫(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中的數學庫

lua5.1中數學庫的所有函式如下表 math.pi 為圓周率常量 3.14159265358979323846 abs取絕對值 math.abs 15 acos 反余弦函式 math.acos 0.5 1.04719755 asin 反正弦函式 math.asin 0.5 0.52359877 a...

Lua中的數學庫

lua5.1中數學庫的所有函式如下表 math.pi 為圓周率常量 3.14159265358979323846 abs取絕對值 math.abs 15 15 acos 反余弦函式 math.acos 0.5 1.04719755 asin 反正弦函式 math.asin 0.5 0.5235987...

Lua中的數學庫

math.pi 為圓周率常量 3.14159265358979323846 abs 取絕對值 math.abs 15 15 acos 反余弦函式 math.acos 0.5 1.04719755 asin 反正弦函式 math.asin 0.5 0.52359877 atan2 x y的反正切值 m...